Temple of The Roguelike Forums

Players => Early Dev => Topic started by: gwathlobal on January 07, 2017, 01:51:29 PM

Title: City of the Damned
Post by: gwathlobal on January 07, 2017, 01:51:29 PM
Hey, guys!

I have written a coffeebreak roguelike inspired by as 7DRL entry "City of the Condemned" by Tapio (http://www.roguebasin.com/index.php?title=City_of_the_Condemned).
This is basically a remake of City of the Condemned with some added features (real pathfinding, a more realistic fov and blood). The game is written in Common Lisp using SDL.

(https://sites.google.com/site/gwathlobal2/cotd_screen.png)

Github page: https://github.com/gwathlobal/CotD
Latest release with Windows binary: https://github.com/gwathlobal/CotD/releases/latest

The Legions of Hell invaded the City with the intention to slay its inhabitants. The Heavenly Forces had to intervene. Now both sides are bent to fight each other until none of the opponents remain. Choose your side and join the fray!

The actions takes place in a large overland City, where Angels and Demons fight each other in its streets and mankind is trapped in their way.

 - You can side either with Angels or with Demons. Though mankind is allied with angels, it is mainly stuck in the conflict between the parties.
 - You are not alone and should not be able to overcome all obstacles by yourself, some enemies will require aid of your allies.
 - Your enemies are able to hide their true appearence, so observe and learn their tactics to avoid nasty surprises. Demons are able to possess humans, while Angels can conseal their divinity.
 - "Friendly fire" is allowed, so do not get in the way of your more powerfull allies.
 - Your resource is power. You can stockpile it to get a "level up" or spend it on your abilities.
 - You gain power proportional to the strength of killed enemies. Angels also gain power by blessing humans, while demons gain power by killing them (and each other).
 - Angels can heal themselves while Demons can summon allies to their position.
 - You win either by killing each member of the opposing faction or leveling up beyond Archangel or Archdemon status.

The game is known to freeze sometimes for several seconds after you make a move, especially in the beginning. This is due to pathfinding calculations happening for more than 100 actors. Once their numbers naturally dwindle, these delays become unnoticeable.

Any thoughts, suggestions and critique are welcome :)

UPD. Updated version to v1.0.1, the links stay the same.
Title: Re: City of the Damned
Post by: Avagart on January 07, 2017, 02:30:56 PM
City of the Condemned was damn good 7drl! It's nice to see remake, I'm really curious. Your list of changes seems neat, but, to be honest, screenshot looks a bit messy...
Title: Re: City of the Damned
Post by: gwathlobal on January 07, 2017, 03:03:11 PM
And by "messy" you mean that the tiles are too small?
Title: Re: City of the Damned
Post by: Avagart on January 07, 2017, 03:54:42 PM
OK, I played a bit. Yeah, the screen is too small, but it isn't most important issue about display. Original CotC, even if screen is small (it relies on curses library, so player can adjust font size by terminal preferences) everything looks clear. The problem of CotD's display is that you are using in the same time small font and pretty detailed (sort of) charset.

The beginning movement lag is barely acceptable. After about a dozen turns the lag vanishes. But still, it's annoying. You wrote that it's caused by pathfinding algorithm - maybe it's possible to optimize it?

Also, if you decided to cut keybinding info from the main screen, you could add it under '?' key. Even if controls are trivial.
Title: Re: City of the Damned
Post by: gwathlobal on January 08, 2017, 10:05:43 AM
Thanks for the reply.

Updated to v1.0.1, the link stays the same.

Added access to help via '?' from the level screen.
Added bigger tiles, please see if its better now.

Also, I think I managed to fix the lag in the beginning. It was a stupid oversight in my part with line-of-sight code.

And added some new tiles to the generator for flavour reasons.
Title: Re: City of the Damned
Post by: Avagart on January 09, 2017, 02:10:40 PM
Hah, it's much better experience now :) Congrats for quick fix. How could I switch between tilesets? +-, [ctrl]+-, [shift]+- doesn't work, but I see both small and big tiles in data folder.

If I could suggest one another improvement - using SDL with bitmaps has own flaws (like lack of built-in cofigurables for - exactly - tiles size / resolution). I'd encourage to add multiple fonts, from really small 8x8 to really large, like 32x32 (if square) or, for example, 17x36, and make possible to choose font even out of game (like, in cfg file).
Title: Re: City of the Damned
Post by: gwathlobal on January 10, 2017, 05:28:40 PM
> How could I switch between tilesets? +-, [ctrl]+-, [shift]+- doesn't work, but I see both small and big tiles in data folder.

Right now, you can't, I'm afraid. I indeed have a plan to make it possible but that requires some more work.

As for font changes, the idea is also cool, I think I'll add it alongside the tile switch option, but that will require a bit of a rewrite know. Too many things depend on the current fixed font size, it seems.
Title: Re: City of the Damned
Post by: gwathlobal on January 12, 2017, 07:19:28 PM
Released version 1.0.2

Changelog
 - Added new buildings to the city generator: Warehouse, Library
 - Added option to choose tiles to options.cfg
 - Added options.cfg where you can specify various game options. For now, you can only choose the size of tiles
 - Removed ability to attack members of you own faction (except demons). You can still attack allied faction though.
 - Introduced new terrain types: Cabinet, Crate, Bookshelf. Added it to appropriate buildings.

https://github.com/gwathlobal/CotD/releases/tag/v1.0.2 (https://github.com/gwathlobal/CotD/releases/tag/v1.0.2)
Title: Re: City of the Damned
Post by: gwathlobal on January 17, 2017, 07:19:25 PM
Released version 1.0.3

Changelog
- Linux 32-bit binary packages added
- Added Soldiers to the city. Soldiers arrive to help humans towards the end of the battle, are opposed to both angels and demons and will shoot them if they see their true form
- Added Satanists to the city. They are allied with demons and are able to call them for free and curse enemies with inaccuracy
- Added a new command 'm' to view the full message log
- Priests can now pray. Prayers may sometimes lead to smiting all enemies in priest's sight for minor damage or granting all allies divine protection. Divine protection prevents the next attack or harmful effect from application
- Upgraded city generation and added variety to some bulding types
- The City now has maximum 1 church, 1 warehouse, 1 prison, 1 library and 1 satanist's lair
- Fixed bug with the time label becoming red while it's still player's turn

https://github.com/gwathlobal/CotD/releases/tag/v1.0.3
Title: Re: City of the Damned
Post by: Avagart on January 17, 2017, 10:30:13 PM
I'll check it later. It's not just remake anymore :)
Title: Re: City of the Damned
Post by: gwathlobal on January 29, 2017, 10:40:19 PM
Released version 1.0.4

