03/05/2020 - Update 1
I have decided that over the summer, while university has nothing going on for me, I will be working on a new and improved version of BioEnhanced. This was the first team project I worked on in my first year of university, and it was fun to make. I have been meaning to come back to this game for a while now, but I wanted to wait until I had more experience. I now feel I am more competent with the flow of game development, and I can work on this project better than I did the first time. I will not have a team for this one, I will be doing this solo.

This will not be an exact copy of the original game. A lot of changes will be made, and I have already planned some of these before starting the project. The main initial plans for the game itself are below, and these will be added to and changed a lot between now and when the final project is complete. I plan to keep the main aspects of the game the same, keeping it as a 2D top-down, dungeon crawling, bad guy fighting, fantasy style game with a very basic story, but the first thing I decided to change was the art style. When making my own games, I like to go for a 2D top-down view but with 3D models, I feel it keeps the nostalgia of the 2D games while implementing modern 3D characters.

I will be keeping this place updated with any and all updates to the project, both for you viewers and for myself to keep track of how things are coming along. Hopefully this project is a success!
04/05/2020 - Update 2
I have modelled the main characters now. As I am doing this top down, I decided to just go for the hats that the characters might wear. This includes a Mage's hat, a Knight's helmet, a Ninja's mask and bandana, and a Gangster's hat (inspired by Night At The Museum 2). I have done this for both the good guys and the bad guys, each having a different colour scheme.

I also came up with some more ideas I could implement further down the line, the main new one being the weaknesses to other classes. I have listed these and tried to justify them below, and I have also listed the weapons that each class would use. I am currently question whether to call the melee class Melee or Ninja, I think I'll put a few polls up somewhere and see what others think.

Next I'll be doing some basic mechanics and testing them on one of the characters. I'll be starting with the player mechanics like moving, attacking, and picking up items. Once I've done this for one, I'll be implementing this for other classes as well so that all the playable characters have the basic mechanics.
05/05/2020 - Update 3
I programmed some of the main mechaincs of the character today, the moving (including rotation) and the attacking. I went for the Mage character so the attacking was a magic spell. In most games the starting magic spell is fire so I modelled a fireball and that's what's being used as the projectile that the Mage is launching. I'm quite proud of how it's turned out, it looks pretty good. A video of this can be found below!

I think the next thing I'll try doing is adding a static enemy and seeing if I can get the fireball to damage the bad guy, adding a HP element in there. After that I might try working on enemy attacks, getting the enemy to attack automatically is definitely going to be needed. I'll most likely go for the Mage again as I've already got the fireball there. Look forward to Purple Mage vs Red Mage!

I have also started to think about changing the name. As this was the name of the university project, I feel it would be best to leave that name there and use a different one as I am doing this without the rest of the team. I'll be coming up with a few different names and most likely putting polls out to see what name is the most liked.
07/05/2020 - Update 4
I have started programming enemy functions using the Red Mage enemy. It's still very basic at the moment, it just looks at the player and moves according to the distance between itself and the player. Next I will be making it attack the player and then I'll be putting a video up of how it's all working!

I have also implemented damaging enemies as the Mage, so shooting the fireball at the enemy will damage and eventually kill them. The plan is to have more powerful attacks avaliable to buy between each level so that enemies become easier to kill later on. I will be adding player HP with the enemy attacks so they'll be able to have a proper battle!
-09/05/2020 - Update 5
The evil Mage now attacks the player and both can be damaged and killed. They both shoot fireballs at each other until one of them dies. There is just one problem at the moment...the fireballs curve! If either character moves after shooting a fireball the fireball itself is altered because it inherits its position and rotation from whoever shot it so I'll need to work on fixing this. I'm thinking of having two different fireballs and connecting them to the different characters but I'll think about it and figure it out.

I put out a poll in a couple of places this morning about the name of one of the classes. Should it be called Melee or Ninja? When asking, a third option was brought up: Rogue. I added this to the poll and the results came in saying that it should be called Rogue so I'll be using this name from now on when referring to it. I am yet to come up with names to change the game to, but I am thinking about it and will be asking the groups what they think when I have enough options.

When asking others about the name of the 4th class, someone came up with another idea that would be fun to implement: class upgrades. While I already plan to have weapon upgrades, I may also implement something that shows the class upgrading as well. Whether it be a simple name change such as Mage to Wizard to Sorcerer or if it's something else the player can spend their gold on that increases health, it would be interesting to use this in some way.

My next task is to fix the curving fireballs in some way, and come up with a list of possible names. If you can think of any, comment and leave your ideas! I would love to take them into consideration.
10/05/2020 - Update 6
I have fixed the curving issue! The issue was the fact that the parent position (the Mage who shot the fireball) affected the position of the fireball itself. I fixed this by taking that away and having two different kinds of fireball instead, a "good" one and a "bad" one each shot the good Mage and bad Mage respectively. Nice easy fix!

I am still working on the name of the game itself for now, I'm leaning towards calling it "The Enhanced" but I'll ask what others think first and see if anyone else gives me any magical ideas.

I'll be working on items next. I plan to have the enemy drop coins once they die, then the player can pick them up and collect them for spending later on. Once I've got that down it's time to work on other characters! I'll probably do the Gunner first, I've already been working with projectiles so the programming shouldn't be too different, just a smaller projectile that moves a lot faster! After that I'll do the Rogue and finally the Tank. Once I've got the controlling and AI sorted for all of those it'll be onto weaknesses, and then scene design!
10/05/2020 - Update 7
Two updates in one day?! What's going on?

I now have coins implemented! I don't have a coin counter or anything like that yet, that will most likely be added when the UI stuff is added as then I'll be able to have a visual number for how many coins are collected. The video below shows the coin in action!

The next task is adding more characters. As I said previously, I'll be doing the Gunner first as I already have projectile stuff here ready I just need to change the model and the speed and then add the AI into it. Overall, going well so far, no really big problems yet!
14/05/2020 - Update 8
I now have Gunners working, both good and bad and they now fight each other. The way I'm doing it at the moment is quite messy and has a lot of separate scripts that could definitely be combined and I will work on that when I have everything working. Tidy scripts are a very important thing!

Next it's onto the Rogue. This character is melee and uses swords and other blades to attack. I'll have to change how the enemy moves for this one as for the other two, they kept their distance from the player to shoot at them, but this time I need them to get up close and personal. Once I've gotten that sorted, it'll be onto the Tank. I'm thinking of changing this class name to Warrior, as it seems more fitting considering the model for this character is a knights helmet. I am also still choosing the new name for the game as a whole, but that can wait as I still have a lot to do before I get anywheree close to releasing the game!
07/08/2020 - Not an update
It's been a while since I have done anything to this project. I will be getting back to things soon though, so look out for content! I will still be doing the Rogue next, so nothing has changed there.

I took a break while I sorted out moving, and then couldn't find the motivation to get started. However, a couple of days ago I ended up sending a message to the recruitment manager of a big company, and I feel that while contacting people will help get me somewhere, the portfolio will also be a big part of things. So I plan to be getting back into it very soon! Keep an eye here for content!

I hope everyone is staying safe during the pandemic, the world has been a weird place recently.
07/08/2020 - Update 9
So I am back to looking at working on things for this project. Previously, I had created the Mages and made them fight, and created the Gunners and made them fight. Now it's time to create the Rogues and make them fight.

It turns out I had already modelled a weapon for them (I had completely forgotten about that!) so that's the first thing sorted for me. It's a small dagger, which can be wielded close to the body and used quickly, making it a very high contender for fans of button-mashing. I will need to balance this by making sure it doesn't do too much damage per hit, otherwise it will be completely overpowered and break the game.

As for the AI, it will need to differ from the previous two. The Mage and Gunner stayed a distance away from the player, shooting them with either fireballs or bullets from afar. This won't work for the Rogue though, as it cannot throw the blade. This means I'll need to program it to get a lot closer to the player so it can actually fight and be a half decent challenge.

This will be a nice challenge, as I'll need to get back into programming and I'll need to work out a new way of controlling the enemy. Bring it on!
10/08/2020 - Update 10
Progress has once again been made! I have been working on the Rogue character today. Getting the moving done was easy, as I've done moving before so that was nice and easy. I then got the bad Rogue to move as well. As I said before, this would need to move differently due to the fact it's a melee character, not a ranged character. So I set it to have a set distance of around 2.5 units away from the player, which gives enough distance that the two don't start clipping into each other, but also gets close enough that the blades will be able to collide with the opponent.

Once the movement was done for both, I got the player's blade involved. What I wanted was the blade to stay close to the player even while moving, and for the blade to rotate between two points around the character's centre position to represent a slash with the blade. This firstly meant setting the character to be the parent of the blade, which was simple enough as I have done this (in a way) with all my other characters and their weapons. I then used a very handy "RotateAround" function within Unity to rotate the blade around the centre of the character. The blade now instantiates upon mouse click, rotates between the two points, and then destroys itself.

