I've spent the majority of today adding a battle countdown feature. This makes it so before the battle actually starts, a small 3 second countdown appears in the middle of the screen giving the player some seconds to mentally prepare for the upcoming battle. This was suprisingly hard to add due to how I needed to make it so the round countdown only appears the first time the battle starts and not for any rounds afterwards. But simarlily, I had to make it appear if the player clicks the skip button or the restart level button. I added this to all the levels including versus mode. I also made some small improvements such as animating Moraliyen during the epilogue and adding automatic fadeouts instead of requiring a mouse click.
0 Comments
The Versus Mode is now almost complete! All shadow attacks now work along with the win panels. I also created a cloud sprite for the floor due to how all Versus battles will be held in the clouds. I thought about giving a choice of Arenas but I decided against it due to the fact it would be tough and tedious to implement and how I want to make it obvious that this Versus mode is its own thing unrelated to the campaign. All I need to do now is do some more playtesting, try and improve controller support (right now it only works with the second one plugged in and certain controllers take the inputs differently) and create a background sprite. I also improved the dialogue scenes by giving them more context on who Moraliyen is by showing a sprite of him during these moments. This meant that I had to create a sprite of Moraliyen but luckily it didn't need to be animated (althought I might make an idle for the epilogue). I created a little arena area where you can see Kaiku and Moraliyen speak during the epilogue too (although it's basically just a template right now, I just did it quickly so its easier to visualise them speaking to each other instead of Kaiku speaking to her own head). I also fixed a load of bugs (Unity seems to hate me less now) and made some improvements to the overall game too small to list.
The main thing which I did during the past few days is starting work on the local multiplayer section of BattleBlade named Versus Mode. I got a basic character choice menu working (which actually affects the characters you play in the arena!) and the actual battle gameplay is almost done. Currently, everything is working except shadow attacks and the win/lose state. The characters changing depending on what you chose in the previous scene work, melee attacks, health, movement and the multiple gamepads support work. There is a fairly major bug where different controllers take the inputs differently for some reason, but I'm not sure that's even fixable with this version of Unity. I'm just glad a feature I figured would take me up to month is almost mechanically done in just a few days work. As well as that, I redesigned the menu to make it more attractive and feature the Versus Mode button along with the NEW LOGO! The third major thing I did (and perhaps the most important really) was changing the Inputs system from mostly FixedUpdate() to mostly Update(). This was a piece of remnant rookie code I had left from back when I didn't know the difference between them, I guess I figured FixedUpdate() meant the fixed, better version of Update() ¯\_(ツ)_/¯ Either way, most of the code is now in Update now allowing for much, much better inputs with more responsive controls and less lag. Some of the code generally involving physics is still in FixedUpdate() due to how framerates affecting physics is a super bad thing. I also made it so only battles the player has unlocked are playable, and therefore can be seen on the world map. This makes the Campaign feel much more like a linear story instead of just a group of random levels. Plus how the world grows and becomes more spiky (signifying levels) as you continue in the game is pretty cool. I do slightly fear that the single player campaign being fairly short could be a problem but then again, it's at least an hour or so long if you read all the dialogue, the game is pretty difficult so it's not a cake walk, there is the scoring mechanic and the Versus local multiplayer mechanic. Scoring is now in all the levels and is now calculated by the time it took you beat, how much damage you took and how much you carried out. I added it to the world map too so you can easily see your score under each battle. I also added a little credits sequence after the Epilogue which was oddly heartbreaking to write to be honest. It's nice to be near the end of my project, but at the same time it's kinda sad. What am I gonna do with my time? Oh yeah, make more games. Other things I worked on includes changing hitboxes to make them more fair and responsive, adding more fade ins and fade outs during dialogue, fixing some nasty bugs and making some cute little improvements.
Battle 5 is now complete! I still need to do some finishing touches and bug fixes but the content for it is all done. I also wrote the epilogue detailing the ending of the game (;-;). As well as that, I did a fairly large overhaul of the game by creating gamepad support. Unity is clever in the fact that it translates some keypresses into gamepad button presses allowing for easy porting to gamepad. However, this did generate some problems where Y (or triangle) was set to jumping, which wasn't efficient at all. I changed the controls round, and I think they are pretty good now, although there are an awful lot of wasted buttons. This sounds great and easy so far except, Unity doesn't do translation of the menus. Therefore, I had to go to EACH menu of the game and code in support for the controller. I also had to basically redo the world map entirely, now creating a trigger in front of earth so when the level you want to play is in that trigger, you can press A to start it. You can also rotate the earth using the analog stick. I need to make it so the gamepad controls are not used when using KB+M as currently the Gamepad ones are given priority, for some reason. I also added scoring to the game (well the Rabga level anyways). Currently, it only calculates 100 - the time it took to beat the level, but I'll expand on this and add it the other levels tomorrow. I also fixed some bugs and added some other stuff as usual.
Battle 5 now exists! It's actually relatively close to being done too. Battle 5 is by far the most complex battle due to Vanto's mad puzzle-like rage mode and as a result is taking a little while to code. Luckily, the rage mode code is nearly done, it works, it's just a little buggy and needs to become somewhat...scarier? Vanto is barely animated (about 2 of 6ish animations done) and the shadow attack looks awful and needs a lot of work. The environment is mostly done, but I will be taking another look at it at some point. So basically all I need to do now for this battle is, animate write the dialogue and polish! After this battle is done, I'll be taking a second look at every battle to see if there is anything I can add or improve and just overall polish the game up. I'd like to add scores and a speedrun statistic too. After that, tutorial and local multiplayer! As well as working on battle 5, I wrote some new dialogue giving some context to the boss fights and what their rage modes are. I also added some more characters names at the start and then assigned them to a planet which they protect to make the universe seem bigger. I added the Evie battle (battle 4) to the world map and replaced the tick from the default one to a pixelated one.
The last few days of work have mostly consisted of working on Battle 4. Animating Evie, balancing Evie, designing her Rage mode (Regenerating Health), writing dialogue and creating the environment. However, I've also managed to get some more improvements to the game. Firstly, the game now features save files! When you beat a level, a variable is now set to true which signifies you beat the level. This is stored in PlayerPrefs and so is stored even if you restart the game. Currently, this is only used to put a simple check mark next to battles you've beaten, but soon it will lock off levels you haven't beaten as a way to force the player to have to progress to reach future battles. I also created a button to delete your save files under the settings. I also changed a lot of dialogue, and added more. I fixed some annoying bugs too. The largest bug I fixed was the bug where under the options settings the resolution would appear multiple times. BattleBlade is coming along well!
I've been forgetting to do blog posts recently, so here's a big one. Firstly, I started working more on Battle 3 with Axku. This level is now functionally complete I just need to polish it up and balance it some more. Axku's rage mode is designed (two shadow attacks left, up and down) and works perfectly. The background looks decent but may need some more work as some of the trees look a little strange. Battle 3 can now be accessed from the world map alongside the other two battles in the game right now. Battle 3 also has an intro and an long extended dialogue scene with some interesting and big twists involved ;). I started working on Battle 4 while I was at it just because the making a new battle procedure is tiring and tedious, so I want to get it over with to be honest. It involves a lot of copy pasting but with slight name changes that it bores me. But once it's done and I can do the fun stuff! Battle 4 is with Evie and is in a volcano environment. The environment background is done AND animated! I may add some more frames later though as right now its only 2 frames. The copy paste scripting is mostly done too for this level. No values for difficulty or new rage attacks have been changed though. I fixed some bugs in the game, improved some of the dialogue in the older levels and other light improvements. :)
|
AuthorMy name is William Hughes, and I study Games Development. I also am learning Web Development and general programming. Archives
May 2018
Categories |