Changelog
- Made help articles be read from files
- Added snow terrain
- Added an option to go to the main menu from the game-over screen
- Added rivers to the city generator
- Added indication of the general direction to the nearest angel/demon
- Added sea ports to the city generator
- Added an option to customize the current scenario by choosing city layout, weather and player faction

https://github.com/gwathlobal/CotD/releases/tag/v1.0.4
Title: Re: City of the Damned
Post by: Gornova on January 30, 2017, 12:18:39 PM
I really like it! As a demon is cool to hide, strike humans and become a demon! I've not found an easy way to defeat angels and this is cool to! A lot of re-playability  here!
From the demons side, I like that imps act more wisely and avoid to kill people around when angels reveals.. it's not the right way to stay alive long :D
Title: Re: City of the Damned
Post by: gwathlobal on January 30, 2017, 08:28:01 PM
Thanks for your comment! Happy that you liked the game  :)
Title: Re: City of the Damned
Post by: gwathlobal on February 05, 2017, 11:32:19 AM
Released version 1.0.5

Changelog
- Made the military a playable faction
- Added sergeants to the military. They are armed with six-round revolvers, that deal less damaged than a rifle but do not need to reload every turn
- Added chaplains to the military. They are armed with six-round revolvers and are able lead troops, pray to reveal angels and demons around them and grant divine protection to allies
- Ranged combat accuracy is now affected by distance. The farther the target - the less likely you are able to hit it
- Added forest cities to the city generator
- Added island cities to the city generator

