Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Cunning Rogue (Success)

A topic by badscribbler created Mar 06, 2018 Views: 647 Replies: 9
Viewing posts 1 to 10
(1 edit)

Didn't know this was a thing so blurb then recap.


Very traditional rogue like, I tend to like to get weird. Baseline of 27 enemies, 26 floors, grab an amulet then scoot on out. The main component of the game is that enemies will telegraph their attacks and where the attacks will land you can effectively avoid combat like the cunning and masterful rogue you are with the problem that you're leaving monsters alive and possibly forcing yourself to never progress or enter a pincer situation later on. Levels will be loop based to allow exploration without hitting dead ends and giving some meaningful ability to take alternate paths to rooms. Each enemy will try to have some meaningful differences between them, be it attack pattern, move pattern, or other special abilities though there are going to be some similarities in some cases current example being rats move 2 spaces and will threaten an attack while bats move 2 spaces and will threaten an attack and set up a move away, such difference. Weapons will have differences beyond damage. Swords are the highest dice single target attacks, axes attack in slashes that hit adjacent areas, and spears reach 2 squares. Other weapons planed but may or may not make it depending on how well enemy implementation and balancing goes.

Came into this with some previous render systems  and input system built on SDL2 and python 2.7. Its purely a sprite based system that I can use for a lot of things. Picked up some field of view and various other utility functions around on the web. Created a custom font sprite sheet. Had some various dungeon generation systems I peeled out some code for making loops with.

Two days I already did.

Day 1:

Got dungeons set up. Currently calling it a low quality pass as I don't like how the hallways go to the same spot. Got camera following in dungeon and the threat tile system working. Not much else as it was a half day.

Day 2:

GUI showing player health and setting up the inventory which took most of the day to settle on how I wanted it to work. Player can choose to attack with main or alternate weapon, swap these weapons with invantory, and swap armor off ground. All this happens on the main GUI with no sub menus though choosing what you're going to swap has extra key prompts displayed in the text scrawl. Added ability to swing weapon so that bumping is not the only way to activate weapon, this is to allow you to poke enemies with the spear or hit two enemies next to you that are a square apart with your axe. Decided that I should load basic monster stats off a document instead of hard coding in game so I made a system around that. Tested the bats and created numerous helper functions as issues came up and code needed to be reduced.

Today

Day 3:

Added player progression, though it is shallow gain hp every other level at the moment. Included a partial system of health regeneration  that is based off the last wound you took as to avoid the walk around to fully heal, testing with low level enemies either requires me to add dodge chance, damage reduction that trivializes low level damage, or more health to keep player alive or allow them to partially recover from non fatal exchanges. Added downstairs though they are not functional at moment but gives me ability to generate heat maps to figure out best routes to exit and place higher level monsters there and less likely visited areas to put treasure there if need arises. Decided after accomplishing scheduled tasks to try a stab at the hardest AI I would have during the project the Komainu that would guard a room and try and force player to retreat to a door they will guard. Managed to get it working to a decent degree got basic rats in, got a ranged attacker in and am calling it a day.

showing some of the getting smacked (though not killed these hit hard and are suppose to be midish enemies)

Dungeon layouts are going to be troubling in this but I don't expect AI is going to be as bad as I was thinking. Most enemies only follow one or two rules which may not be hard to program but the fact I'm shooting for 26/27 may be an issue. Will also need to settle on a better window size for game, default set up is a randomly picked square size.

Day 4:


Work night update.  Added a different type of indicate for threatened tiles so that some enemies can apply pressure without standing still or moving every other turn. Also threw in basic consumables and the framework for wand targeting.


Basic quaff

Targeting and throwing.

shield potion applied to do renders it quite resilient to stabbing.

Tomorrow I will probably put an actual wand in here so I can start doing the fun status effects. Once all basic systems are in it'll be the haul of Thursday for going down my various lists of adding and testing. Friday will be adding final ones, giving GUI a polish and then seeing what balance can be done before applying bloat. Saturday will be messing up every attempt to freeze this to an exe.

Day 5:

Made a quick run at some wands and then was going to set up some hazard tiles and expected it to take all day but went really fast.


So I went to add about a dozen more enemies Not much else to say 12ish more enemies to go. 8 more wands and a bunch of consumables left.

(1 edit)

Day 6:


Mostly an internal iteration day. I have only 9 enemies left on my implementation list and not much more to say.

those wands look cool! GL!

Day 7 till 2 in the morning:

