Saturday, March 15, 2014

Fida'i - Completed 7DRL

The finished game can be found here: http://sites.google.com/site/fidairl/





Today was a relaxed day where I finished a few things to do with the visual pre
sentation of a couple of elements of the game and spent a bit of time trying to do what checks I could for terrible game-breaking bugs. I squashed a few of them and no doubt there are a few more left, but all in all it seems to be working well. 

I've got about 7 hours left so if someone finds any bugs, please let me know asap!!!!!

Fida'i - End of day six



Today was a day of bug fixing AI and attack routines. I also put in caltrops in the quickest and dirtiest fashion possible so you can throw these in front of your enemies to hamper their movement speed. I also worked on a few aspects of the UI like the menus and the information in the help screens, along with playing around with balance.

I think I'm just about done with a day to spare. I'll work on prettying up my main menu screen tomorrow along with a final victory screen and once I've got that done I'll package it all up with an executable and get it uploaded.

Friday, March 14, 2014

Fida'i - End of day five

Today is the day that my game transitioned from tech demo to actual legitimate game.



Gone is the debug mode showing the whole map and what's left is the claustrophobic field-of-view cone which means that the player needs to turn behind them to see if the enemy lurking up nearby is a threat or not.

The introduction of a narrative was the critical change from a bunch of stealth encounters which didn't mean anything. You are asked to perform a series of missions with just a handful of tools and whatever you can find in the town around you. There's a bunch of different ways to go about it - dumb luck, hoping that you'll find your target unguarded and unaware; all out aggression, hoping that you can win a fight where the numbers might potentially turn against you dramatically; luring away bodyguards from your goal to take out brutally; or better yet, luring your target away from his servants so that he can be dispatched without incident.

Neutral people become hostile if they see you do something evil, so if you're not careful then the rest of the town will quickly become gripped by panic, and that's particularly relevant as you try and escape the town to get to safety and your next mission. You can't access your secret escape route while being seen by a hostile person, so you'll find yourself either hoping to not be seen, or trying to shake a pursuer, or maybe even making creative use of smoke bombs for a dramatic and mysterious exit.

What's left is polish with respect to title, help, and inventory screens. I actually plan on putting a fair bit of detail into the help system because without knowing what the game is all about then it would play like a horrificly difficult death simulator as players try to melee bash their way directly through all fights.

Thursday, March 13, 2014

Fida'i - End of day four

This was a day where I got a fair bit done but not as much as I'd like as I became bogged down in technical AI issues and other bugs which popped up along the way, not to mention having to hold down a real job in between somehow.


The practical and interesting things was the finalising of the bodyguard AI so that they pathfind after your assassination target and which means that they're a constant threat while you're trying to close in to make the kill.

But I spent a bit of time while on the AI of those guards implementing the simple sounding 'gold coin' item. This is an object which for some reason is ignored by the ordinary townsfolk, but anyone who is tasked with guarding the town or a person simply can't resist walking over and picking one up when they see it. So you can throw a coin and try and lure your target over to it and hopefully away from the bodyguards. Or throw it in front of the bodyguards and hopefully they'll take the distraction leaving their charge alone. That's combined with the stone item for distracting noises and the smoke bomb for cover ups or get aways to fill out the assassin's kit at this stage.

Also, the map is bigger and I implemented a whole bunch of new vaults to randomise the map in "wang tile" style. That's actually probably the most significant change but it was one which isn't all that interesting to  me because it was already programmed and just needed me to sit down and populate the data file.

Wednesday, March 12, 2014

Fida'i - End of day three



The view shown is debug mode by the way and normally you can't see through walls etc, but I thought that best to mention if I keep posting full-screen pics. The assassin is a bit hard to make out like this which isn't a problem in the actual game because the field of view is limited to what's in front of him. You can't miss him.

New stuff:

- Stones for throwing to distract hostile enemies searching for you with a distracting sound;
- Coins for throwing onto the ground to distract a non-hostile enemy and they will go and pick it up and maybe neglect their guard duty;
- Assassination target who is the enemy with the red suit. He is the one who is described as the 'uncaring warrior' in this game as I just did a look command at him for the screenshot and that was the randomly generated assassination target for that playthrough;
- Two body guards who move around near the assassination target and they are the heavily armoured enemies;
- New tiles for stones, coins, doors (open and shut) and other stuff;
- Bug fixes and AI tweaks and a bunch of minor rubbish;

Things seem on track for a comfortable finish. The to-do list includes more thief equipment to vary up the gameplay, and also some expansion on the backstabbing mechanics so you can choose to murder anyone you like in town even if they aren't hostile. Also, more vaults to build city blocks out of (as there are only three or so currently which is why the random map sucks at the moment), as well as a bunch of UI and gameplay tweaks.

Tuesday, March 11, 2014

Fida'i - End of day two

Day 2 hasn't been the most productive for me but I've still managed to get a few critical things.