https://github.com/gwathlobal/CotD/releases/tag/v1.0.5
Title: Re: City of the Damned
Post by: gwathlobal on February 17, 2017, 07:46:42 PM
Released version 1.0.6

Changelog
- Angels can now chop off body parts when they kill somebody (they are armed with swords after all)
- Characters leave corpses upon dying, for purely cosmetic reasons
- Added "Shift + Q" command to exit the current game and return to the main menu
- Added dots showing where the bullets hit
- Added damage types to weapons and damage resistances to armor
- Added bullet dispersion over distance
- Added machine-gunners to the Military. They shoot the whole magazine in one round
- Introduced cooldown abilities. The first cooldown ability "Charge" added to archdemons
- Added "Fear" ability to demons and archdemons
- Added "Blindness" ability to archangels
- Added barricaded cities to the city generator

https://github.com/gwathlobal/CotD/releases/tag/v1.0.6
Title: Re: City of the Damned
Post by: gwathlobal on February 24, 2017, 04:29:55 PM
Released version 1.0.7

Changelog
- Momentum added! When you have the Momentum ability, that means that you gain speed when moving in a direction and are able to cover several tiles within one turn but you can not drastically change your direction when at high speed (unlike normal movement when you can make all kind of turns and backpedal at any time). If you bump into an obstacle, your speed drops to zero. If you bump into another unit, your speed drops to zero but you will try to push this unit (similar to the Charge ability).
- Horses are added to the game. They are allied with all non-demon factions and have momentum. Horses can be found in the stables.
- Fiends added to the game. They are demonic beasts who will attack everybody (even demons). They also have momentum.
- Horseback riding added! Military units are able to use horses as mounts. When riding a mount, your mount moves independently of your actions, you can only give directions to it. This means that once you've gained speed, the mount will be moving in the chosen direction on its own, while you can shoot the enemies as you pass them by. Mounts may also be used as meatshields as enemies have 50% chance to hit your mount instead of you.
- All demons are able to mount fiends.
- Added scouts to the military. They are armed with rifles, are able to reveal a single enemy and start riding a horse.
- You may now start as a scout. Scouts gain no followers but compensate that with their unsurpassed speed.
- Added stables to the buildings of the city.

https://github.com/gwathlobal/CotD/releases/tag/v1.0.7
Title: Re: City of the Damned
Post by: gwathlobal on March 06, 2017, 09:26:24 PM
Released version 1.0.8

