Protocol Z banner

Protocol Z

8 devlogs
58h 6m 19s

A simple survival multiplayer game which I am expanding with singleplayer and more! Has a retro pixel style with many features listed in the readme!

This project uses AI

Used to explain how to do certain things in my code with the multiplayer side of things and to assist with debugging things I cannot figure out by asking it to explain stuff to extend my knowledge further, I slightly used it to give me a base to fill in for the readme as well

Demo Repository

Loading README...

Ryan Kruger

Shipped this project!

Hours: 58.11
Cookies: 🍪 1543
Multiplier: 26.55 cookies/hr

I have created a retro style 3d survival game. I used games such as Unturned for inspiration and built it in godot with a fair bit of time going into it at home when i should have been doing chores. The most challenging part was the multiplayer system, I could not get my head around the synchronization side of things and every time i would add something new it would break something different, And for some reason i had planned to have a web build so no-one had to download the game but it doesn’t want to behave properly as the camera points itself upwards and wont move down :(. I am proud of it all as it is a great accomplishment for me to keep working on a project for this long I hope the players will enjoy playing it as much as i have done making it!

Ryan Kruger

Today i have finished up the game for release, I added in some of the last buildables and ironed out the bugs i was facing such as the pause menu not keeping the mouse visible and the zombie making the game lag a lot, I also added a gas station so that one day i can add in drivable vehicles as well. This is it.. The final devlog. Thanks for following along even if its been a rough ride, I hope to do something else like this another day :)

Attachment
0
Ryan Kruger

I have no idea what happened but a week ago i done a huge devlog with half the time i had here, i cannot completely remember what i did but i will try and condense it and say here

  • Upgraded the buildables system to include screws and raspberrys and have better optimisations added in
  • Made the game playable at about 30fps of web browser by making the game detect if it is running on web and adjust settings accordingly (shadows and render scale)
  • Created wall buildable, Floor, Campfire, Growable raspberry bush, bed, table.
  • Optimised the multiplayer system for the Enemy to try and combat lag
  • done some more backend stuff
    I am sorry i couldnt go into detail as i need to do chores but next devlog will be the release and ship!
Attachment
0
Ryan Kruger

in this week long devlog I have added alot of new content to the building system and improved on the enemy AI. I added a new screw item and a screw 3d model so now the building system has more variety with resources, I also created a loot spawner that randomly spawns rocks, food, screws, water and raspberry seeds at intervals so players have a random variety of things they can loot. I then added floor and wall buildables (both built and unbuilt versions) to the building mechanic along with a table blueprint that requires 8 screws to build and sync across multiplayer.

On top of that I implemented a growth system using a script so now the raspberry bush actually grows over time from a seed state to a full plant instead of just being a static object.

I also done some optimisation on the enemy AI side of things, I fixed the damage cooldown so zombies cant rapid fire damage you, added death tracking so dead enemies dont keep running around and causing issues, improved the look-at logic so enemies look at you when chasing and look towards their waypoint when wandering. I also prevented animation changes from happening over and over again every frame which was wasting performance, so the AI is alot more polished now.

0
Ryan Kruger

Today I have added a rain system and revamped the building system. The rain system uses a timer and a GPU particles node, When the timer runs out (random value) it sets another random time for how long the rain should last. I am going to implement this into multiplayer when I get time. I also extended the building mechanics to support many new things such as a table, a campfire and a raspberry bush which is the only one fully added, it requires you to pick up a raspberry seed and when you have one in your inventory you can place a raspberry bush it doesn’t do anything but I am going to make it so that it actually grows and you can pick raspberrys and their seeds from it. I also done some optimisation on the enemy side of things and fixed the spawner as it was causing massive frame drops now the game sits at 60fps the whole time. I made It so that the spawner is limited to 5 zombies and when one dies it takes a spawned zombies count down one so that another one can spawn when the timer is up. I also added a cool shader to make the game have a retro look (cover up my bad modelling) and I added a glass material shader and even a simple water with foam with a dam and a few creeks

0
Ryan Kruger

Today i have optimised the AI system as when there was multiple instances it would halt the game to a standstill. I made it so that instead of using the physicsproess it uses a timer that every 0.5 seconds it updates the go to location instead of it running every frame causing low fps. I also added in a thrist and hunger system so when yu run it takes thrist away and hunger just slowly goes away you have water and muesli bars so far but i will add more

1

Comments

Ryan Kruger
Ryan Kruger about 1 month ago

Also forgot to add the food and water goes into the inventory

Ryan Kruger

I have created a multiplayer spawner to synchronise zombie spawning for all players, it uses a function that is called when a timer runs out and it instantiates a zombie using the base code that I implemented for the trees spawning logs, I also added in a tree falling and being hit animation with particles (leaves and bark) I made the axe swing as well as making the tree have sounds when hit and falling. I also added in some 3d model building that I made for a past project for flavourtime but deleted the project so I added them to give the game some character. My next steps are going to be optimising the enemy as when a few of them are running the game comes to a standstill. The image shows a zombie that has just spawned in using the new spawner

Attachment
0
Ryan Kruger

Here i am displaying everything that i have added so far in this game please watch the video to get an understanding

  • log cabin building good
  • multiplayer syncronisation polished
    -AI zombie with animated body made it blender it uses pathfinding and groups to detect the player if it doesnt it just wanders to random locations
  • simple main menu is implemented but didnt show it
  • Day and night cycle
  • Weather using GpuParticles
0
Ryan Kruger

Implemented multiplayer, building a cabin, cutting down trees, .simple inventory system, axe, rocks, logs, and a simple start screen where you add in an IP address to join to the host. It all uses the Godot inbuilt multiplayer and most of it either syncs using @rpc or multiplayersyncroniser nodes. In my next devlog I will show a video of the game working and about the AI system I will inplement

Attachment
Attachment
0