This week has been busy with classes, but I was able to find some time to work in Blender for a bit and try something new! For the Tower Defense game I was working on, I’ve been trying to decide what theme to go with, and then I found one that looks like a fun theme to go with. A pillar, hovering above a base. I immediately went to work to learn how to man animations in Blender, which was surprisingly easy! Then, I had a cylinder floating nicely.
Now to work on modelling. I’m not entirely sure what I want this tower to look like yet, but that’s half the fun. I’m trying things out, seeing what looks good, and moving forward! The current shape makes me start thinking of a Queen piece in Chess, which was one of the options I was considering, though I’m not sure what I would do for the attacks if that were the case. Either way, it’s back to the fun of finding out what shape I will end up happy with and learning new things within blender to try out!
I’m sure it’s old news for developers, but I’ve started working on a new project in my free time! This one is a Tower Defense game with extremely balanced stats so far, he said very sarcastically!
An important feature of any tower defense game is to build towers, and I have exactly that! I am planning on trying out a better system, but currently I am using a floor grid to simply spawn the tower in depending on which tower is selected, and not allow you to place two towers on the same spot.
Next, we have enemies and upgrades. These enemies spawn as waves, giving you a set amount of time until the next wave of enemies begin spawning. On top of that, they gradually get more difficult over time to make sure there is a need to upgrade your towers over time! The aforementioned upgrades allow you to increase the damage, range, and rate stats of the selected tower. There is a major need for balancing, but for testing purposes these are all functional.
This week I’ve been quite busy, but I still managed to work on one section of this game, the weapons! Firstly, we have the default weapon that comes with the First-Person Template, which I called Cannon. This is a very low cool down rate, allowing you to click quickly enough to shoot at a rapid rate.
Secondly, we have what could be called a Machine Gun, an Assault Rifle, or many more names. The cool down rate is a bit slower on this weapon, however you can click and hold to fire, as it’s a fully automatic weapon.
Thirdly, we have a Rifle. This rifle has a much slower cool down rate, much like a bolt action rifle. However, it’s much more powerful to make up for that. With the Cannon and Machine Gun dealing a single damage per shot, taking five shots to kill an enemy, this Rifle deals five damage, taking only one shot to kill the enemy. On top of all of this, I made a bonus feature for testing.
This bonus feature is the cool down bar at the bottom right of the screen. I originally made these exact gifs without that bar and thought it would be better to show the difference in a more visual manner, and thus the cool down bar was created. This bar can be used for more than just the weapons, in the long run, but for now are perfect for testing the current weapons.
This week I’ve been working less on the functionality, and more on a map to play around on. This being said, that’s not to say I didn’t work on functionality at all! I have two major updates for this week’s blog post!
As for map design, I’m focusing on the concept of a creepy school. This idea came by part from Phasmophobia, and by part from a dream I had many years ago, of which I have directly modeled the first hallway based off that dream, though using only the Unreal Starter Content.
Next, I began to work on the non-euclidean geometry, a feature I absolutely love about many games, such as Anti-Chamber, or Layers of Fear! As you walk through one door, you end up in a room you were not expecting! Then, as you try to go back you end up in a DIFFERENT room, making the map more and more confusing for each layer of room swap!
This last week I’ve been playing around with some more ideas, which include learning how to add some basic AI to an NPC to chase after you, how to kill them with bullets, and more!
Firstly, I learned how to make NPC’s that chase after you, and then by accident I made the map slightly spooky through lighting, or lack thereof!
Once I had that figured out, I started playing with the idea of flickering lights, using a random interval within a specified range to make it look a bit more natural as a broken, flickering light would be.
Lastly, I worked on a very important feature, waves! Now, more NPC’s do not spawn until after you have killed all the currently spawned ones. On top of that, each wave they increase in health making it more difficult over time!
I’ve had a crazy past couple months, learning so much both in class and on my own! I’ll add a few examples in for what I’ve been working on, but so far I’ve created TicTacToe, created a number puzzle game from some old Mensa books, and started working on some ideas that involve a personal game idea I’ve had for a while! Also, I’m going to set a reminder on my phone to post weekly at minimum from now on, to keep you all updated on my progress!
Firstly, let’s discuss TicTacToe. These are some long gifs, so I had to lower their framerate, but as you can see I have created a fully scalable TicTacToe board, which can go up to 47×47 on my current screen size, with an added bonus of allowing for more than 2 players! I set it to be a max of board size, meaning you can have up to 7 players on a 7×7 board, and so on, which the method of checking for a win being scalable with the player count as well.
Secondly, we have a game called Spokes, or WagonWheel to some. My dad found it in a Mensa book a long while back and has been begging me to make it for him since High School. I was finally able to create it, with some added bonuses including a line size slide bar to make the lines slightly larger, a Number Hints button which shows the total needed active lines, current active lines, and the difference between the two, plus the color hints button that shows when a specific circle has too man, not enough, or the correct amount of active lines next to it! Needless to say my dad was very excited! On top of all that, you can download it to play the game for yourself at:
Finally, we land on what I can only label as a surprise. This game is an idea I have had for a decent while, but for now I am starting off small by learning to create specific functions required for the much larger project this game will become. Currently I have learned one method of detecting when the player is near an instance of the NPC. This then shows the text above their head, which disappears when you move away. With that, I was able to have a speak mechanic to move to their next piece of text, thus “speaking” to the player. For a bonus, I learned how to make this in a way that each NPC can have completely unique text, while using the same base code and not having to start from scratch for every NPC I need to build within this game!
Overall, I’ve been extremely busy learning and building these past few months, and with everything I’ve created I’m only in Programming 1 so far, relearning the basics of programming. Needless to say, I’m excited to come back to these extracurricular projects in upcoming classes as I learn better, more efficient ways to build some of the functions I’ve built in these projects!
Hey everyone! You may be wondering where I’ve been, and I have some amazing news for you! After having that fun re-learning Unity Basics and after about a day of looking at Unreal Engine I was extremely excited about my new journey and got carried away diving head-first into my classes! I am going to try my hardest to post more often than I have in the last month and a half, but I can’t promise a daily post the way I did when I started this blog. Though I’m still in the Gen Ed portion of my studies, I am already playing with Unreal Engine 5 in my free time and learning a lot!
One thing I’ve learned is the basic movements in a third person game, but also how to teleport between different layers of a side scrolling level. On top of that, I made sure to stop the character from teleporting against or into walls to keep the character on the correct platform!
On top of that, I also learned how to make the basics to a card game, even allowing for the cards to be moved around in the hand for your own organizing purposes. Getting the moved card’s opacity back to fully opaque after being moved proved to be harder than expected, but I figured it out!
Learning Unreal Engine so far is completely different from learning Unity. In Unity, I focused on learning C#, and learning how to create items through code. So far in Unreal Engine I’ve mostly focused on learning the engine, itself, and how to create and manipulate assets and objects within the engine, instead of focusing on C++. That being said, it has been very cool to learn so far, and I’m sure I’m going to enjoy learning it further!
Something this tutorial focuses heavily on is materials. Specifically, how to make simple customizable materials with the standard, included, assets Unreal has to offer, with the help of some assets created by the presenter. We first started by creating the base color, metallic values, roughness, and what is called the “normal” in the material settings. Once it was at a good point, we changed many of those same pieces into parameters, allowing it to be edited live in an instanced version of the material.
As you can see in the image above, this is the instanced version of the original material. Anything on the right with a checkbox allows us to change those variables in real time to see in the scene. We could even change the base texture from pavement to grass, or water, if we needed to. Overall Unreal Engine feels like a completely different beast, but I have yet to focus on the actual code and have only been focused on the engine itself.
You may have noticed my lack of posting over the last few days, and there is a reason for that! I was making a lot of progress in learning on my own, but I have decided to take some classes, and work on getting a degree in the field. That being said, this school focuses on Unreal, not Unity, meaning I am going to shift my focus from learning Unity to learning Unreal, instead. I will continue to post here on my new blog as I go through this transition and begin to create in Unreal! Make sure to come back tomorrow to see what I have learned during Day One of Learning Unreal!