Changelog
- Added Gargantaur to the list of monsters. This is a huge outsider beast (occupies 3x3 tiles) that is impervious to most attacks, can attack minds of enemies, as well as heal and teleport itself. While it is classified as an angelic being, do not get it wrong - it will attack anything in sight. Being huge, it has a "face" so unlike smaller beings it will need to really turn around to change the direction of its movement.
- Angels are now able to mount Gargantaurs at the cost of half of their HP. Apart from increasing their defense (the Gargantaur's 3x3 size means that it will take all melee hits first), this gives them an ability to invoke Gargantaur's mind burn.

Screenshot of an angel riding a Gargantaur:
http://i.imgur.com/aJ8g6Rb.png

https://github.com/gwathlobal/CotD/releases/tag/v1.0.8
Title: Re: City of the Damned
Post by: gwathlobal on March 24, 2017, 10:36:09 PM
Released version 1.0.9

Changelog
- The 3rd dimension was added to the map! Buildings now have several floors, mobs can go up and down the slopes.
- Gravity added! You can step off the ledges and fall down. You can drop one Z level without any consequences but any distance greater than that and you will take increasing falling damage.
- Mobs will now recognize the gravity and will short-cut off the ledges if they see they won't take any damage without finding the nearest slope down.
- Added mansions to the building types.
- Removed support for small tiles.

https://github.com/gwathlobal/CotD/releases/tag/v1.0.9
Title: Re: City of the Damned
Post by: gwathlobal on April 14, 2017, 10:01:29 PM
Released version 1.1.0

Changelog
- Added stealth to the game! Remaining in shadows will render you invisible to your enemies while moving through illuminated terrain (and moving in general) will expose you. 
- To counter stealth, Citizens of the City carry lanterns and Angels radiate light (note that Demons do not have a portable light source). Moreover, stationary light sources were added to the houses and some streets.
- Outdoor lighting depends on the time of day - at midnight you will need to rely on lamps, while at day time the sun will not let anybody hide outside buildings.
- Time of day now changes dynamically as the time passes.
- Added scenario options regarding the starting time of the day - you may start at night, at noon, in the morning or in the evening.
- Added hearing to the game! Characters' actions will generate sounds that others can hear and learn the general direction to the sound's origin. Most creatures will try to investigate what or who produced the sound if they have no other pressing matters.
- Added the Thief to the game.
- Added Death from Above ability to the Thief. This allows the Thief to jump onto an enemy from an upper Z level and make a devastating blow.
- Added Climbing ability to the Thief. It allows the Thief to go up and down along the Z level when clinging to walls.
- Added trees spanning across several Z levels.
- Added inventories to characters. You are now able to pick up, carry and drop items.

Screenshots

Thief on the ledge - http://i.imgur.com/hey7iXm.gif
Death from above - http://i.imgur.com/4kOwZlJ.gif


Download
https://github.com/gwathlobal/CotD/releases/tag/v1.0.9
Title: Re: City of the Damned
Post by: gwathlobal on April 25, 2017, 08:15:12 PM
Released version 1.1.1

Changelog
- Water is now traversable, albeit more slowly than normal terrain. You can swim through it horizontally as well as up and down, but beware of the lack of oxygen. This will kill you quickly. Angels and Demons do not need to breathe.
- All Angels, Demons, and humans now have an ability to switch on and off stationary lights if they happen to be near one.
- Added doors to the buildings of the city. All humanoids are able to open and close them.
- Added ability to open/close windows to the Thief.
- You can bump into doors, windows, and lanterns to active the respective ability (if you have one).
- Made Satanists' lair less conspicuous.

Download
https://github.com/gwathlobal/CotD/releases/tag/v1.1.1
Title: Re: City of the Damned
Post by: red_kangaroo on April 26, 2017, 08:34:49 AM
I haven't played the original 7DRL, but this game of yours is great!

I quite often die with my angels when I try to slay a demon and get jumped by several summoned ones, or archdemons. :/

I like playing demons - just find somepeople to slaughter and gain power, then find an angel, summon help, wait for the summoned demons to kill the angel, or try to get the last hit yourself, then attack the demons weakned by the fight. :P Only thing is I wish I didn't automatically try to possess the first human I attack - it's often better to kill it and gain the power than possess it and have it revolt at bad times.

Thieves are cool now I can sneak through windows and avoid everyone much more effectively.

I once managed to kite an archdemon to death with a scout on horseback. I felt so proud of my guy. :)

I wish Satanists could raise all the dead humans as zombies, if they survive long enough. Thus you could have to prioritize finding and killing them if you don't want the endgame to become a chatoic battle with a new threat.
Title: Re: City of the Damned
Post by: gwathlobal on April 26, 2017, 08:31:37 PM
I haven't played the original 7DRL, but this game of yours is great!
Thanks for the kind words! I'm happy that you liked the game :)

Quote from: red_kangaroo
I quite often die with my angels when I try to slay a demon and get jumped by several summoned ones, or archdemons. :/
Yeah, the time has come for some rebalancing, I think.

Quote from: red_kangaroo
Only thing is I wish I didn't automatically try to possess the first human I attack - it's often better to kill it and gain the power than possess it and have it revolt at bad times.
I will make the possession ability toggleable in the next version, then.

Quote from: red_kangaroo
I wish Satanists could raise all the dead humans as zombies, if they survive long enough. Thus you could have to prioritize finding and killing them if you don't want the endgame to become a chatoic battle with a new threat.
I had some thoughts of making a necrodemon that could animate the dead, but giving this ability to Satanists makes perfect sense. I think I will also make them playable now that they will have a distinct gameplay. Thanks for the idea!
Title: Re: City of the Damned
Post by: gwathlobal on May 12, 2017, 09:24:02 PM
Released version 1.1.2

