Friday, July 6, 2018

Testing my own obfuscator for .NET(C#) and it works like a charm ^_^Y

I tested my own .NET  obfuscation, if you ILSpy the ZGDK.DLL something like this will be shown.
Only Internal and Private Methods,Properties, local Member will be obfuscated.

Wednesday, July 4, 2018

My Final entry on Tower Defense Challenge at

Lemme check if I meet at least the minimum requirements of the challenge:


1). [_/]   Menu menu and a way to return to the main menu

2). [_/]  Tower defense game play mechanics 

      * PLAY IT! It's contains the basic element of TD game style

3). [_/]  Score system 

      * Done - Scoring via energon points due to game style.

4). [_/]  Game over screen 

      * Done - Mission Failed with audio

5). [_/]  Winner screen

      * Done - Congratulation with audio.

6). [/]  Audio: 1 music track and/or sound effects (firing, enemies being hit, etc)
      * Done all :  Music Background+ambient [/]firing [/]enemies being hit [/] etc.

7). [/]  Game may be in 2D or 3D 
      * Done in 3D : using MonoGame framework + ZGDK-MG engine


A). [/] At least 1 map/level

* Done at least 1 level map

B). [_/] 20 Different waves 

      * Done - although it on shows 10 Waves each wave consist of multiple waves.
                     more or less it consist of 20 enemy waves.

C). [_/] Waves can be same sprites or mix of sprites
D). [_/] Waves need to differ in some way - speed, health, abilities, different enemies, etc

     * Done - So far I only have 3 enemy ships and each ship has it's own specifications

E). [_/]  Must have a Boss wave to end the level
    * Done - Enemy mothership will fight at the end of the level

F). [_/] Point system awards per enemy killed and wave completed

     * Done - Energon points are rewarded when kills an enemy, points
       received differs on each enemy class.

G). [_/] Player/base health reduced for each enemy that reaches the end of the path

   * Done - Due to game style enemy must be destoy before it destoyed mothership.

H). [_/] 5 or more possible towers to build with the possibility to upgrade each tower

   * Done - Miner and Post Turret has different upgrade type and has upgrade status ^_^Y

I). [_/] Towers can be built anywhere outside the moving path
J). [_/] Must be a way to prevent player from blocking the maze

  * Done - due to game style each ship must be put on grid
                  and each ship has it's own AI in free space.

Well, that's pretty much it ^ _^ Y

Download alpha prototype : DOWNLOAD PAGE

Tuesday, May 15, 2018

Current screen shots of my entry on GameDev Challenge : TOWER DEFENSE

EARTH ALLEGIANCE : Defender of Celestial Sphere




#ZGDK #ZNET #MonoGame #EarthAllegiance #SoloDev

Friday, May 4, 2018

Delgine DeleD DMF file loader with Baked Light Maps for ZGDK-MG

A work in progress for loading a DeleD DMF file with Light Maps, it's a cool idea to have a world map with baked light maps for fast rendering than to cast a real time shadow of a world map.

I'm not using MonoGame mesh file content pipe line importer for my implementation, this is a direct custom file loader using ZGDK .

Monday, April 9, 2018

I joined a game development challenge at GameDev. Net , I'ts a Two(2) months challenge to create a Multi Player PacMan clone game, I work on this project right after going home from work and spend at least 2(Two) hours a day only, I'm using ZGDK-MG on this challenge if you want to DOWNLOAD  the game just click the link below ^_^y


Monday, May 22, 2017

CRUD oriented game content management : PART 2.a : Creation

PART 2.a

Game content loading and creation :

Z-GDK specifically designed for making games. It relies heavily on image file for its content, but not just an image file, there are different types of image content primarily used in games. A Single image file is the simplest form of an image content to display a static sprite or mesh texture material to be rendered on screen. Some are using multiple image files to create an animated 2D sprite or 3D billboard and particles texture material. Others are using  a single image sprite sheet file for their animated sprite characters or a single image resource file consist of tiny images are commonly used for sprite, say for tile map content or an image collection of inventory items stored in just a single image file.

The idea is to create a TextureContent  that has a definition of image animation key set, if an animated image collection, in preparation for SpriteEntity and or 3D animated texture usage, a single instance of TextureContent can be applied to multiple SpriteEntity or 3D animated texture material as a source image texture content.

Z-GDK has different kinds of direct-texture-content-loading and creation scheme as listed below without using content pipeline processors and not relying on XNB files.

A. Creating  TextureContent  from a single image source file.
B. Creating single animated  TextureContent  from multiple image source files.
C. Creating single animated TextureContent from a single sprite sheet image source file.
D. Creating multiple static or animated TextureContent from texture atlas image source file.
E. Creating TextureContent from color. 

Let's start from the basic texture content loading and creation from a single image source file :

A. Creating  TextureContent  from a single image source file:

The simplest way of creating TextureContent is by loading from a single image source file, as shown

Sample of  single image file: named ZGDKLogo.jpg:

//--> Create texture content from a single image source file.
TextureContent m_ZgdkLogoText = _Device.Content.TextureMngr.Create("Contents/Textures/ZGDKLogo.jpg");

// From here the created texture content can be assigned to 2D-Sprite entity
// or to 3D-Model entity as texture material.

LayerEntity m_Layer01 = _Device.Entity2D.LayerMngr.Create("TopLayer"); SpriteEntity m_LogoSpr = _Device.Entity2D.SpriteMngr.Create( m_ZgdkLogoText, m_Layer01 ); // m_LogoSpr.Position( 0,0 ); //--> CREATE 3D-MODEL ENTITY ModelEntity m_BoxModel = _Device.Entity3D.ModelMngr.Create( MeshPrimitveType.Cube,false,false,false); // m_BoxModel.Scale( new Vector3(10,10,10) ); m_BoxModel.Position( new Vector3(0,0,0) ); // //--> Box model materials setting. // m_BoxModel.ModelGroups(0).Materials(0).textureContent0 = m_ZgdkLogoText; m_BoxModel.ModelGroups(0).Materials(0).usePerPixelLighting = true;
The output using single instance of TextContent for 2D-Sprite and 3D-Model:
Next post : B. Creating a single animated  TextureContent  from multiple image source files.