The next thing I'll be doing is getting the enemy to also be able to attack, so they'll need their own dagger and I'll need to tell it how to use it. Once that can happen, I'll be able to apply the HP decreasing scripts to the blades and characters and then they can start actually dealing some damage. I'll also edit the code slightly so that as well as the blade possibly destroying when it reaches the final point around the character, it will also destroy itself if it comes into contact and deals damade to the opponent. Once those two are fighting, I'll be able to move onto my final class, the Knight!
09/09/2020 - Update 11
I had to take a break again to sort out moving again, but I've settled into my new place so I can start working on this again!

I have programmed the bad Rogue to attack the player, the dagger rotates around the enemy the same way it rotates around the player now which is fantastic. The characters can now chase after each other, attack each other, and die. When the player dies, as this is still a testing file, all that happens is that a "You died!" message appears in the console, but when the enemy dies, the body and weapon are destroyed and a coin is left in its place. The Rogues are now complete!

The next task is to create the Knight and his weapon. I already have the character models as seen below (04/05/2020) so now I just need to create a weapon of some kind. Knights were known to use swords and shields when they fought, and seeing as blades are already taken, I will be using a shield to attack. I will need to model one and then implement it in a similar way to the dagger, except much, MUCH slower.
12/09/2020 - Update 12
I have modelled the shield and it can be seen below! I'm quite proud of it, I got the curve done quite well I think.

Next it'll be getting the Knight to be able to use the shield and then the bad Knight after that. I know how I want it to look, I want a thrust forward with the shield to make it look like the character is bashing their opponent with the shield.
13/09/2020 - Update 13
The player can now make their Knight use the shield by thrusting it forward. It disappears after a short time so that the player can use it again. The bad Knight can also attack the player now, so that is the end of the player vs enemy programming! Right?...

Unfortunately, there is one problem I have come across that should hopefully be reasonably easy to fix. Currently, all enemies look for something with the tag "Player", and it doesn't matter what class the player has chosen, they will always have this tag. However, each enemy has a different tag depending on what class they are. At the moment, each player class can only attack and damage the enemy of the same class type, but my Knight cannot attack the mage, rogue or gunner. Having the separate tags is still optimal as it will make things a million times easier later on when I program weaknesses to certain types and all of that, so I just need to alter the player programming slightly so that they can attack all class types.

Once I've altered this programming, I will be able to move on to the next part of the game at last! I think the next thing I'll be doing is some scene development, so that the players have somewhere to actually move around instead of floating in what is currently a big red void. Once I've got a basic design of some kind, I'll fill the room with some obstacles for the player and enemies to move around, change the enemy AI so that they do actually move around the obstacles instead of running headfirst into a big pillar. While this would be funny to watch, it's not the best idea ever.
18/09/2020 - Update 14
I have finished the programming, now all player classes can attack all enemy classes. I can't actually test the melee classes against the enemy ranged classes at the moment as they run away and run off screen, but once I do scene building I'll add in walls so that they can't just run away freely.
19/09/2020 - Update 15
I have started creating the assets for the levels as shown below. This will take a little while as there are a lot of assets to create!

My idea is to have each level act as a maze, where the player has to work their way around rooms trying to find the exit. Each level has a different theme (e.g. forest, sky etc.) and will therefore need different assets. Each room in each level will be set out slightly different with the obstacles in slightly different places and different numbers of enemies. Each room will also have walls around the outside of it mainly to stop enemies running off screen. My ideas for what the walls are made of are as follows:
Forest - trees
Desert - sandstorm
Ice - ice wall
Water - no walls, just water that can't be crossed
Volcano - lava falls and rock walls
Sky - clouds
Mountain - rock walls
I also plan for some of the levels to have special unique features, like the sky being the only one with no obstacles in the rooms, and the volcano having randomly falling rocks that can block your path or possibly kill the player. I don't yet know what order to put the levels in but given time I should be able to work out the order that puts the easier levels first and the more difficult levels later.

I also came up with an idea for my boss fights. For my dissertation for university, I plan to be looking at enemy evolution, where throughout the game the enemies evolve to challenge the individual player and their playing style. I was thinking about possibly putting that into this game and having the bosses choose their class types and weapons based on what the user has been struggling to fight and what class the user is weaker against. This would make for a more individually fulfilling game, as it would be tailored to fit the individual player instead of just having the same boss fights for everyone, where some players would find the bosses a challenge and some would find them easier. This method of creating the bosses would make the game in a way where every player faces a challenge. I'll see if I can get it working in my dissertation first, using a different project, and if I can then I'll attempt to implement it into the bosses.
29/11/2020 - Update 16
It's been a while since I've had time to work on this, as Uni has been keeping me more busy than ever with animation and engine building and lots of stuff.

Once thing was decided though: the name of this project. It may be changed again by the time this has finished, but I needed to move away from BioEnhanced, as that's an old project that is no longer being developed. The new name is (drum roll please)...

Project Enhanced

I like this name better if I'm honest, I feel it fits the "story" more. So, from now on, this project shall be known as Project Enhanced, and it will be called this when I eventually complete it and send it off for release. Now that I'm free I'll actually be able to work on it as well!

I've had some ideas about where to go with this and what I can implement. For my dissertation, I am working on a type of AI that, if successful, I would very much like to implement here. I have also started looking into level generation like the Pokemon Mystery Dungeon games, where every floor is different every time you go into it. If I can get those two working, they would be excellent additions to this game. But for now, back to basic level design. If I can acually work out how to do grass in Unity that would be great...
30/11/2020 - Update 17
I have changed my mind on the forest area style. I tried to use hair particles in Blender to create a grass effect, which was fine while within Blender. However, when trying to export this to Unity, it fails and does not export. Therefore, I have gone for a different approach. I have instead modelled a flower, and duplicated it several times over a green plane. This has been imported correctly, and the result can be seen below. I think it's pretty!

I have also modelled a tree that will be surrounding the area, which can be seen below, along with what one of the final tiles will look like! This is before I add in camera controls, which will be done so that when a player goes to exit one room, the camera flows over to the next square of terrain. There will be lots of squares of terrain in one level, and to get between two squares there will be a gap in the trees for the player to pass through. There will be colliders there to stop the enemies passing through, as having them pass from one room to another would not be a fun thing to deal with in game.

Once I know colliders work and the enemies cannot move outsid of the room, I will construct an entire level and add in camera controls, and then I'll have a playable game! Of course this won't be the end, I still need to add in things like UI and sound and other levels, but this will be an excellent start on the road to release!
02/12/2020 - Update 18
I changed the way the characters move, making them more flowy instead of rigid by adding force instead of just setting the position. This allowed me to actually make the characters and trees collide instead of clipping inside each other.

I have also finished creating level 1! The forest level is complete, but I may add more so that there are a number of forest levels to go through before moving on to the next area. I have tied the camera position to the player position, and set up environment outside the main maze area so that the void cannot be seen. There is a trigger collider at the exit that currently resets the scene, but this will be changed to suit the game later on.

The whole level can be seen below, along with a recording of the level being played! I now have the most basic gameplay, and I will be developing further levels later on along with GUI elements and a menu. I'm unsure of what to actually implement next, I will decide within the next couple of days.
19/02/2021 - Update 19
So unfortunately, I did come down with COVID shortly after the last update, however I am fully recovered now and am back at uni with courseworks and a dissertation taking up a lot of my time. Not all of it though, as I managed to find some time this morning to make a small update to this!

I fixed the floatiness of the characters by changing how they moved, now it's more game and less physics simulation. I also started adding some GUI elements, at the moment it's just the HP and the coin counter but progress is still progress! I am also looking at tidying up the project soon, once I've got the main GUI elements sorted and I know what I'm doing with them.

Opening up this project again to work on it some more felt great, I've missed it a lot. Unfortunately, it did also remind me that at some point I will need to do more level design, which will hurt my brain again! But, in all honestly, I highly look forward to being able to work on this properly for a good amount of time without uni work coming first.
18/05/2021 - Update 20
It has been a long time since I got to work on this! I had my uni work to finish (some of which will be up on here soon), then I had a game jam (which will be up on here VERY soon), and finally I have free time to spend on this project. I'm glad to be back!

I looked at where I left this last time I updated it, and found something horrible. I had to do more level design. Designing mazes is something I can do if I really try, but there must be a simpler way, right? A way that doesn't involve hours of going over maze designs for ages? Maybe even a way that makes the game more replayable?