Changelog
- All Angels now have a shared mind - each of them sees what others see.
- Satanists are now a playable faction. Their goal is to assist their demon masters and destroy all angelic forces.
- Satanists are now able to reanimate corpses. The less severed body parts the corpse has - the stronger it will be after the reanimation. Reanimated corpses are slow-moving, have very little HP and will burn to ashes when killed by Angels.
- Demons' ability to possess is now toggleable, so that you can kill humans instead of always possessing them first if you wish so.
- Demons now have an ability to sacrifice their host on demand to gain power and health (as if they killed them in combat).
- Added a bank building to the city.

Download
https://github.com/gwathlobal/CotD/releases/tag/v1.1.2
Title: Re: City of the Damned
Post by: red_kangaroo on May 18, 2017, 09:35:39 AM
I like the game more and more. :) So please forgive me for the barrage of thoughts and ideas below. ;)

That new angel power is quite useful! Could we maybe get a PgDn/PgUp scrolling for the "seen monsters" sidebar, so we can more easily check how many monsters do we actually see through the shared mind?

What about archangels getting wings, so they can fly around the town? Having a map with z-levels is very cool, but unfortunately only thieves really use it to a greater extent. It would also make archangels feel very different from archdemons. Speaking of archdemons, maybe they could get a new active ability Breathe Hellfire? Not that they would be too weak, but giving them a ranged attack would again make them feel unique. It's not really common for me to get up to arch-anything, so if both archangels and archdemons had a special ability, it would make it quite a nice reward for getting there.

I like the new Satanists, their abilities definitely make them play uniquely. However, what if they also got an ability similar to teh "follow me" order of chaplains, that would only apply to undead? That way you could actually lead a force of zombies against the angels, not only sit back and try to bolster demonic forces.

Speaking of undead, would it be too much of a hassle to split the demons counter and add a new one for only undead? My last game I won as a Satanist, I had a total of 100 demons... I was creating undead like crazy, plus I haven't actually seen a living demon for most of the game, so I would like to know if any demons survived, or if the angels were overwhelmed by my zombies. :D

The new ability to sacrifice a host makes hosts actually have much more use, IMO!

Maybe soldiers could get a very limited amount of consumables, so that they have a resource to use in need, just as angels and demons have power? Something like starting with a medikit, or several grenades that damage everything in a 3x3x3 globe. It could also be fun to try to assassinate soldiers with a thief to get to their medikits. :) Of course, supernatural creatures would not be able to use medikits. :)

BTW, is it guaranteed that the map will contain the required 1500$ for the thief? On some smaller maps, I don't know where else to look to find enough. :) What if all humans dropped a small amounts of cash, so the thief is pushed a bit into exploring the battlefield and looting the dead? And if a Satanist sees him there, the thief could get a nasty surprise. :D

Finally, what if the end game screen always shown how many (and maybe which) creatures the player killed? To compare with the creatures that earned a title. Some new titles would also be fun:

The Necromancer: who raised the most zombies, so that the player can see how good he was in comparsion :)
The Evil Spirit: most possessions, now that it's quite possible and useful to possess multiple times
The Scrooge: most gold collected (because I sometimes collect it even when I'm not a thief, why would you leave money lying around, right?)

Once again, thank you for the game. :)
Title: Re: City of the Damned
Post by: gwathlobal on May 18, 2017, 07:49:25 PM
I like the game more and more. :) So please forgive me for the barrage of thoughts and ideas below. ;)

That new angel power is quite useful! Could we maybe get a PgDn/PgUp scrolling for the "seen monsters" sidebar, so we can more easily check how many monsters do we actually see through the shared mind?

What about archangels getting wings, so they can fly around the town? Having a map with z-levels is very cool, but unfortunately only thieves really use it to a greater extent. It would also make archangels feel very different from archdemons. Speaking of archdemons, maybe they could get a new active ability Breathe Hellfire? Not that they would be too weak, but giving them a ranged attack would again make them feel unique. It's not really common for me to get up to arch-anything, so if both archangels and archdemons had a special ability, it would make it quite a nice reward for getting there.

Yeah, flying is indeed a thing, shame I did not think of it myself :)
However, for the next release I plan to make angels transform into archangels for a period of time (like Demon Hunters in WoW now). For lore reasons mainly - now that they are a communion, not a hierarchy, it seems logical to me that they should have only one unit. And if they need to engage a tough enemy they will have to transform, get a strength boost and delay their winning through ascension. I hope this will further differentiate Angels' gameplay from Demons.

