I've done some nice quality of life improvements over the past few days, but I've also been preparing for battle 3! Firstly, there is now a grounded boolean that is true when Kaiku is is touching the ground. Jumping worked on a cooldown before meaning you could be on the ground but still not be able to jump due to the cooldown not allowing you. However, now as long as you are on the ground, you can jump. The cooldown is now only used for double jumps in the air. This was something that I wanted since the start but I found it so hard and painful that I gave up. But it works now! This makes the game feel much more responsive to play. I also added a little logo notifier that appears above Kaiku if you attempt a shadow attack before the cooldown allows you to. I noticed some playtesters were trying shadow attacks and wondering why they weren't working, but now this should make it more obvious that they need to wait to use it again. I made some balance changes such as reducing forxa's health but increasing the number of shadow attacks he does as well as increasing speed. I also added a cactus to the desert level.
0 Comments
Today involved improving the Forxa battle and intergrating it into the world map so it can be played. I increase Forxa's health to 7 from 5 as a way to increse difficulty, but I fear this may have made it too difficult so I may reduce it to 6. I also made it so Rage mode causes an action where Forxa uses multiple shadow attacks in a row, instead of increasing speed like with Rabga. This promotes strategy as you can either kill him quickly with melee attacks so he doesn't get to Rage mode, or use ranged attacks and then dodge the incoming Rage shadow attacks. I may look into making them do less damage as otherwise they can very easily kill the player. The final boss will use a similar mechanic but it will be far stronger, to the point where it is more like 20 shadow attacks! They will be slow and cause less damage though. Evie will likely use health regeneration. As for Axku, i'm not sure yet. I added the Forxa level to the world map so it can be selected from there. I also added intro dialogue for the second battle as well as battle dialogue too. The lines for the dialogue is currently pretty bad but it will be changed in the future. I also did some other changes and bug fixes. I need to look into improving Forxa's desert environment, right now it looks a little too bare. Yes, it is a desert, but it still needs some more going on. Once battle 2 is finished, Axku will be next!
I spent today animating the second demon you fight in the game and creating the second battle in the game. This ended up being a way harder job than I anticipated due to many scripts conflicting with each other and needing rewrites due to basically all of them referencing Rabga, the first demon that features in battle 1. Either way, now that I know how to make another level, it should become easier. I also fixed some bugs, cleaned up my scripts and my organization and added red colour changes on melee attacks and shadow attacks.
I did some nice improvements to the game over the past two days. The biggest update is the feature of before battle dialogue. This is dialogue that plays before the battle starts, but after the intro you read at the start of the level. This is used for dialogue between Kaiku and the enemy to build hype for the battle and bring context. This will also be used so the enemies can reveal information about Kaiku and the story. I wrote some code so this only displays the first time you load the map as otherwise it would get annoying have to click the skip button each time. I have done some major graphics improvements, the main one being the background is now a more interesting layered background instead of just a boring skybox. This makes the battle feel more "3D" and overall makes the graphics look better. I may add parallax backgrounds as well so as you move, layers of the background move too. I'm focusing on gameplay and content right now though. Another thing I did was delete the moon from the main menu due to all my playtesters saying it looks bad and unappealing. I instead stretched out the text a bit more. The main menu could still do with some work if im honest. I also added fade in to more scenes so the scenes transitions are less jarring. With the dialogue scenes, I moved the UI box of the name further upwards so it had its own box meaning the actual dialogue box had more space for text. I made it so when you attack the enemy or the enemy attacks you with shadow attacks, the enemies or kaiku's colour changes signifing you actually hitting the opponent. This makes shadow attacks more satisfying and I'm thinking about adding a similar thing to regular attacks. I also fixed some bugs relating to shadow attack positions, health sliders and more.
Over these past few days, I have been working on making the first battle the most polished it can be. I will soon start work on the second battle, Forxa, and most players may not bother to get that far if the game feels buggy! There are still some really prominent bugs that I need to fix, but the game feels much better to play now, I don't have to say "oh, excuse that bit, i'll fix that later" as much as I did before. I didn't just fix bugs however, I also added and improved some things. Firstly, I changed most of the text in the game to TextMeshPro for added fidelity and customization. Similarly, I changed BattleBlade's text logo on the Main Menu to make it stand out more (images below). I also added particles to the Main Menu to make it look a bit more interesting. They are only small but make it feel less like the main menu is just a couple of UI buttons and text. You now can't jump on the enemies head and hide and never die. Should you attempt to jump on his head, Kaiku will be forced back. The same occurs to Rabga. This is currently a little too sensitive so I may need to look into this in the future. I partly fixed the bug where Kaiku's sprite moves forward a few pixels when you do a regular standing attack. It's still not perfect (and I don't really know why) but it's a lot less noticeable. Most players don't stay still anyway ;). I fixed the bug where the shadow attack UI slider would reset the first time you used it no matter where the slider was. I fixed this by forcing the slider to fill quickly the first time the scene starts, but slowing down to normal accurate speeds any following times. I fixed the bug where you couldn't jump for the first few seconds of the battle. I tried to improve the AI and overall game play as well, with the highlights being: increasing Rabga's speed and making Rabga jump less. After that, I modified some of my scripts to make it so transporting code to future battles will be easier with less manual changes to the code per level. I improved the mechanic of Rage in the game. When Rabga loses 80% of his health (previously 40%, this is subject to change), he will become Enraged and move much faster. As well as that, his sprite will now turn red to signify this. This enemy has a simple Rage mechanic but I am thinking about future enemies having mechanics such as regenerating health, more damage output, bigger or more frequent shadow attacks, etc. Now, here's the big one. I fixed that awful glitch where Rabga's direction would swap between left and right if he wasn't moving. This was due to my direction check being dependent on velocity direction. However, I decided to change this to a method which determines if Kaiku is ahead or behind rabga and then scaling Rabga if needed. This was done by comparing Rabga's and Kaiku's position on the X axis. This is a huge improvement and fixes a lot of bugs and problems with the game! Rabga feels like an actual opponent now! I'm really loving my game now, it feels fun to play, and the fact I have created it myself, makes me feel even better about it. :)
I'm going to do a changelog thing for this. Sorry. - Added a meteor that spawns at a randomly on the y axis at the back of the level every so often. Added particles to it too. It looks pretty cool and adds a bit of atmosphere to the scene. - Added smoke at the back of the scene that looks slightly less cool than the meteor but is still pretty cool. It harms the frame-rate a little, so I may need to create an option to turn it off on the settings. - Changed Rabga's and Kaiku's shadow attacks to look different. They now look entirely different and keep the colour scheme the demon/goddess uses. Rabga uses a great-shield like thing as a way to promote his use of blunt weapons. Kaiku uses a red spiked thing that is a little too bulky to be honest, so I may change this at some point. - Changed most text to TextMeshPro making it sharper and more attractive. - Fixed the bug where you could move whilst crouching. This isn't animated and breaks the game a little so I decided to make crouch walking impossible. I fixed this by checking to see that IsCrouch == false before acting force on the gameobject. - Fixed some of the input lag with the game and some animations by turning off exit time for most animations. This makes some of the animations a little glitchy but reduces input lag enough that its worth the sacrifice. - Added Border Art to World Map on MouseOver(). - World Map now spawns rotated nearer to the Rabga level so you don't have to rotate the map to access the first level. - Scene now fades in during Rabga level every time it restarts making for a smooth transition. - Level 1 intro dialogue now has images that appear during the scene as the dialogue progresses which help illustrate who the characters are. - Renamed Main Meny to Main Menu like it should have been... - Other improvements and fixes ;) https://streamable.com/cxdeh - The smoke in action! Pretty proud of my game now.
I created a method that restarts the level after 1.5 seconds have passed, creating a smoother transistion from round to round. I finally made it so you can't click the level from the world map if you can't see it. This works by calculating the distance between the gameObject and the Camera and is admittedly pretty hacky, but it works and it was the only way I could find to do it. I added shortcuts to restart and quit to the world map using the R and Escape button. Similarly, I added a world map button to the Player Won and Player Loss UI sections. I need to add a way to go back from the world map and the dialogue part but that won't take long. Added music to the world map and dialogue sections and changed music on the main menu. I also managed to find a way to stop the music from playing if you change scenes so now music works great in the game. I still want to change the battle theme and add more sound effects though. I also fixed a load of bugs most regarding the round mechanics but also some rabga animation and attack glitches. My game is getting good :) I spent almost all of today improving the UI and graphics of the game. Firstly, I created a Rabga logo which sits at the top right similar to Kaiku's UI logo thing at the top left. This creates a bit of symmetry and reinforces who you are actually fighting. I also changed the symbols that display when you win a round to a more distinctive sprite as before it could be hard to see. The main thing I did today was make all sprites use point filter mode. This helped MASSIVELY in making the game look better as it made all sprites sharper and fixed that nasty bug where lines would appear at the top of some sprites. Finally, I added some light fog to the world map to make it feel more like an earth rather than a sphere. I need to work some more on this still and fix the problem where you can click the level whatever the rotation.
I added something I've wanted to add for a while today, a visual-novel like dialogue system. It currently plays before the first level and describes the basic plot of the game. You can click continue to read the next line of dialogue or click the skip button to skip it entirely. I will add more dialogue in the future before and after each level. I have the story of the game written down already, but I will need to port it to dialogue instead of it just being a narrator. I also need to find a way of having the background change as the text does, and have multiple characters. I also changed the game massively by making it so you need to win 3 battles to actually win the level. This makes the level longer but still keeps the difficulty and satisfying gameplay. Simarlily, the enemy needs to win 3 battles for the player to lose too. I also added a visual indicator for how many rounds each character has won, but its only a placeholder image currently. I need to add a delay between each round as it currently instantly goes to the next round.
I spent the majority of today fixing the world map. Previously, you could click anywhere on the screen and it would teleport you to the Rabga level regardless of where you clicked. This was due to me using a button as the way to sense clicks. This is designed for canvas's and not gameobjects, so I changed it to some code which detects when the player clicks on that gameobject and then carries out the loading procedure instead. This means you have to click on that gameobject instead of just anywhere on the screen which is obviously works much better, the problem where you can click it from anywhere even if the camera can't see it still remains however. I also added text which appears when you mouse over the level which tells you which level it is.
I improved the crouching by changing it from GetAxis to GetAxisRaw which results in less input lag. I also made it so knockback changes depending on your direction instead of always being in one direction. |
AuthorMy name is William Hughes, and I study Games Development. I also am learning Web Development and general programming. Archives
May 2018
Categories |