Of course there is! Random maze generation has been a thing for many years, and today I finally looked into it. In a separate Unity project, I put together a random maze generator that can take in any floor size and produce an appropriate maze for me. This was accomplished with a recursive backtracker algorithm, which is quite a fun little thing to implement! Below there some screenshots of some different mazes that were created using this algorithm.

Now that I've saved myself hours of maze design, all I need to do is transfer this algorithm over to the main project so I can give it the floor and tree assets I created before, then get some beautiful mazes being generated! Throw some enemies in there and I have a great level ready to go.
19/05/2021 - Update 21
I combined the maze generation algorithm with the assets from the previous project and had a few scaling errors, but now that that's all fixed I can create mazes using the assets from before. An exmaple of this is seen below.

I made this in a separate 3D project, instead of a 2D one like the previous projects were in. This was part of the reason for the scaling errors but it all turned out alright in the end. The next thing I will be doing is moving over all of the scripts from before so that I can recreate the logic from before. This should be complete in the next couple of days!
20/05/2021 - Update 22
The player mage is back in now! Getting the rotation working took a little while but I got there in the end, and now the mage is moving, looking at the mouse again and shooting fireballs. I'll get the 4 enemies done next so that we have something to fight, and see if I can get them moving around the maze properly. Fun AI things!
20/05/2021 - Update 23
I've added in the enemy mage now, and as I was doing this I changed my mind about something. For these normal enemies, I'll have them spawn in and then stay where they are. I'll implement boss fights and such that have a bigger area with a moving boss and then spawn these non-moving enemies in there as well. But that's for later. For now, time to implement more enemies!
21/05/2021 - Update 24
I've added a small code block to the character instantiation that spawns the enemies in random places across the map, and I can easily add and remove enemies from the spawn list as needed, and they will never spawn on top of each other or on top of the player (though they may spawn next to the player!). This makes things easier later on, as I won't have to worry about working out the best places to spawn enemies. Random mazes with random enemy spawn locations!

The enemy rogue has been added along with it's dagger, getting the swing to work right was a pain but I got there in the end! I don't think it'll make an appearence in the first level, same with the knight and the gunner, but it's now ready for use in future levels.
22/05/2021 - Update 25
The enemy gunner returns ready to shoot all the bullets it can at the player. As this is quite a difficult enemy to defeat without taking damage due to how fast the bullets move, this will be an enemy for later levels when the game should be getting more difficult. I may make the bullets do less damage than other weapons purely so that the player won't get completely wiped out by them instantly every time they run into one of these. It also means the player can't just choose the gunner character and run around having way too nice a time, we need some sort of challenge in there!

The enemy knight has also been revived, shield in hand, ready to bonk the player on the head for getting too close. These will definitely be doing more damage later on, as they are very slow and easy to dodge, so it should be quite difficult to get hit by them. And that's all the main enemies done! For now at least...

UI is back in the game, and just as last time, it's only the HP and the coin counter. At some point I hope to have a little UI sprite I can use as a background for these things, as well as maybe a personal font I can use! That would look cool. The next thing I'll be adding is the different damage numbers as mentioned above, as well as the weaknesses I mentioned back when I started this project. As the first level will only contain mages, the player won't immediately see these weaknesses unless they choose the rogue as their character. I'll focus on the mage first and just use that for all the levels for now.
23/05/2021 - Update 26
After just over a year of development, class weaknesses are finally in the game! That took a while...

I've set each weapon to have a set damage amount, and then when it collides with the player, it checks which class they are, and if it's the right combination (for example a fireball hitting a knight) then the damage is doubled. I've also set the starting HP values to accomodate this rise in damage, so that everything doesn't just die in one hit. As the melee weapons have the obvious disadvantage of being melee weapons, I have increased the damage they do to compensate for this.

I added a little something to the UI as well. Every time the player gets damaged, the HP text flashes red for a second, and every time a coin is picked up, the coins text flashes gold for a second. While not the biggest change, it looks cool, and that's what matters most with this development.

There's a video below of how this version is looking so far. My current issue is the map generation. I can create the tiles that are actually part of the maze, but then the player can see off the edge of the map. I'm thinking I still need to create them in the map generation script but just how and where is my problem. I'll be working on this next.
25/05/2021 - Update 27
I had a bit of a break yesterday after receiving some less than great news, but I'm back today and ready to go again. As I said last time, the first thing I'll need to do is find a way to create the map outside of the maze so that the player can't see the edge of the map. Did I find a way to do this?

Yes I did! Expanding the map by 3 tiles in all 4 directions and then creating new tiles in all positions where one didn't already exist means no map edge is visible and the game looks a lot better because of it. Now that that's done, I need to decide what to do next. There are a few things I could work on. I could do the design for another level, I could do a start screen, I could do the other weapons for the characters. As I don't have a 2D UI sprite yet, I think I'll leave the start screen for now. I have the plans for the different levels, so I could create the floor and wall assets for those. I also have some ideas for more weapons for the mage. The thing I'll be working on first is...

None of those! The first thing I'm working on is an area for a boss fight, followed by some sort of boss the player can fight and getting the logic down for that. The area will be much like the maze, with the floor tiles and then trees surrounding the area. I'll have to experiment with sizes for the area to make sure the player can be seen without them being too small, but also big enough that the boss doesn't take up the entire screen. I won't have the camera moving for this one, it'll just be above the centre of the area. Lets see how it looks!

I had to expand the outside of the map to cover the edges again but it's looking alright at the moment. A screenshot of the first test is below! I need to add in the player character and check that they're visible next.

They're visible but they are a bit small and move a bit slower than I'd like, so I think I'll be using a smaller area for now. Once I've fixed the sizing issue (and an issue with the mouse position) then I can work on creating this boss. It'll be a forest themed boss to fit the level, of course!
27/05/2021 - Update 28
I'm still working on that boss, weight painting can take a while with so many bones in this armature! I did have one idea though.

A lot of big games at the moment have some sort of multiplayer involved. There's Destiny 2, Among Us was recent, Fortnite has been big for a while now. So if I was to implement multiplayer into my game, how would I do so? I was thinking something along the lines of a 4v4 match, each player chooses their class and then they get the most powerful weapon that they've unlocked for that class. This will also involve a save state, so I can save what the highest level of each class is and then can use that in the multiplayer. The two teams fight until one team is completely dead, and the surviving team win. Save states our reasonably new to me outside of basic .txt files, but they shouldn't be too hard. Networked multiplayer is something I've worked with before, both when I made the 4-player pong game and then again when I made my own game engine. I think this would be a great addition to the game!
28/05/2021 - Update 29
The boss has been animated! There's four separate animations (idle, normal attack, special attack, death) which will be used in different circumstances, I just need to work out how I want the boss to be programmed. I think I will use stages in which the special attack becomes more likely when the boss is at a lower health percentage, and more normal enemies spawn as the boss gets closer to death. There's a video down below showing the four different animations! The video shows a low-poly version of the tree, which will be higher poly for the game itself. It also shows the animations from two angles, a front angle and a top angle more like the one that will be seen in the actual game.
29/05/2021 - Update 30
The tree boss is now fully implemented! It has two attacks, a stick throw and a leaf machine gun type attack, it takes more damage from the mage and does more damage to the gunner. There's a video below of a test fight against it!

Now that I've got this done, The next thing is either a new level, or a start screen and some UI updates. 2D art is not my best element, so I may look around for an artist that can help. I think I'll do the logic for the main menu first, and then get the art done later. After each level I'll have it return to the main menu and then the next level will become available to the player. After that logic is sorted, it's time for the next level. I'll be making new tiles and walls for it, and it will hopefully look great!
30/05/2021 - Update 31
Quite a lot of work today. The first thing I did was get the logic for a main menu sorted, which now does everything except an options screen (I'm unsure what I'm going to put in here, there's a few possible things but I'll have a think about it). This menu starts as a main front screen with start, options and exit. Clicking start sends the player to the character selection screen, which also includes showing how many coins the player has accumulated over the course of the game, as well as the current HP of the four characters. Once a character is chosen, the level selection screen appears, but as there is only one level at the moment, there's only one option here.

Following this, I felt it was necessary to create the other 3 playable characters. I spent time creating these, so now the player has 4 options of character to choose from. Each character has their own HP, and these go down individually. The next thing I will do is implement a system where the player can spend coins to heal their characters. I will also try to get some images of the 4 characters to put in the menu instead of just red squares. I'll also need to add an upgrades menu where the player can spend coins on more powerful weapons.

There's a video below showing the progress from today!
31/05/2021 - Update 32
Healing is fully working now! The character selection screen includes heal buttons for each character, and now when clicked, they check that the character isn't already at full HP, and that the player has enough coins, and then heals the character (if appropriate) for up to 20 points with a maximum of 100.

