#3 The Real Deal


As we finish up our first week of actual development, we are already on our third devlog. This week it will go over the work everyone did, the challenges they encountered and how they were solved. 

The Artists

After having some hardware technical difficulties, Inias started work on making the model for the player character, Shadow. Inias made several iterations and combined the the best parts of all iterations together after feedback from the team.


Even then, the model stil was missing some details, so Inias added some scars and missing feathers to make sure Shadow looked like a strong but battle-worn eagle. After some feedback from Kirill, Inias made sure to make the eyes of Shadow more distinctive. 


Inias also started working on the blockout of the Arena and designing the modular building blocks and props.

Kirill started working on designing the thumbnails for the weapons and the armour for the UI, making different iterations and adapting where needed after getting feedback from the team. Kirill started to design the armour made from leaves.


The process of designing the armour wen't smoothly but Kirill did spend a lot of time on perfecting it. For the other sets, Kirill hopes to more efficiently design them.

Kirill also worked on design the set of plastic weapons. From a hammer to a bow. The team is happy with the final weapons,  but Kirill wants to improve the workflow for the other weapons by choosing more readable shapes for the designs.


Even though these weapons are to be used in the UI, they will also be the reference for creating the 3D versions of the weapons to be wielded by the player.

Last but not least, Kirill created a friend for The Axer bot which was already created in the prototype phase. He went for the Ostrich Bot, a defensive bot shooting Ostrich eggs at the player. Again, Kirill made some iterations and asked feedback from the team before settling on a final design. 


After some extra input from Michiel, Kirill made the final 3D model with a mode sensible launching mechanism.



The Programmers

Just like the artists, Michiel and Lukas put in a lot of work towards making our vision a reality. Michiel started with setting up the Unity project, making sure the correct folders were in there and making sure everyone could get started on the project in no time.

Michiel worked on creating some vital gameplay systems. Some of them completely finished, others have a strong base we can add onto during the weeks to come when new systems and mechanics are introduced.

He started with creating a Health and Defence system, which are now two separate systems compared to the prototype. They can be added to both player and bots as they are quite generic. The Defence system makes a difference between non-persistent and persistent armour. The former will get damaged and will break eventually while the latter will not break and negate incoming attacks to some degree.

Next up, Michiel worked on the gate system. The gates are where the bots spawn from and can be closed by the player. When all gates are closed, the round is almost over, all that rests the player is to kill any remaining enemies. For now, the gates are spawned in, in a hard-coded way, but will eventually be made modular. This way the amount of gates can scale up with the rounds, making each round more and more difficult. 

Gates spawn bots of certain difficulties, easy, medium or hard, and can be closed by pressing the button when standing near the gate controls.

After the gates, Michiel started on the Melee Combat system, responsible for melee attacks from both the player and the bots. Bots will attack the player when they are within range of the player. The player can attack any time by pressing the button, but it will only damage bots when they are in range with regards to the weapons speed.


There's a also a heavy attack which can be invoked by lonk pressing the button. The time it takes to do a heavy attack is dependent on the kind of weapon. The damage a weapon deals, the range and the speed are all configurable for each weapon. 

Aside from the absolute necessities, there's also a combo system in place, allowing the player to do more damage if the player damages a lot of bots in quick succesion.

Michiel also worked on a Player Interaction system, a generic system for capturing inputs and invoking the correct functions in all other systems. After Lukas created the StickMovement script, Michiel refactored both systems to work in unison.

And last but not least, Michiel also created the base for the loot system. Right now it will only provide the player with a new weapon or armour piece based on score, but it will be later extended to include things like the crowd approval system. In the next phase armour is automatically equipped,  in the case of a weapon the player has the choice of keeping their current one or equipping the new one.

Michiel also encountered some challenges during the creation of one of those systems. One of them being not updating local changes within the prefabs while testing. A problem that occurred because of this was spawning the player weapon in the world instead of the player's hand.

After programming a while Michiel encountered a problem where when refactoring code, he looked over an error and accidentally created an infinite loop crashing Unity.


Lukas on the other hand worked on a Stick Movement script allowing the player character to be moved and rotated using only one joystick. In this case the left stick. The script was written in such a way that, in the far future, it would be quite easy to make it a co-op game and listen to multiple controllers. One design question that arose was whether the movement should be instant or more smoothly. In the end we as a team decided to go for instant, snappy movements as time is of the essence and ramping up to max speed might take too long.


Another very important thing Lukas worked on is the Bot system, consisting of three parts. A Bot script component you can add to your bots in Unity allowing the programmers and artists to easily configure each bot. There's settings for speed, type, difficulty... The Bot component then, at runtime, adds a rigidbody component and either a Defensive Bot Agent or Aggressive Bot Agent to the bot.


Defensive bots are usually ranged and keep a safe distance from the player while aggressive bots go all in and try to deal damage no matter the cost.

Michiel and Lukas also regularly discussed on how to design the code or do certain things in chat or in a voice chat to make sure we were on the same page about how to go at it.


The Build

The current build of the game features all systems that have been thus far created. This includes player movement, player and enemie combat. Enemy spawning from gates and moving towards the player. Player and enemies have health, when taking damage this goes down until the player or enemy dies. A score system is in place that records all events triggered within the game. When all gates are closed and all enemies are killed the round is over and the player has won.




Next Up

In this sprint, we will further focus on implementing vital systems and making sure they can work together. The artists will create more 2D and 3D assets and the game will start to look more like the final vision. Until next week!

Files

NestWars_windows.zip 140 MB
Version 5 Mar 10, 2021

Get Nest Wars

Leave a comment

Log in with itch.io to leave a comment.