First Devlog


          The player movement for my game was always going to be a simple top-down 8-way movement with a set speed. It is easy to control so the player can focus on other things like learning the interesting shooting mechanic, and I could focus on harder aspects of the game development. I used a script from the tutorials to control the player, it uses the Rigidbody2D to change the velocity of the player object, which is currently a white square. The controls are the W, A, S, and D keys as this gives more access to the other keys on the keyboard, which have other functions, if playing with one hand and a mouse.

          I have not yet implemented any art or sprite animations, as some other games will have at this stage, as I have an artist working on my player sprite and he has only just sent me a first look of what he will look like, shown below.

           Player Sprite Early Designs

          Player sprite early designs from a hired artist, Harry Sussams

          The pictures are currently a little blurry, whether because I have not yet paid, or just the compression Gmail applies when zoomed in, I cannot tell, but the images will not be blurry when implemented. I do plan on implementing other animations as I go, such as when I do the zombie movement, and will add in art assets that I make myself when I have made them, now that I have a good idea of the player sprite’s art style. Unfortunately, my initial choices for zombie sprites will not work with the player my artist is designing, so I will have to look for others or possibly make them myself.

          Additionally, the limitations of budget and time have forced me to reconsider my movement mechanics. I may have to have a mechanic where the player needs to stop moving while shooting, which would add an interesting feature to the game, but is different to my original plans.


          Before the end of semester break, I had also implemented some other mechanics as I knew it was the most convenient time for me to do so. The mechanics were as follows:

          Firstly, I made an inventory system using a dictionary. This was the first time I had used a dictionary and it was a lot easier than my previous attempts at using arrays for this. The dictionary consisted of strings, which were the names of items, and they were used to store integers, which were the number of items of that type. I then made some button which corresponded to each of the items and gave them each an extra text object which is a number that syncs with the inventory system. When the player walks into an item they can pick up, it will be destroyed, but also added to the inventory. Some items are automaticall crafted when the two items required are picked up: 

                    Long Stick + Glow Shroom = Shroom Torch

                    Short Stick + Zombie Bone = Arrow

          Secondly, I made a health and hunger system, represented by red and yellow bars which have a game object with a pivot on the left being the fill of the bar. The pivot of the fill is on the left of it, and then the fill is scaled along the x-axis using the following math:

          currentFillScale = maxFillScale * (currentHealth / maxHealth)

          Previously, the health decreased whenever the player collided with a zombie, by an amount depending on the zombie's size, but that stopped working for some reason and needs to be fixed.

            Thirdly, I implemented the usage of items. Clicking the food items in the inventory bar consumes them and refills health by an amount specific to the food item. I did this with one script with edited variables rather than a separate script for carrot, apple, and potato, which was new for me and required a different thought process to what I am used to using. For placing a Shroom Torch, I used the same system with a different script that places the item in the world next to the player instead of restoring health.

            Lastly, I made a system where the player could shoot arrows in the direction they were moving, but I could not get it to work for when the player was not moving. However, I knew that I would be changing this system soon (it was only to test the bullet spawning and other concepts I needed practice with), so I did not concern myself with it for too long.

            In the week since semester break, I have implemented a couple of other systems. Namely, item picking up, health/hunger degrading, bow-and-arrow charging, and a ray casting system for player shooting. These will be detailed in the next devlog as this one would become too long.

          Here is a video of a few of the mechanics I have so far, plus some that I will discuss in the next devlog:

            Unfortunately, I cannot get feedback on my assignment during class due to having to leave very early on Wednesdays, but I plan to post my game for feedback in the #Game-Feedback channel on discord every two to three weeks (so as not to flood the space with my content.) Readers will see my response to feedback next week.  

Leave a comment

Log in with itch.io to leave a comment.