Bugs have been squashed and I've got the neutral and hostile AI's working properly after a few mishaps. The plan is that town guards will see through your disguise if they get close enough to you and attack you, so you need to be careful to avoid them as you slink through the town. The ordinary townsfolk don't care about you unless things get ugly and then they might get involved. I've gone the full gamut of AI problems - guards turning hostile and then attacking themselves, being attacked by townsfolk while they stand there, attacking townsfolk for no reason, and now finally it's working properly.

Next step is to work on the spread of alarm through the town. When someone sees someone else who is alarmed, then they'll also turn hostile. It's supposed to mimic the spread of your description through the population once your cover is blown.

EDIT: And that work has been largely done. What you can see below is a scenario where the player has been exposed and alarm has spread through the immediate area but the rest of the town remains unaware.


Monday, March 10, 2014

Fida'i - End of day one

At the end of day 1 I've butchered a bunch of previous code and reused some old algorithms along with tiles from previous projects to get the Frankenstein's monster Fida'i up and running.

What I've got so far is a Wang tile random map generator which works from pre-set vaults, sometimes flips or mirrors these vaults as they're slotted together and messed up a bit with a few drunken walks before checking to see if the whole map is connected.



The blue fields of view are neutral townsfolk who don't suspect that you're a vile murderer just yet. The plan is that when you engage in a some kind of evil act, like stealing, fighting or assassinating your enemy, then they'll turn hostile. From there, I want other citizens who didn't see your actual deed to be alarmed by seeing other alarmed citizens so that the words of your misdeeds would spread throughout the city as you try and escape.

Mix into that a few tricks of the thieves trade, such as locations where you can update your disguise and elude pursuers, smoke bombs, poison darts, caltrops, coins and other distractions to throw onto the ground to distract guards, and failing that stones you can throw which won't distract the relaxed enemy but if someone is on alert then they'll follow the sound.

Sunday, March 9, 2014

Fida’i – stealth, infiltration and subterfuge - 2014 7DRL

I’m just about to start work on Fida’i, the spiritual successor to my previous 7DRL in 2012, Mujahid. I'll be using this blog to provide a daily update, along with posting updates at 7drl.org.

Gameplay will focus on being given a single target for assassination and you will need to use your stealth skills to infiltrate a bustling city through use of disguise and trickery to isolate your victim and finish the job. The next step will be getting out alive, which might prove a lot more difficult once terror spreads through the previously unaware populace.

Will be written in python with libtcod and some tiles from opengameart.org.

Wednesday, March 5, 2014

Game content creation is continuing (despite the delay)

Things have been delayed quite a bit with me having a fair bit of real life work pressures which obviously take priority over writing a silly free RPG game, but there's been a bit of writing going with respect to filling out the game content which is good progress. 

Not exactly the most exciting stuff to be posting about because screenshots of game content like that would just go and spoil all the material in there.  Here's an example:


I'm working on implementing quests with a few beginner options at the starting town to do with helping out villagers to try and arrange for someone to heal you in the village.

There's also been a bit of work on the game UI with me polishing and broadly "finishing" a targeting system to be used with the magic and other systems in the game.

Sunday, February 2, 2014

Critical hits

I was having problems with balance where if you played a fighter you would of course have better than average melee stats. And that seemed to work out quite well when you were fighting the tougher monsters who packed a bit of a punch, but the basic starting enemies couldn't really put a dent in you. The numbers just didn't work out, and it ended up being a situation where you would walk into a room full of kobold soldiers and dire rats and just wait around for them to hurt you but it was impossible.

The Dead Simple rules provide for a perfect roll on a d20 always hitting but I think it's silent as to what that means when you take into account the damage calculations. A normal hit checks the attacker's attack roll against a defender's toughness roll to see if there's any damage and then mitigates that a bit for armour and shields. And that seems to work fine apart from the fact that it practically means that light-weight enemies find it tough to penetrate both the toughness part and the armour.



So now critical hits have been put in, which effectively mean that we skip the toughness and armour checks. If you roll perfectly on the d20 then you automatically cause damage to your opponent. Even the weakest enemy you fight has a 1 in 20 chance of hurting you.

That message log is all sorts of messed up but that's a problem for another day.

Thursday, January 23, 2014

Back to work - finishing up character creation and implementing priest healing

Hello, it has been a few months since I've made progress with The Burning Plague but I'm back to work with a few days coding in a row. The hardest bit after all that time is figuring out what all my code does particularly when most of my documentation and comments is me swearing at my future self and apologising for not documenting properly!

I spent a few hours working on finishing up the half-done character creation system. Now you can customise your character with respect to your attributes and what skills you specialise in. That sounds fairly basic but I had to much around coding new menus for that custom purpose and it was one of those annoying jobs which it's hard to get excited for.

Here's a demonstration of a new bug that goes along with healing, if you raise someone from unconscious then they remain looking like a pile of bones and don't do a whole lot because the game treats them as such. I'm not sure if I want people to come back from that state really, but I'll think about how I'm going to approach it. But it's fun for now.


Next up is magic. It's already kinda in, I've just got to throw in some spells, starting with a basic offensive spell and moving on from there.