Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

The Zombie Apocalypse Game - Devlog

A topic by Dominik The Programmer created Feb 16, 2020 Views: 366 Replies: 5
Viewing posts 1 to 6
(3 edits)

Hey there everyone, I just had some free time and started to work on the engine of my zombie apocalypse game. 


So far I have done just some basic stuff like keyboard input, camera and object movement and texture loading.

If you can think about a good name for the game, feel free to leave it down in the comment section, because I haven't chosen one yet. Also if anyone is interested in helping with the graphics, than just hit me up.

If you are interested in it and would like to see more about the development of my game, follow me on Instagram or for more details and early access check out my Patreon.

Also feel free to join our Discord Server.

Devlog 02 - Basic lighting, models and terrain!

Hey there, welcome back.

For the past few days I've been working on the basics of my Zombie Apocalypse games engine. First of all I needed a way to load 3D objects into my game. Thanks to its not too complicated structure, it wasn't so hard to implement a method to load the Wavefront file format (.obj).

After making a way to load models and their textures, I had to light them up. Also as you can notice on the dragon model, I've added an option to make them look shiny.

Finally I've made it possible to create a flat terrain with a similar method to how objects are loaded and rendered, but with the difference that a single terrain tile can have up to 4 textures and a blend map determining which texture to us . Also the size of the tile can be adjusted for my needs.

  As some final touches, I added a fog that fades out smoothly the objects in the distance.  

Thanks for reading and don't forget to come back next week when I bring you the player, some terrain generation with the help of a height map and maybe some basic gui.

I'm also giving early access to everyone who supports me on here, so you can try playing the game from the very early stages.

Devlog 03 - Day/Night Cycle, Collision Detection, Inventory and more!

Welcome back!

In this update I made the height of the terrain based on height maps and made a way to find out the height of the map for a specific x and z coordinate.

After that I added GUIs to the game and created a very basic inventory. Right now you can move around with the items in your inventory and you can also drop them out of your inventory, but they will appear on the ground only in some later update. Right now your dropped items just get lost.

The next big feature I added was a day/night cycle with a moving sun object and light source and also a skybox that also changes from day to night texture. The skybox will probably be removed later, but right now it just looks cool enough to leave it there for now. 

The most important feature I added this week to the game is the collision detection. Right now all objects that have collision enabled can have 1 or more collision boxes. These boxes determine the regions of the object where player can't move.  Right now the player also has a cuboid collision box, but I might change it later to an ellipsoid form.

The last big feature is a basic map editor that can be enabled or disabled by pressing the m key.  This editor right now allows only to place objects on the ground and outputs a line to the console. By copying this line to the maps file, we can add it to the map and it will act as a fully functional object when we start the game next time.

And this brings us to the last things I want to mention in this post. The smaller features that I'm not going to write a lot about are loading the map from a text file, 3rd person camera view, multiple light sources and some smaller improvements to the method of rendering the objects and their textures.

Thanks for reading, hit a like if you liked this weeks updates and don't forget to come back next week, when I add more new features to the game.

Devlog 04 - Water, Shadows, Particles and more!

Welcome!

After finishing the basics of the editor, I've started working on more graphics related features for the game. My current plan right now is to do graphics related features for the next couple of weeks and after finishing them I might start working on some more gameplay related features. 

The first thing I've done from the last update was adding normal mapping to the game. This makes possible to make some lower poly object look much higher poly than they actually are. As you can see on these 2 barrels, the left one is rendered without a normal map and looks much smoother than the one on the right, which uses a normal map.

The next thing I've added was showing text on the screen. The one you can see on the picture is just some basic text without any special effects, that I've created just as a quick tutorial when the game launches. 

The next big feature was adding the water and making it look as good as it looks. As you can see it in the video, it looks different from different view angles and also has an effect that makes you believe that there are some small waves on it.

One of the easier features of this weeks update were the particle effects. This fire is made of the combination of 2 different particle effects. Both change their textures during their lifetime and also have different lifetime, scale, direction, etc., but they are all loaded from the same texture atlas.

Maybe the hardest part of this week was adding shadows to the game. As you can see it in the video, the objects are able to cast shadow on the ground and on other objects too. The quality of the shadows will be on option that the player can choose in the game, because using really high resolution shadows that can be even seen from a bigger distance can become a bit resource hungry and maybe some of the older GPUs could easily drop some fps because of it.

As some finishing touches, I've added an option to play sounds in the 3D world. You can also notice this feature in the video where the music plays in the background and the fire has its own sounds that you can hear as you come closer to it

As always, thanks for reading and feel free to leave your suggestions in the comment section. See you next time!

Devlog 05 - Animaitions, Bloom Effect, Antialiasing and Anisotropic filtering


Welcome!

After last updates I've started with a bit easier features and those were the Antialiasing and the Anisotropic filtering. These were 2 really easy to implement features, but they can make a really big difference. After that I've also added a way to change the brightness and the contrast of the game. This will be later adjustable by the player

 After that I created a way to use specular maps on objects. With the help of these images I can make look only parts of the objects shiny. As you can see, the left barrel doesn't use a specular map and the whole barrel is really shiny. The right one uses a specular map that makes it shinier on the metal parts of it's texture, so you can see that the middle of the barrel is a lot less shiny.

I've also implemented a similar function for making the bloom effect. As you can see, this glowing effect is used with the texture of the lantern on the right side, but on the left side the lantern is just rendered with it's default texture.

The final thing I've added was the most difficult of all the features so far. This is ability to add animations to the models. As you can see in the video, the player model has 2 animations. The idle (breathing) and the running animation. The hardest part in the animations was that the tutorial I've been following is 5-6 years old and the .dae file format exported from blender has changed a bit. So first of all I had to make the file loader able to load both, the old and the new format, able to load. After that I had to make all the light related stuff again, but this time for the animated model rendering and I've also added a way to add normal maps to the animated models and also the specular and glow map if needed.

 As always, thanks for reading and feel free to leave your suggestions in the comment section. See you next time! 

(1 edit)

Devlog 06 - Frustum culling, Enemies and an update to the Editor

Hey there!

Welcome back to this weeks devlog post. This week, I've started with adding some small features to the editor. These features allow me to change the object or its size and rotation of the object.

After making these small changes to the editor, I've fixed a smaller bug so the camera can't longer go under the terrain.

After the bug fix I've made a basic system for the enemies so they can move around in a given area and start following the player if he gets too close and if he gets too far again then the enemy just returns to it's area.

After implementing these basic movements to to the enemy I've implemented frustum culling to the game, so only the objects in the view frustum are now rendered.

The final thing I've added was the ability for the enemy to attack the player and hit him and also knock back. After the players life goes below 0, he dies, the enemies stops chasing him and a text saying "You died!" appears on the screen. 

As always, thanks for reading and feel free to leave your suggestions in the comment section. See you next week!