I have added rendered images of the four playable characters to the character selection menu as well now, and a screenshot of it now can be seen below! The images are .png files, makes things much easier for this!

I want to try and comepletely finish the menu before I go back to doing level design, and this means coming up with more weapons for each character. For the mage this has already been planned out, I'll be adding a blizzard spell and then a thunder spell. For the other characters I'm not sure. I'm thinking about a minigun for the final weapon for the gunner, but I don't know about the middle weapon.

It didn't take as long as expected, I now have the plans for the rest of the weapons! The mage will have fire, then blizzard, then thunder. The rogue will have a dagger, then a katana, then a scythe. The gunner will have a handgun, then a shotgun, then a minigun. The knight will have a shield, then a hammer, then a mace. Time to go make some weapons!
01/06/2021 - Update 33
All the weapons have been modelled! There are screenshots of them all below, I'll get proper renders of them all when I need them for the menu. You'll notice that there's only one bullet, but this was intentional. I'll be scaling this up for the shotgun, and then using this scaled up one for the minigun as well.

The next thing will be getting the logic for the upgrades menu done. After that, I'll be getting the renders done to get those into the menu as well. Then I'll be getting the weapon swapping done, I think I'll make it so that only the most recent upgrade is used, not giving the choice of all 3. I don't imagine people would use a lower level weapon when a higher one is there!

Each of the final upgrades will have an ability. The mage's thunder will be able to go through walls and hit things the other side. The rogue's scythe will have a chance for an instant kill. The gunner's minigun will have explosve rounds as the final round in a magazine that deals extra damage. The knight's mace will be able to break the walls in the maze (not the edge walls though, or the walls in the boss room). I'll add these abilities in when I program these weapons!
02/06/2021
Not really an update today, just making a quick list of things I plan to add later on!

~ The rest of the levels
~ 2D UI art
~ Soundtrack
~ Online multiplayer

The list may grow as the project develops further but for now this is what I plan on. I will most likely recruit an artist and composer, I know some amazing people for both of these. For now I'll be working on polishing what I've got so I can get a demo out! I can't wait for you all to be able to have a go!
05/06/2021 - Update 34
All the weapons have been completed! They're all in the game and the characters can use all of them correctly now, including special abilities that come with the level 3 weapons. I have decided to give each character their own upgrade menu, as most people seem to favour context specific menus over generalised menus. The upgrades stay permanent after being bought and can only be bought if the player has enough coins. I also went and rendered some images of each weapon so that the menus showed the actual weapons instead of red squares, just like I did with the characters previously. Everything is now working with the upgrades menu, the characters use the different weapons depending on their current weapon level (kept separate for each character of course) and it's all looking a whole lot better! There's some screenshots below of all the upgrade menus!

I think the next thing I'll work on is the options menu. In here I'll include normal gameplay options (brightness, volume etc.) and a controls page. Some of this won't actually change anything yet (I have no sounds!) but it will be there for when it is needed.

I have also made some more decisions. I believe the best option for a final boss would be to bring back all the previous bosses from the previous levels and have the player fight them all at the same time. On top of this, I have also decided that it would be best to create a separate space on this site for the demo and keep that up to date with any trailers I make, any talks about the game itself and things like that, and keep this as a devlog space. This may also lead to a slight redesign of this page, so keep an eye here!
06/06/2021 - Update 35
I started work on the options menu today. The two volume sliders don't currently affect anything due to the lack of music and sound effects in the game. The brightness slider affects the light intensity in the levels, but does not affect the brightness of the UI. I've done a test build and everything is working as it should! All it's missing is the 2D art for the UI and the music/sound effects. Once I've got that, I'll have the demo ready to go!
07/06/2021 - Update 36
I realised I can do some of the 2D art! The UI for the forest level has been done! I used the leaf I made for the tree boss and got a render of that, then used this render as part of the UI for the forest level. I'll do something similar for future levels! I have also added the price of each upgrade to the upgrades menus so the player knows how many coins to aim for if they want a certain upgrade. The next thing I'm working on is a design for the buttons, which can't take the same design due to scaling issues.
11/06/2021 - Update 37
I took a break for a few days to sort out moving again and see if I could get any sort of ideas for the buttons, other UI art, and the music. While I'm still not sure on menu backgrounds and fonts, I do have my own button designs now and I've come up with a small repeatable music piece that can be used in the boss fights, and another that can be used in the levels. They're both have a similar pattern to them, but if differs enough that one can tell which is meant for the mazes and which for the bosses. I plan to talk to several different composers, give them these melodies and the theme of one of the levels, and see what they can come up with. I want to try using a different composer for each level, so that I get an amazing soundtrack with many different styles, while also getting the names of more composers out there. I have some in mind already, but I will have to look around for more.
25/06/2021 - Update 38
It's been a couple weeks, but for good reason! I have spent the last two weeks looking into music composition software that I could possibly use myself, and I found one! Cakewalk by Bandlab is a great piece of software, and after a little bit of exploring around it I find it quite nice to use. Here's the download link if you want to try it out yourself! https://www.bandlab.com/products/cakewalk

Using this software, I have now got 3 separate themes! One for the main menu, one for the maze, and one for the boss. These themes are all on YouTube now, here are the links!

I have put all these themes into the game, and sorted the programming so the background music volume slider affects them, so the game is sounding awesome! For the demo, the main things left are menu backgrounds, a logo, a font, and sound effects. Lots of 2D art, most of which I think I'll do using 3D models, same as I did with the in-level UI and the buttons. Here's a video showing what it's like so far!
25/06/2021 - Update 39
I created an image using GIMP for the title in the menu, that can be seen below. I think I'll leave the rest of the text in the default font for now, if I come across a font I really like later on then I can work on putting it in there.

I tried to create a sound effect for the fireball, but it did not go well. I can write music, but sound effects are not something I am currently capable of doing. I will leave them out for now,  but I will keep working on it until I can create something that fits.

The only things left are a logo and the menu backgrounds. I think I'll keep the menu backgrounds simple, something like the Final Fantasy IX menus (example below), then it's not too much and it will work with scaling which is very important.

Later that day...

I made the menu background! I used the same gold outline as I did for the buttons and then made the centre blue, a bit like the FFIX reference image. There's a photo below of course! This just leaves a logo, I might do something simple like just have the "E" from the title text, a big red "E" is pretty instantly drawing I think!
27/06/2021 - Update 40
After adding in the background for the menus, I decided to also add in a starting screen and a pause screen. The starting screen was rather easy, I animated the main logo (seen above) to make it appear and then disappear before the main menu appears. The pause screen was a bit more complicated, as I wasn't originally sure how to make everything stop moving. Thanks to Brackeys' video showing me that changing the timescale of the world fixes this. The video is here: https://www.youtube.com/watch?v=JivuXdrIHK0

I have also updated the main menu, adding in an "Online" button. As I have not added anything for this yet, it just shows a screen that says "Multiplayer coming soon!".

After doing this, I have basically the entire demo ready to go. However, I think I am going to add some things and change some other things first. The changes will be the cost of the upgrades, and the additions will be a second level for the demo so people can get a feel for multiple levels. These will be the next updates, and then I can get a trailer ready for it. Looking forward to having this demo ready to go!
02/07/2021 - Update 41
This is going to be a BIG one. A lot has happened over the past few days, and it has been a great time.

Firstly, there is a second level now! It's a water themed level, with a big water blob as the boss. The maze is bigger now, and the enemies are tougher (more HP). I gave the boss four attacks. The first is a slap if the player gets too close, this doesn't do too much damage so melee players should be able to handle it. The second is a teleport, where it can randomly teleport to four different points on the stage (this also gives less of a cooldown). The third is a water shot, like the tree's stick throw just a bit faster and does a bit more damage. The final attack is a super shot, where 8 water shots shoot out from the centre of the stage. This one can be quite devestating if multiple end up hitting the player at once (up to 40 damage in one go).

The themes for this level were very similar to the themes for the forest level, but with better suited instruments. These can be found here:

I updated the cost of the upgrades, they are now half of what they were previously. This makes the upgrades easier to reach and it doesn't take half an hour of grinding just to get one.

I created a small loading screen that shows the progress for loading the next level. This is a common appearence in many games, and solves the issue of games freezing in place for a time while the program loads the next scene.