Archdemons getting a ranged attack is also good, I'll try to incorporate your ideas into the release after the next one.

PgUp/PgDn are now reserved as a substitute for numpad's NE and SE diagonal movement, but I see what you are pointing at, I'll think what I can do to better present shared mind.

I like the new Satanists, their abilities definitely make them play uniquely. However, what if they also got an ability similar to teh "follow me" order of chaplains, that would only apply to undead? That way you could actually lead a force of zombies against the angels, not only sit back and try to bolster demonic forces.

I thought of it and decided against it. As a Satanist, you have a free summoning ability so that should be your idea of controlling the horde. However, I might add something like "control undead" to make an undead unit permanently follow you, maybe additionally applying a boost to it.

Speaking of undead, would it be too much of a hassle to split the demons counter and add a new one for only undead? My last game I won as a Satanist, I had a total of 100 demons... I was creating undead like crazy, plus I haven't actually seen a living demon for most of the game, so I would like to know if any demons survived, or if the angels were overwhelmed by my zombies. :D

Yeah, that is totally fine. I'll add an additional undead-only counter while the demon counter will track both of them.

Maybe soldiers could get a very limited amount of consumables, so that they have a resource to use in need, just as angels and demons have power? Something like starting with a medikit, or several grenades that damage everything in a 3x3x3 globe. It could also be fun to try to assassinate soldiers with a thief to get to their medikits. :) Of course, supernatural creatures would not be able to use medikits. :)

Good idea, but I believe I'll manage to implement it in 2 releases only.

BTW, is it guaranteed that the map will contain the required 1500$ for the thief? On some smaller maps, I don't know where else to look to find enough. :) What if all humans dropped a small amounts of cash, so the thief is pushed a bit into exploring the battlefield and looting the dead? And if a Satanist sees him there, the thief could get a nasty surprise. :D

Right now the money is not guaranteed. A bank (which is a guaranteed building) has from $250 to $1250, while every house has from $50 to $100. So in the worst case scenario, when RNGod really hates you, you need 25 houses (apart from the bank). The map size is 100x100, a house is 10x10, on an island map 30 tiles are substracted from borders to place water, so that leaves 70x70 which has room for 49 houses. Given the probabilities to place a house (as opposed to all other buildings), I would say that there might be extremely rare cases when there is not enough money on the map for you to win. I'll look into it.

As for pocket money - that may be likely, yes.

Finally, what if the end game screen always shown how many (and maybe which) creatures the player killed? To compare with the creatures that earned a title. Some new titles would also be fun:

The Necromancer: who raised the most zombies, so that the player can see how good he was in comparsion :)
The Evil Spirit: most possessions, now that it's quite possible and useful to possess multiple times
The Scrooge: most gold collected (because I sometimes collect it even when I'm not a thief, why would you leave money lying around, right?)

Once again, thank you for the game. :)

Yeah, this is cool, though I think I will also need to add names to Satanists (and the Thief maybe) for some achievements to be interesting. Otherwise, it will always be Player vs a nameless Satanist/Thief.

Thanks for playing :)
Title: Re: City of the Damned
Post by: Avagart on May 18, 2017, 08:51:00 PM
I like lots of these ideas :) I have one, additional: could you provide support for bigger font? Simple enlargement font file doesn't work. My eyesight isn't very good, unfortunately, and possibility to use bigger fonts would be helpful.
Title: Re: City of the Damned
Post by: gwathlobal on May 19, 2017, 09:24:56 PM
You mean the option of a 8x13 font you have now is not enough?
I'll think what I can do about it but it seems that would require the usage of SDL_ttf so unfortunately, that's not the nearest future.
Title: Re: City of the Damned
Post by: Avagart on May 19, 2017, 10:14:19 PM
Huh, I didn't figure out that it's possible to enlarge font size from default 6x13 to 8x13 by option file - I was sure that in-game font relies on font_large.png only. Yeah, 8x13 options seems be good enough for me. Thanks for that.