Got friend over to work his as well. Finishing all the major implementations and testing. Major bugs appeared because of all things a mimic. The draw system that made it appear as an item instead of an item was killing the rest of the monster draws while it was hidden, a maddening bug to figure out. Also the graph and tile locaitons for rooms was not properly updating but due to the sorta soft ball design was un noticeable until I started appearing in walls.


Technical day7:

I always start in an afternoon and release on an afternoon so I kinda have an "8th day" in that I sleep 7 times over the course of this. These final frantic hours were spent fixing some potion throwing glitches, figuring out why leveled up hp was being reset to level 1 stats, adding in losing screen, wining screen, and absolutely making sure the game was able to be "completed". Now I do not have a full run from floor 1 to the bottom and then to top but I have gone as far as I could, died, restarted a level 1 character on that floor and survived getting down to the mc'guffin snatching it and getting back while repeating the process. Very hard to do when at that point a certain ranged enemy has a only a 3/8 shot of not killing you, at that point you should have a standby potion to nullify the attack or enough HP to tank it, though really the game is about assessing the situation and noodling my way past it which I have proven can be done. Compiling to Exe was a pain it was every year but I managed to do it, forgot that it wasn't installed on this machine and had to once again do the black magic dance of setting py2exe and making a scripting file to package things correctly again and getting it uploaded. I would say I was technicly over time but I had finished a halfhour before my start time and was more wrestling with distribution details which isn't part of the challenge.

Final Thoughts:

I did it. This was meant to be a very rogue inspired game and I at least hit the numbers of content for it even if the feel is different and I'm missing some features. Also the aspects of threat displays as Into the Breach inspired were interesting and allowed for a lot of monsters to be added into the game at a time in a meaningful way. Though using hallways to funnel enemies was still a tactic though how you dealt with them in the hallway actually differed which felt strange, though mostly it was get into the next room so you can dance around and bop them on the head as they missed you which was a strange inversion of the standard rogue system. In the end I didn't get everything I wanted in this game but I got my bare minimum and some extra.

3 basic point and attack weapons, Fist, Short sword, Regular Sword. 1 Sweep weapon in axe. 1 Pierce weapon in spear. 1 positional based weapon in rapier. 1 pushback weapon in hammer. 1 strange area of effect on enemies moving next to you in morning star. Items that did not make the cut were daggers allowing for 2 small attacks, chain to let you hit 2 enemies (but not one enemy twice), staff to let you move to another square, and iron knuckle which could have easily been put in there but pushes back an enemy and moves you into its space. I had left information slots to add more ranks of items but time ran out on me.

all 27 enemies were put into the game. I had changed a few ideas such as dropping invisible enemies due to not wanting to add a system for finding them or potions/equipment to let you see invisible. I didn't manage to get what I had wanted was alternate letter lists so in one game you have bats for b, another Beatles for b, and yet another for Bone Soldiers for b. If I had taken another day off work I possibly could have added this and I would think it would only help the game by increasing early game monster variety.

I had to leave out several potions and wands just do to time or very limited use (water would extinguish an AoE fire). The push wand was proving a problem and didn't get implemented.

Armor was only the base 3 which only have differences of chance damage will be reduced and stealth radius. In the csv file I use for data I even had fire and ice armor that was going to add to have fire and cold protection constantly get applied to player but the info screens and having the player lose and properly restart won out.

Rings, scrolls, staves,  identification, and other items were left by the wayside. They was no main plan to have these as potions and wands were enough in the original idea to have all the effects wanted. Identification was just droped, I had thought of doing something Golden Krone Hotel did and had the possibilities of each potion or wand be displayed and the player could have some idea of how to use it. With the low amount of wands and potions that made it into the game it wouldn't' have added much anyways. Rings were basically just potion effects though permanent and scrolls were potion effects as well. Recharging wands might have been interesting if they had a very low cap and took rounds to recharge but there were already wands in game.

Maps as I said before were soft balled. They weren't rogue 3x3  and were me trying out looped systems (which helped in letting players not have to be forced into every encounter and have alternate routes) though it wasn't the best implemented. I had also wanted a chance that corridors between rooms were wider and not all connecting to points in the middle of rooms but time ran out.


I put most of this success to assessing what code bits I needed before hand in FoV, Pathfinding, and just generally writing up a documentation of what I wanted in the game and making a schedule of when I wanted parts done and mostly surpassing the expectations of it.

This probably isn't the most coherent post and I might return to this after I get more than 4 hours of sleep.