I have been thinking about what I should do as the next boss for a while and giant tentacle monster was all I was coming up with. So here it is. Just a mock up for now, and I already know I’m gonna hate myself when I start animating it since it’s huge and I don’t want stiff animation but I’m pretty happy with it.
I am thinking of having the eye follow the player around but I’m not sure how that will work with all the animations for the different attacks etc.
Working on the 3 main dungeon tilesets that I have so far. Others are coming but I’m focusing on getting these ready for Greenlight and Beta/Early Access. I’m calling the main Dungeon one (Right) ready but the others still need some heavy tweaking, especially when it comes to colors (too dark or bright etc).
I hope you guys are liking the project so far. If you are interested in seeing more experimental and or work in progress bits, follow me on my Twitter where I’m a lot more active. Thanks!
Updated the weapon generation to also include colors. Colors can either reflect the type or element or just be random if the weapon has no special attributes. I also updated the attack animations so that the slash reflects the color of the weapon instead of always being white. This was particularly annoying to do since the slash and the character animation where a single sprite, so I had to separate them first BUT, I think it was worth it.
I also trimmed some frames from the attack animations because of input lag. There were 2 frames of winding up before actually bringing the sword down. Those 2 frames made it look smoother however the input lag was very obvious and most players would find that very frustrating. Combat feels a lot better now and faster now.
The generation for the weapon colors needs a bit of tweaking but I’m going to call this closed for now so I can go back to focusing on the Greenlight trailer. That’s all for now!
I haven’t posted in a while so I thought I would give an update to let you all know what’s up. I am currently working on putting together that Greenlight trailer however I am also working on putting the game together. What I mean by that is I am putting together a working, fun, game that someone can play and experience in a somewhat playable state.
All the features I have been posting on this blog are almost all created in a test environment or “Room” and once I got them to work I just move on to the next feature. This left me with a bunch of features that are in separate bubbles that work on their own and not at all tested in a typical game cycle. The actual game is just a sequence of (somewhat broken) empty rooms connected together meaninglessly with just one enemy type and haphazard obstacle placement.
So that is what I’m dealing with right now, no more features for a while, just putting everything together and MAJOR bug fixing. It’s already feeling much better but there is A LOT of work left. However once I have a stable game cycle I would have a good idea of the state of the actual game and maybe start working towards a beta and put up a development road-map.
Also while messing with the chests I updated the animation because it was awful and made chests explode with gold when opening which feels really satisfying. That’s all for now. Cya!
After a much needed week off (Trip to Scotland with my SO to see the country and catch a show of my favorite band ‘Bring me the horizon’) I am now Back to Work!
I put in some polishing but I couldn’t stop myself from adding more features/content so here is a new Trap. It’s pretty straight forward what it is and what it does but I think I can do some clever stuff with it in level design. For now it just sits there before it is triggered and is sent barreling down the room and demolishing anything in it’s path. I thought of making it drop from above which would probably look better but I want this trap to 1-hit-kill the player so it needs to be easy to dodge, otherwise it might be insanely frustrating.
Here is the Lich trying to hit the player at all cost. Even if it means blowing up the zombies he just summoned. It’s okay though. There’s always more corpses to bring back to life. The Lich doesn’t give a s**t!
Another batch of Lich boss animations. Most of the coding I’m doing is mostly on the back end so I don’t have much to show apart from animations for this guy and others.
The first animation is for the tentacle attack - the Lich digs tentacle things into the ground and pokes spikes out from underneath the player.
The second animation is a stagger animation. Unlike other enemies you can’t just attack the lich. You first need to stagger him with a specific attack (more on that later) then walk up to him and beat him up in the small window in which he’s vulnerable.
The third animation is a reaction to when he’s hit in his stagger stage. I realize he looks like he’s walking in hilarious way but hopefully it will look right in-game combined with black blood flying everywhere. Or maybe I’ll give him the ability to slowly try to walk away until he recovers.
Updated the particle system to allow me to create circles instead of just squares. Been meaning to this for a while. Here is a gif showing random red shrinking circles and a quick dust-trail for the player using the same particle system. Everything is obviously WIP!
Finally! Here are the last gifs for the Lich/Necromancer boss! Time to start working on getting this guy in-game and working. I might add another attack animation or two later on but for now I’m gonna call it finished.
That’s all I have for today. For the next couple of weeks I will be focusing on coding now so I might now have a lot to show. I will try to think of some interesting stuff to post here for you guys instead. Until next time!
Finished up the Dungeon Hub room design. This will be a small room at the top of town (through the skull doorway) where the player can get teleported to all sorts of dungeons. Pretty happy with it so far though I will need to add some minor animations to it and also figure out the best way to place it in-game.
Yet another Lich preview! I have been having so much fun with this guy! Fighting him already feels pretty good, especially when he starts summoning zombies all around and you have to keep killing them off while trying to dodge his attacks and try to stagger him with his own attack.
For now his logic is simply a bunch of states linking to each other. Now I need to put in some intelligence and attack patterns and actually make him move around. I am also thinking of adding two more attacks that he starts using once his health is below half. Still not sure about it though. I’m also planning on putting in an HP bar for bosses in the HUD. So much work to do!
I hope you guys are enjoying the previews for this guy. I will take a video of a fight with him once all the logic is done. That’s all for now. Cya!
Started working on Room events and Advanced triggers. What you see above is an example of a Room that will be generated and placed randomly in a dungeon (this one I created by hand). I re-wrote all the code for room exits and gates to make them one thing. Now every exit has a gate and can be locked without a problem which allows me to quickly shut off every exit in the room with one command.Combining the new exits/gates with the old Trigger system (I posted a bunch of stuff about that ages ago) allows me to do neat stuff like this.
A lot of modern action roguelikes like Binding of Isaac and more recently Enter the Gungeon (amazing game btw) depend on the mechanism of ‘Enter a room > Defeat all enemies to unlock doors > Move to next room > Repeat’ and while I didn’t want my game to be like that, I still wanted to include it as a feature that can happen once in a while. Also this is required for events like bosses and other stuff.
So the first step in path-finding is complete. For now the path is limited to the underlying room grid. Next step is to get it in straight lines around obstacles so that the enemies move naturally instead of along the gird.
For those interested in what’s under the hood, up to this point it was simply a matter of implementing the A* algorithm into the game and get it to work with the existing Room Tilegrid and existing objects. A* is a very common algorithm for accurately finding shortest paths between two objects. Look it up if you’re interested to see how it works. There are also tons of examples and tutorials online.
Instead of using generic Node objects which are commonly used in an A* algorithm, in this case I used the existing Tile objects which already contain information on what a particular tile contains. This will make it easier to determine if an enemy can walk through a Tile or see through a tile. For example the Water object makes a Tile unable to walk through however it can still be seen through, meaning the archer could take the shot if the player is within attack distance. Also flying enemies like the bat will be able to fly over water and other low obstacle tiles.