The game also saves now! Every time a level is complete (complete meaning the boss has been defeated and it's coins picked up), the game auto-saves, and every time the game is turned on, it loads the save back up automatically. This means the player doesn't have to worry about losing progress because they forgot to hit save!

The next thing is the itch.io page. I set this up ready for when I release the demo of the game, and because it's a demo I set the price to free but donations are more than welcome. That page can be found here: https://martinjimbobbrockett.itch.io/enhanced-demo
My itch.io profile, which includes the award winning Ocean Heroes and will include other projects I work on in the future, as well as the full version of Enhanced when it is ready, can be found here: https://martinjimbobbrockett.itch.io/

On the itch.io page for the Enhanced demo, you can find the final two updates I wish to talk about. The first of these is the trailer! I recorded myself doing a big run through of the game, edited this, put it over the forest boss music, and now it's on YouTube and the itch.io page! The video can be seen here: https://www.youtube.com/watch?v=ZMYyedLAGbU

The last update I have for now is that the demo is officially available! The itch.io page has a download button on it ready for anyone who wishes to play the demo, leave some comments and have fun with it!

This is the biggest update I've done in a while, possibly across the entirety of this project. It's amazing to have a demo out there now, I will be sharing this around as many places as I can. I'll also be taking a break from developing anything for it, just to give people time to give feedback and report on any bugs or anything, then I can collect everything that's been said and work on building this up to be a game that people will enjoy! I look forward to working on this and finishing this project, this is the furthest I've ever gotten with a project and it feels fantastic to just have made it to the point where I can release a demo of a game.

I'll be posting links here to anywhere I post the game, I'm thinking about uploading it to NewGrounds as well as itch.io, I've heard very good things about that. But until that point, go download the game off of itch.io and play it! And have fun!
05/07/2021
The second trailer can be seen here: https://www.youtube.com/watch?v=Dan1aWsUWog
06/07/2021 - Update 42
I have fixed a bug in the demo where the knight could spawn their weapon, move backwards, and the weapon would stay for as long as they were moving backwards. The up to date version is now on the page here https://martinjimbobbrockett.itch.io/enhanced-demo
07/07/2021 - Update 43
Another bug was mentioned to me to do with the mage weapon cooldown. I have fixed this and changed it to a fixed cooldown for each level of weapon now. The rogue has been updated to do slightly more damage due to it feeling weaker than the other characters. I have also added a damage displayer into the level UI that shows how much damage the players last attack did. The up to date version is now on the page here https://martinjimbobbrockett.itch.io/enhanced-demo
07/07/2021 - Update 44
I have started development on the third level! The theme for this one is Desert, so a sand dune will be used for the walls, and a sandy texture (created by mixing an orange colour and a noise texture at a high scale) will be applied to make it fit the theme. Once I've got the level sorted, I'll put screenshots of them below!

I have also started work on a final boss theme. It'll be one of the biggest musical pieces in the game, so it's going to take a lot of work. It's sounding amazing so far, I can't wait to share the final thing!
08/07/2021 - Update 45
When creating the third level, I decided that the enemies would get their mid-tier weapons here. However, when I went to run this, I realised they didn't actually have the weapons ready! I fixed this, and now all enemy weapons are ready to go, have been given to the right enemies, and are used in the right levels. I have made the level tiles and walls now, and the levels are built. The only things missing are a boss, music themes, and a new UI piece to replace the leaf and bubble. Screenshots of the level will be just here!
09/07/2021 - Update 46
I have created and animated the desert level boss, and this will be the next thing going in the game. The boss has 5 moves, 4 of these are walls coming from each direction, the fifth is a circle wall that closes in on the player. This will be done using the same walls as the walls making up the level, as they still fit.

The next things to go into the level are the UI element to replace the leaf, and the musical themes. Once they're in the level, the level will be complete!
09/07/2021 - Update 47
I spent today doing the AI for the sand boss, and encountered some issues when it came to the bosses using moves more than once. I don't think this issue was carried over to the demo build, as I changed the way the moves work at a later date, but just to be sure I will finish level 3 and upload this as part of the demo. I will then duplicate the project and keep one as the demo version and one as the full version, that way if any bugs appear I can get them cleared in the demo. The bosses are all working now, including the sand boss' mage one-shot special (you'll have to play to find out!). All that's left is the UI and the music themes and then level 3 is ready to go!
10/07/2021 - Update 48
The UI has been done, I used sand dunes with a much more red tone than the level models for this one, the rendered image can be seen below. This is now in both the desert maze and the desert boss parts of level 3.
As well as the UI, I have also composed the theme for the maze part of this level, which you can listen to hear: https://www.youtube.com/watch?v=3ZV31x0aYsw
12/07/2021 - Update 49
The boss theme has been created and is in the game, completing level 3 now! I have fixed the bug that I found in my version of the game, and as I'm not sure if it made it over to the demo, I have put level 3 into the demo now as well. Both of these things are linked below!

This is the last thing I'm adding to the demo now. I'll be duplicating the project and having the new one as the main game where the rest of the levels will be added, and then if a bug appears in the demo again I can fix it without needing to add any more levels. I hope people can enjoy the demo and look forward to the full release of the game!

20/07/2021 - Update 50
After finishing the demo, I took a break to collect myself and also start on a Game Jam that I've joined. I'm doing the sound for the team I'm part of, it's a low resolution jam so the art is not something I'd be able to help with. More information on the jam can be found here: https://itch.io/jam/lowrezjam-2021

I'm back looking at Enhanced now, and I quickly noticed that it was possible to move through the walls if you try hard enough. No one else has brought this up so I assume it hasn't been too much of a problem, but it is still definitely worth fixing. I realised I was doing physics outside the physics loop, so by changing that it fixed all the problems there. Nice and easy!

As I'm only doing sound for the Game Jam project, I'll still be able to focus a lot of my time on Enhanced, which is of course a great thing. I'll be posting more progress on the jam on my page here, so look out for that!
22/07/2021 - Update 51
I built level 4 using the texture above, this one is a mountain level. I'm not sure what I'll make as the boss yet or how I'll create the themes, I'm still going to need to do some thinking there. The level can be accessed after level 3 has been completed, and has a nice set of medium difficulty enemies waiting for the player. Once the boss exists, I'll be connecting that level and then it will loop back to the main menu as normal. Should be fun!
02/08/2021 - Update 52
It's been a while since I've been able to work on this, but I'm back now. I've got 3 projects going on at once: this, the Game Jam I mentioned previously, and a new secret project that is certain to be fun to work on.

I went to check over everything when I loaded up the file, and found that for level 4, none of the bad guys were spawning in the correct place. As it turns out, as maps get bigger, it starts taking longer for the program to load that than it does the bad guys, so if it's all inside Start() functions, the bad guys get loaded first, spawning them all in the wrong place. Changing this so the map is spawned first (inside an Awake() function) fixes all of this, and should work for the rest of the levels. Bonus points for it not breaking the previous levels as well!
12/08/2021 - Update 53
I have been spending a while trying to come up with a design for the boss of the mountain level, and this one was not an easy task. I ended up choosing a gargoyle, which I thought would be a great idea as gargoyles are made of stone, have wings, and look generally quite scary. This was until I started to try and model it. It was at this point I found out that I hate trying to model gargoyles. It took me several days to get it to a point I'm alright with, and even then it is still not my best work. This was not at all easy!
14/08/2021 - Update 54
Most of the animations have been done now, I just need a death animation for this boss. Then I put it into the game, give it some AI, and happy days. I've still got to create the themes for the mountain level as well, which I always look forward to doing. I cannot wait to finish this level off, I've spent too long on it now!
19/08/2021 - Update 55
The animations are finished, the AI is programmed, and the gargoyle is ready to slaughter anyone who crosses it. Again I've made this boss change its moveset depending on its current HP value, but there is something new with this one. During a certain stage of this fight, when the gargoyle goes to use a move, there is a 50% chance of it doing nothing. I think it could lead to some interesting and fun battles!

For this mountain level, the only thing I need to do now is create the music for it. Again, there will be a level theme and a boss theme, similar to previous ones just with the instruments changed up. As well as this, I am also going to revise the physics I programmed for the game, as I believe it could use some improvements. Should be fun!
21/08/2021 - Update 56
The maze music for the mountain level is done! The link will be at the bottom of this update when I upload it. Just the boss music left to make and then this level is complete! Apart from the initial forest, this level has taken me longer than any other. Apparently mountain levels are difficult to create for me!

22/08/2021 - Update 57
The mountain boss music is done, both themes are in the game, the UI has been updated, making this level finally complete! This one took me a while, partially due to coming up with the design for the boss and partially due to outside things happening, I believe they call it life?

The next thing I'll be doing is revising the physics for the game, as there are some things I wish to change slightly. After that, it's on to the sky level!

23/08/2021 - Update 58
Technically this was yesterday but it was late enough that I'm putting it as today. I've altered the physics of the entire game so it should run better now, all that may need doing is altering some of the speeds connected to the movements and rotations to get them perfect.

I'm also thinking about changing some of the "permanent" scripts. Currently they're attached to an object that gets created when the main menu loads up, but not in any other scene, so if I start playing on another scene, it mini-crashes and I can't do anything. If I made these static, that would solve that priblem. I might try and give this a go and see if it fixes the problems there.

This is now later today, I've gone through, tested and fixed all the speed values for the physics of the game, and things seem to be working better now. This gargoyle boss is very difficult though, the speed of its shockwave attack is super high!

I attempted to make the "permanent" scripts static, but there is one small problem I have encountered. The game needs to be able to load, and if I load the main menu scene first then that's fine, but if I load any other scene first then the game does not load. Static classes have no vrsion of "Awake" that I'm aware of (they don't derive from Monobehaviour) which makes it difficult. I'll have to keep looking around for a solution to this.
24/08/2021 - Update 59
Yay for static contructors! It seems to run after Awake has fully run, after Start has started, but before Start ends. I really want this running before Start runs at any point, as it involves loading the game, so I might see if there's a way I can get around this. Apart from that, everything has been moved over to the static scripts successfully, and it all still works. It's great stuff! The next thing for me here is to make level 5, the sky level. This will be fun!

The floor and the walls have been made and the maze is ready! Now I just need to design a boss and then the full level will be playable. Hopefully this part doesn't take as long as level 4's boss, I don't want to be stuck here for ages again! I think I'm going to stick with some sort of cloud for this, like a big storm cloud that shoots different weather elements as the player. We'll see what happens!
25/08/2021 - Update 60
I found a great place for the game loading to go! Every scene has a camera, and every camera has the audio for the level. With this comes an audio script, which wasn't using any Awake function. This meant it was free for me to trigger the game loading from the audio scripts Awake function, which now runs every time a scene is loaded. And to make sure the game only loads once, as the game loading is inside a static script, there is a simple boolean value that is set to true when the game has been loaded. It works great, and it runs before Start just as I'd planned. It's great!
27/08/2021 - Update 61
Yesterday I took a day off to see some friends I haven't seen in a couple of years. Remember that it is very important to take breaks, spend time with friends, and just take yourself away from the routine of work for a little bit. And stay safe while you're doing it! Now, back to the game...

I have created a cloud boss and the AI for it is scripted fully! The only thing now is to create the weapons for it, give them some code, and send it into battle with the player. This boss has 4 elemental attacks, but a player will only ever see two of them. The AI checks if the player is using a melee or a ranged character and changes its attacks accordingly. Against melee it uses the ice wind and the fire rain, and against ranged it uses the thunder and the tsunami. Once the weapons are done the boss is ready to go and it will be just the music left to sort out!

It took a little while but the sky boss is complete! I just need to do the music now and then level 5 is done. Once I'm done with it I'll be recording a big playthrough and making a new trailer, as that's something we all love to see. This level has done a lot quicker than the previous level, and I'm super glad about that as I don't think I would've enjoyed taking that long again.
28/08/2021 - Update 62
Both the themes for the sky level are done! They can be heard here and here. Time to put these into the game, and then the sky level is complete!
04/09/2021 - Update 63
In the last few days I've been working on debugging and making a trailer for the game! Here is that trailer! The next thing I'm working on is of course the next level, which is the ice level. I imagine the music will be similar to that of the sky level, but we'll see when we come to that.
07/09/2021 - Update 64
Since releasing that trailer I have been working on the ice level, the level is mostly complete now (it just needs music and a new UI image) and I'm working on creating the boss today. I've decided it's going to be a snowman, and it's attacks are going to be based around an icicle sword it has.
08/09/2021 - Update 65
The snowman is modelled, animated, and fully programmed including other weapons like the sword and the snowstorm it summons. The UI element is rendered and can be seen above. The only thing left to do now is sort out the music for level 6 and it's done!
09/09/2021 - Update 66
Both tracks are now in the game, and the links to the YouTube videos will be below. This makes level 6 complete! Just level 7 and the final boss left to go for single player mode. So close now!

11/09/2021 - Update 67
So after playing with the game for a bit, I realised that the minigun was slightly overpowered compared to the other to level weapons, and that all the top level damage was a bit low. So I fixed this for the player (not changing the enemy ones yet) and now the top level weapons do damage as follows:
Thunder - 80
Scythe - 90 (possible 1000)
Minigun - 87 (assuming all bullets hit)
Mace - 100
12/09/2021 - Update 68
The final volcano level is coming together quite quickly, the tile and wall are done and the maze is built, the UI is done, the only things left are the boss and the music. The boss is going to be a lava monster covered with rocks, and the music is going to be the same instrument setup as the final boss music with the same melody as the previous levels.
13/09/2021 - Update 69
The boss is complete, and Level 7 is now fully playable. The only thing missing is the music, and then I've got the final boss left to do. The single player mode of Enhanced is nearly complete!
15/10/2021 - Update 70
The final boss is complete, the end credits have been added, and the single player mode of Enhanced is complete. I'll be recording content today and making a trailer for twitters #ScreenshotSaturday. After that, it's the multiplayer side that will need building. I already have ideas for what to do for multiplayer, I just need to finalise them and start building them. The full game is halfway there!
21/10/2021 - Update 71
After some thinking, I have decided on 4 different multiplayer modes that will be in Enhanced. They are:
- Coin Battle (4-Player)
- Arena Mode (4-Player)
- Maze Race (2-Player)
- Co-op Boss Rush (4-Player)
I'll be using Mirror as the networking library that will be used, it's free and allows for these smaller modes using client-host architecture. The main menu has been updated so there are now routes to the multiplayer modes. The player will choose a character, and then the scene will be loaded and there will be an option to create a room or an option to join a room. LAN parties are coming back!
24/10/2021 - Update 72
I have been working on Arena Mode first. In this mode, 4 players face each other and the last one standing wins. Each player starts with 999HP, and when they reach 0 they die.

Getting the networking sorted is going better than I thought it would, I can spawn in 4 players correctly now (the spawning was exceptionally strange to begin with), the next thing I need is to be able to spawn weapons and have them hit other players and reduce their HP. After that I'll get some basic UI up that displays all the HPs of the players, and then I'll do some almost lobby type waiting where no one starts until all 4 players have joined. I need to creat some sort of create/join UI as well that isn't the basic NetworkManager HUD that comes with Mirror.
29/10/2021 - Update 73
Networking is going great! The players can spawn in, their HP is displayed, updated and synced correctly, the weapons spawn correctly and deal damage, the players have to wait for all the players to have joined before being able to start, and when the players die their character gets replaced with an empty that just keeps the client connected until there is an official winner. All that's left is a good menu, some music, and maybe a countdown of sorts too.
13/11/2021 - Update 74
The Arena Mode and the Coin Battle are both done! After getting Arena Mode done, my only massive worry after that was getting a random maze to spawn correctly over multiple clients, but it turns out that it wasn't a problem at all! Now that I've got both of these modes completed, the rest is mostly just rearranging what I've already got to make a new multiplayer mode. Just the race and the boss rush left to go!
19/11/2021 - Update 75
The Maze Race is complete, I had some errors firstly with the camera (having it as a child of the player created some problems initially), and then with the ending where either everyone lost or the server crashed! Thankfully I managed to find fixes for everything, and now it's working as it should. Only one multiplayer mode left to go, the boss rush!
25/11/2021 - Update 76
The development of the boss rush is going slower than expected, as I'm running into problems I didn't expect to have. I discovered that even if the host and the client are in different scenes, the client could still connect to the server. I've spent time figuring out exactly how to fix this before I continue and start testing the boss AI. The first boss for the boss rush is ready to be tested, but I need to fix this scene difference issue first.
30/11/2021 - Update 77
Well I finally managed to get that fixed! For three of the modes, the network manager waits a second and then checks how many objects in the scene have the "Player" tag, as all players are in the same scene and therefore the number of player objects will be equal to the number of clients for the game to go ahead. For the race, each player object is in its own scene, not shared across the network, so I had to figure out a separate way of doing this. I chose to have an empty object spawn on the server at the same time as the player object spawning, then I have the network manager scan for that empty object instead of a player object. This means everything is now working! Time to go finish the boss rush! Or fix it, I'm yet to find out...
05/01/2021 - Update 78
I had a couple of small things to fix, changing Command attributes to Server attributes and things like that, but everything works now! The boss AI syncs correctly across all players, things are working as they should, everything is fantastic here! Time to implement all the other bosses!
10/12/2021 - Update 79
Another day, another boss implemented into the boss rush. The first 5 known bosses are now implemented, just the Snowman and Troll left to do. I've been using the final boss movesets for the most part, minus the fact that in the final boss all bosses have a chance of doing nothing. As it is a main part of the Gargoyles moveset normally though, I left that in. I'll also be leaving it in the Trolls moveset, as again it's a main part of that bosses moveset. Nearly done!
22/12/2021 - Update 80
I took a bit of a break there to deal with interviews and things, but I came back yesterday to continue with the work on this. The Snowman and the Troll are both in, there's just one more thing I need to add to this boss rush. Then I can make any extra music I need, get testing, and hopefully that'll be the full game ready to go. Then it's advertising for a while, building up a big audience (the audience is already bigger than I imagined!), and then releasing the game early next year. If everything in the next couple of weeks goes well, I think I'll be looking at a March/April release. Exciting stuff!
09/01/2022 - Update 81
The first update of 2022! Just over a week in and already it's been stressful, but that stress is dying down now and I'm getting some motivation back. The final addition to the boss rush is coming along nicely, probably the most complicated model I will ever make but hey it's looking good, especially seeing as I'm not an artist. I'm going to try and get this model finished by next week Saturday so that I can show it off for the weekly #ScreenshotSaturday on Twitter. Everything is going great so far! It's nearly done!
11/01/2022 - Update 82
The model is getting there! The bag will be made smaller and be placed around the character of course, and there's some smaller extra details that will be added as well. The photo below shows the current position of the model!
15/01/2022 - Update 83
I finished the characters main model and named her Evelyn! I got some renders of her for showing on Twitter, which are below. I have built a skeleton for her, I just need to give the vertices to the bones and she's ready to animate. I have also started doing some music research for her theme to find inspirations and help me work out exactly what I want her theme to be. I've got a good idea of the basics already but the more I can narrow down the individual components of the track and what each piece is inspired by, the better the final track will be. I'm looking forward to getting to the end of this project!
25/01/2021 - Update 84
So things have been going a bit slower in the last week, as I've been a part of this years Global Game Jam! Once that's finished, my time will be fully back to this unless I have a job by then.

More exciting news! I have announced an official release date! Saturday April 2nd is when Enhanced will be available fully to the public, and will have everything in it including my newest character Evelyn. The model for Evelyn was more difficult to do that I realised, as the second I started moving her around she started clipping and you could see the shirt and even sometimes her back through the jacket. I have fixed this now, it's not perfect but it's so much better, I can't wait to have her fully done!

Linktree if you want to find me in other places - https://linktr.ee/MartinJimbobBrockett
29/01/2021 - Update 85
So the Global Game Jam finishes tomorrow, after that I'll be able to fully focus on this again. The Jam has been fun, but I will be glad to be focusing my attention back to this.

The other weapons for Evelyn are mostly done, I just need the turret now. This is going to be a slightly different weapon, as it's going to have its own HP pool and is going to stick around until that HP pool has been drained. Certainly an interesting weapon, I look forward to programminng it!

I have come up with a schedule that I would like to try my best to stick to. If I do stick to it and everything goes smoothly, then all will be good! The schedule looks like this:
- Sunday Jan 30 - Finish Game Jam
- Sunday Feb 6 - Finish building Evelyn
- Sunday Feb 13 - Finish device connecting/matchmaking
- Sunday Feb 20 - Make sure I've starting major testing by this point
- Sunday Mar 13 - Finish testing/debugging, the game fully works
- Monday Mar 14 - Start getting streamers involved
- Monday Mar 28 - Start super advertising
- Saturday Apr 2 - Release the game
Things may be moved around if I finish certain bits quicker or take longer with other bits (hopefully the latter doesn't happen) but this is the starting set up. I cannot wait to have this game released!
31/01/2022 - Update 86
The Global Game Jam ended yesterday, so today I get back to working on Enhanced, yay! The first thing on the list is to finish sorting out Evelyn. I've modelled all her weapons, scripted them, added the status effects to the players, and they're all ready to go. The only things left are to make her fight theme (yes she's getting her own) and to update all of the bosses AI as I want to change some things around, especially Evelyn's targetting system. First, the music. Time to get the 8-string out...
01/02/2022 - Update 87
There has been a small amount of progress with the music in that I can finally get my guitar recorded WITH all the effects I put on it! Yay, at last! Now I just need to find that perfect tone for the song and then it'll be time for recording!

As well as that, I did some game quality bits today. I changed the font for the text in the game so that it matches the font that the title is written in, I updated the damage text in the single player mode so that it says whether you or an enemy dealt the damage, and then I went through the buttons and changed the highlight colour so it's now much more clear which button is being hovered over. I have also changed the cursor so that it's the same "E" png as the games logo, this may change again at some point!

I really want Evelyn finished by this Sunday, which will include finishing her music theme and updating all of the boss rush AI. The AI I can get done at any time, the music I can only do during certain hours of the day, so that will take a bit longer but hopefully it can still be finished by Sunday.

I will also be adding some more basic game quality bits, like enemy health bars and pretty particle systems. It's currently undecided as to whether I'll add the health bars to all enemies or just the bosses, but the bosses are getting them either way.
02/02/2022 - Update 88
Enemy health bars have been added in, only for the single player bosses and I haven't done any for the final boss as that's 7 enemies at once and the health bars would take up most of the screen at that point! Currently, the last game quality thing I can think to add is some pretty particle systems, but I think I'll leave that until after the boss rush AI has been updated. For the rest of this week I should be getting Evelyns music done, updating the boss rush AI's, and maybe adding those particle systems depending on how quickly I get other things done.

It is now later in the day and the boss rush AI's have been updated, meaning the only thing left to do for Evelyn is her music. As I said previously, I can only work on the music during certain hours of the day, due to not living alone currently, but as it's early enough in the week I feel I can still get it done by Sunday. Apart from that, other things I'll be getting done alongside that are some game quality things, of which the list has expanded slightly:
- Pretty particle systems
- Sound effects
- Lore pages?
Again, as sound effects are in fact sound, I'll only be able to work on those during certain hours, but particle systems are silent.

As for lore pages, the idea was brought up when The Indie Cluster mentioned this while streaming the demo. Items that the player can pick up that help to expand the lore of the universe the game sits in. I think I can make this work by having 7 pages, one hidden in each level, and have each piece of lore give the player some clue about the game. For example, this is how I could get the player to know about weaknesses between characters (knight being weak to mage for example). And of course, I would have to include something about the history of elves in this lore collection, with the appearence of Evelyn in the game. This idea could definitely go places if planned properly!

It is once again even later in the day, and I have just finished re-balancing all the characters. I want each character to feel like they fit a certain role, and so I have changed some things around to fit that. Here's how they're currently set out:
- Mage - normal damage received - normal movement - high damage dealt - slow cooldown
- Rogue - high damage received - fast movement - low damage dealt - fast cooldown
- Gunner - normal damage received - normal movement - normal damage dealt - normal cooldown
- Knight - low damage received - slow movement - normal damage dealt - normal cooldown
The Mage can deal high damage but not very often, and isn't the best at dodging but can fend for itself. The Rogue is very much about speed, lots of hits and getting away from the enemy again quickly before they can get hit. The Gunner is very much the Falco or Ivysaur of Super Smash Bros, the nice middle ground that isn't too fast or slow, and does decent damage still. The Knight is definitely the tank, being able to take a lot of hits, and it has to because it can't get away from enemies very quickly at all so dodging is out of the question. I feel each of the characters here fits their role well, and can be used well against other enemies. At this point, I hope to continue the story of the Enhanced at some point, so that I can massively expand on their abilities. This being a smaller game that is solo developed does limit what is possible in one game, but I still look forward to future expansions to the characters.

Another update for today! I've added some extra pages to the main menu that have the lore on them, but only if you've found the lore page in the specific level where it sits. There are 7 pieces of lore to find (World, Mage, Rogue, Gunner, Knight, Evelyn, Experiment) and each one is just an added extra that gives some background to the characters. In creating this, I also needed to update the save data. Of course if I left the file types as they were, it would have messed with the demo data and everything would have broken, so I have created a new file type. Upon loading the game, the loading process is now as follows:
- It checks for the new file type
- If it exists, load this
- If not, check for the old file type from the demo
- If this exists, load this 
- If not, load in the starting values for everything
The problem here came when someone wanted to restart the game. Hitting restart or losing all HP for all characters makes you restart the game and deletes the save, which should load in all the initial values. However, if the person had demo data, it would have loaded that instead, and it would not have technically been a restart. So what I have done is make it create a new save file containing all the initial values immediately after deleting the old one, so that the game loads this and actually restarts instead of loading the demo data again. The demo data can only be loaded once! (Unless you find the file yourself and manually delete it, then it loads the demo data again). Yay for save data!
03/02/2022 - Update 89
Today I managed to write the lore bits that can be read, design an object for the player to pick up that unlocks the lore, get started on recording and making Evelyn's theme and I got the pretty particle systems done. I may go through and add more particle systems, but for now I've added the main ones I can think of, inlcuding an important one for one of the Snowman's attacks that makes it less obvious where the gap is. Things are definitely looking better now, and I may go through and add more at some point. For now though, the most important thing is getting Evelyn's theme done, as that needs to be finished by Sunday. Sound effects would definitely help the game too, but that's another audio thing that I can only do during certain hours of the day so that will take a while I imagine.

While I've got little else to do, I'll be attempting to sort out the device connecting in the multiplayer. The current way I do it is not the best, and definitely needs changing. I know Mirror has a matchmaking system set up for these things, but I need to get it to be able to target the server that's on the host. I imagine it's possible, it'll just take some working out! This needs to be done by next week Sunday, so I've got some time to sort this one out.
05/02/2022 - Update 90
Wow, 90 updates on this so far, that's a lot! And we're not done yet, but we're almost there!

Yesterday I messed around with the multiplayer stuff and looked for a way to connect devices without exposing the hosts IP, and I found one! However, it involves Steam. I don't have to release the game on Steam I don't think, but everyone that wants to play the multiplayer will need a Steam account I believe. It's awkward, but I think most gamers on PC have a Steam account by now anyway, and I'll be releasing the game on there once I have the money for a developer account! Hopefully it all works out!

On top of that, today I finished and released Evelyn's theme! I met the deadline by about 46 hours ish, which feels good. The next thing now is getting that multiplayer stuff up and running, and then it'll be onto some major testing. It's so close to the end now!

06/02/2021 - Update 91
I have implemented Steamworks into the networking so that the clients should be able to connect to the host just by typing in the same lobby name that the host gave. The name is printed to the screen when the create button is pressed, so anyone joining should be able to find it. The games are set to be invisible, so they'll come up when searched for but won't appear in any lists of any kind. I changed the UI slightly as well for the multiplayer scenes to include a space to name the lobby and a back button. Everything should work now, and players should be able to connect without knowing any IP addresses or messing with their router to implement port forwarding!

I got that bit done very quickly, a week ahead of schedule in fact! So, from now until March 13th, it will all be testing and debugging. Unless the game proves that it works before then, in which case I can move on even earlier than that!

In the spirit of adding bits and making the game prettier, I managed to sort out an explosion effect for Evelyn's grenade and I managed to fix the shadows! Previously there seemed to be a strange ring around the player where inside the ring the shadows were fine but outside the ring they were not looking good, light was shining through parts of objects and the quality just wasn't there. But I fixed that, turned out it was a problem with the "Normal Bias" setting of the directional light, which is fully fixed now!
07/02/2022 - Update 92
I have added pretty things! In the single player mode, the bosses now spawn a blood bubble particle system that floats upwards when they die, like in Final Fantasy X when most things die and they release the Pyreflies. I have also added some weather particle systems to the main levels and their bosses as follows:
Level 1 - leaf storm
Level 2 - bubbles rising from the ground
Level 3 - sand storm
Level 4 - fog
Level 5 - clouds that float across the screen
Level 6 - snow storm
Level 7 - steam that rises from the ground
I also added a toggle in the options menu that allows the player to turn off the weather effects, as they don't actually affect the player in any way they only affect performance, so if the player finds that their computer is struggling a bit then they can turn off the weather.

The next extras I want to add are sound effects, changing Evelyn's fog bomb to a particle effect now I've worked out how to do those, and a screen in the multiplayer menu that explains all the Steam bits that need to be done before multiplayer can work. After that, unless I come up with something else I want to add, it'll be onto testing lots and debugging and making sure everything is working.
07/02/2022 - Update 93
I've slept since the last update so I'm putting this as a new one.

Evelyn's fog bomb now spawns a particle system instead of a transparent plane, and now looks a lot better. The main menu now has a space for me to describe the multiplayer steam bits, but I will have to work out exactly how it all works and what order to do things in before I can fill that space in. I have started coming up with a list of sound effects that I want to create when I am able to, thankfully a lot of them will be reused like the fireball that is used by several characters (mage, cloud, troll, possibly something else).

I have also updated the death for the enemies so they now release the blood bubbles, and the player releases blood bubbles and spawns "You died..." text upon their death before loading back into the main menu.
08/02/2022 - Update 94
I've just been adding more particle systems to things, especially the weapons. I think I have the full list of sound effects I want, so I just need to wait until the hours where sound things are able to be worked on and then work out how on earth to create these. I am definitely better at songs than I am at sound effects!
14/02/2022 - Update 95
The sound effects are being worked on and I've managed to get quite a few of them done now! Once they're added, I plan to alter the pause screen so that it's more of a pause menu, with Continue, Options and Quit Level buttons, then the player has the option to mess with options during a level if they find that they want to change the music volume or turn off the weather particles or whatever they want to do, it'll be there ready for them to change things as they wish. After that of course, it'll be onto purely testing things, which I will need several laptops for because I can't test the multiplayer properly using just localhost!
17/02/2022 - Update 96
The pause screen has been updated for all levels so that there are three buttons, one to continue, one to access the game options (volume, weather etc.), and one to quit the level and go back to the main menu. The sound effects are getting there, I just need external assisstance when recording some of them, or everyone I live with to be awake at least. Once they're all recorded, I'll be putting them all into the project at the same time, and then sorting all of them out together and then it's all done and I can start properly testing everything! My schedule says I need to have started major testing by this Sunday so as long as I've got the sounds done and in the game by then, I'm still running on time/ahead of time.
23/02/2022 - Update 97
As of Monday (21/02/2022), the sound effects were fully in the game and they were great. As of today, I have started properly testing everything, which was great because I very quickly realised I had forgotten to give the enemy daggers their sound, and realised I hadn't updated the sound system in the boss levels which ended up being game breaking! Thankfully all very quick fixes, and I can go back to testing other bits.

I have updated the "cheat checker" as well, which just runs some checks on the data that's being loaded. It checks if the coin value or any of the HP values are above 999, and checks the strings that are being saved to make sure they're not something they shouldn't be. If any of these checks return true, then it recognises that the save file has been tampered with, and punishes the player for it. I'm not sure how to run these checks for booleans, as they will either be true, false, or crash the game, making the player either go and undo what they've done, or delete the save file entirely.

I planned to have testing started by the 20th, but I'm only a few days late and that was mainly due to the sound effects taking longer to sort out than I thought they would. I'm there now though, and the rest of the schedule should still be all good and I should still be able to keep on top of it all. Currently, the rest of the schedule looks like this:
- Sunday Mar 13 - Finish testing/debugging, the game fully works
- Monday Mar 14 - Start getting streamers involved
- Monday Mar 28 - Start super advertising
- Saturday Apr 2 - Release the game
This gives me just over 2 weeks to find and fix any problems. If there are any major problems that really need fixing, I have a feeling it'll be to do with the multiplayer stuff, as that's the bit I'm least confident on here. I should be able to test at least the 2-player stuff in the next couple of days, and then the 4-player bits when I have access to a 4th laptop. I'm nearly there!
28/02/2022 - Update 98
It took some messing aorund, firstly with the Steamworks code and then with the finish line code, but the 2-player Maze Race finally works! Everything runs really well, it's all in sync, and there aren't any problems with it that I can find. Even on a device that is exceptionally slow and struggles to run anything, it manages to hold together for both the single player mode and the 2-player Maze Race now. Just the 4-player modes left to check!

I have also gone over the entire game and updated the way some of the sound effects work, I wasn't happy with how I was looping them so I changed that, and I have also changed the coin sound effects so that they no longer stack the sound effect loads of times, it only plays once per stack of coins, which reduces extra noise that wasn't needed. Things are looking good so far!
12/03/2022 - Update 99
So yesterday I managed to get the 4th laptop I needed and started testing the 4-Player modes, I found some bugs pretty quickly but got them fixed, and now both the Arena Mode and the Coin Battle Mode are working brilliantly (I may have to cut down the time for the coin battle). The last mode is the boss rush mode, and I'm pretty sure I can get this working today. Hopefully update number 100 will be me announcing a fully working game! It looks like I'll be able to keep on schedule even though I got the laptop so late. Super close to the end now!
14/03/2022 - Update 100
A day later than planned, but the game is now complete and fully working! Evelyn is working beautifully, and she is incredibly difficult to beat, with 5000HP, a move that summons 4 extra turrets, and a nice range of status effects for the players to enjoy.

Now, I need to start talking to streamers and seeing if I can get the game some attention. From now until the date of release, I'll be marketing and advertising a lot to try and bring in as much of an audience as I can. The more people want and get the game, the more people can enjoy what I made!

I don't imagine I'll be adding much more to this DevLog as I've finished developing now. After nearly 2 years, Enhanced is complete. It's been fun, and I can't wait to work on my next project!
Enhanced Devlog
Published:

Enhanced Devlog

Enhanced is a fantasy fighting dungeon crawler with different classes of characters and enemies, engaging boss fights, a simple but effective wea Read More

Published: