I'm still struggling to come up with a name, but the main idea of the
game is to depict the battle of good and evil, Heaven and Hell in a
small-ish city. You can join the demonic forces of Lucifer and possess
innocent humans to evolve into a more powerful creature - or you can
be an angel, divine and immortal warrior of God, with a mission to
protect the souls of the people while vanquishing the satanic beings
at the same time.
I'm developing this with C++ using my very own (brand new) rlutil
utility collection (see thread here at r.g.r.d)
It'll be open-source, with binaries for Windows and Linux + I will be
hosting the most recent version on a server so that any platform with
an ssh client can play.
* Both sides playable
* Evolving into higher beings
* Simple AI for both opponents and "prey"/humans/NPC
* Windows and Linux, colored, playable on a server through ssh
* Easy to pick up, "casual"
* Complex, random city (including furniced rooms)
* Better AI including friendly "co-workers"
* A nice webpage
I'll add links later.
I've have now basic stuff in place:
* Collision detection (with walls and monsters)
* FOV (not very nice yet, though, as it is a simple raycaster)
* "Monsters" with primitive AI
* Very primitive random map generation
What I think is neat is that all the monsters use the exact same Actor-
class that the player object is. This means that each monster e.g. has
identical FOV calculations compared to the player, so they don't
cheat. Also, as a learning experience, I switched to using curses
instead of rlutil. I'm thinking of creating an optional zero-
configuration curses backend for rlutil, but that'll have to wait till
after the challenge.
Sadly I won't be able to code much tomorrow, but I think I have gotten
to a good start.
I did some coding after all. \o/ I managed to port my old town
generator to C++ and although not all parts of it (about 800 lines in
total) are done yet, the most important portions are and the game
world is really starting to take its shape.
I've also created an "Ability" system. That means that every action
player can take is represented by an instance of an Ability class.
They are smart in that e.g. if a player tries to move into a blocking
tile, the engine starts to look at his abilities and automatically
uses the most suitable one - for example if there was a door in the
way, the engine finds out the player has OPEN_DOOR ability, so it is
executed. The ability itself takes care of transforming the door from
closed to open. I haven't yet had the time to implement more than that
door opening functionality, but now that the framework is in place,
adding them (kick door, talk, different attacks, etc...) is easy.
Smaller thinks include a title screen / main menu and a start for the
player stats display.
I'll try to cook up something to show to you tomorrow. :P
* Much better FOV
* Furnished houses
* Improved ability system
* Many new abilities (especially for angels)
* Some combat (managed through abilities)
* Possible to die
* Message system
* Working UI
* Fix a nasty and persistent crash on exit
* Automatic version number generating from Git
* CMake based build (yes, I know it might a bit of an overkill...)
You can try it at its current state if you have an ssh client (your
Linux probably has it already, for Win e.g. google Putty):
Most gameplay stuff is still missing, especially for the forces of
Hell as they have more complex abilities and as such, harder to code
so you'd probably be better off testing with the Heavenly Host.
I'll try to update the game at the server as frequently as I can (I
won't be announcing every patch here).
Comments are welcomed :P
I had a slight bug when I started playing a the heavenly host. When I
investigated a table and chair I noticed that the messages about where
things were, were one space to the right of the display. When I tried
to walk back out of the door I found that everything was one space to
the right of where it was shown. (or more accurately I was one space
to the left of where it looked like I was)
Wish the imps wouldn't be such sissies... hard to get a kill when
they're always running away. : D
For a game to be playable through the internet, it only needs to be
implemented in pure console and placed on a server where it can be
ran. For that, usually some library is used, curses being a very
popular choice, rlutil offering more limited functionality. It could
also be graphical, but then the server as well as client needs X
server (or some other windowing system at both ends), so it requires
more resources and breaks cross-platformability.
PS. for those who tested earlier, the game is updated a bit, including
"evolution", better path finding, slightly improved AI and (an
unpolished) possibility to win.
What remains is mostly tweaking and improving the AI behaviour as well
as adding a proper ending. Some documentation would also be nice. I'm
experiencing some performance regression as I haven't paid any
attention to optimizing and the flexibility of my game system takes
its toll on computer cycles. I think it's still playable though.
You can again test the latest version through ssh as mentioned
earlier. There is also a kind of website here: http://tapio.github.com/cotc/
I tried it through PuTTY (with Wine) and got the same problem. I
managed to get it fixed from PuTTY Configuration by checking the box
in Terminal -> Feature -> Disable application keypad. Also, make sure
your NumLock is on.
First play as an angel: the city seems relatively empty. If I ever
see anybody, they're usually alone. Angels seem a little too strong,
First play as a demon: it's still pretty empty. It's not quite as fun
as being an angel, mainly because of the movement thing. I tried to
take on an angel and got quickly vanquished.
Second play as a demon: for some reason, there were demons and
possessed people all around me this time. In fact, I had a hard time
finding people to burn. When I found an angel and had many of my
fellow demons around me, none of them seemed content to do anything,
presumably because they knew they'd get thrashed. I think the
strength gap between angels and demons should be a little smaller, and
some ai teamwork would be awesome.
Third play as a demon: Angels don't mind me burning people.
Fourth play as a demon: I let a fellow demon possess the first human I
got to out of my demonic compassion. Next thing I ran into was an
angel. I tried locking myself in a building, but he either camped at
the door, or his wandering didn't take him far enough in the time I
was hiding inside. I guess it serves me right for being a bad demon.
So yeah. A list of things that would be nice:
* AI angels disguised as humans, and angel ai chasing humans to bless
* More beings in the city, and more people inside buildings.
* Being able to survive more than one attack from an angel.
* Teamwork among AI.
* Angels noticing humans burning alive, and demons and humans
remembering at least for a while if they saw you take on human form
that you were an angel.
* Being able to leave a possessed body.
And now some bugs.
* You can possess humans who are already possessed.
* Fellow demons can apparently move on top of you, as can angels.
* Angels sometimes don't even fight back.
Sorry - minor net-ique matter - would you mind including the bits of
previous posts you're replying to at the top of your post. This isn't
just a google group - its a usenet group and lots of us use readers that
display posts one at a time.
Sorry. I just don't like the quote pyramids. I just delete the whole
thing rather than trim it down, out of laziness. I'll try to be
better about it.
* More and better win/lose conditions, with a proper ending screen
* AI can now close doors
* AI angels now know how to cloak their appearance and heal themselves
* Many other AI improvements (like following target to the last known
* UI tweaks
* Balance tweaks
As I don't have much time anymore, I'm now going to mostly just tweak
the balance and fix critical bugs. To help me with this, I'd like to
have as many testers as possible. You can play through ssh as
> * After being upgraded from an imp to an actual demon, I appear as a d
> while still possessing a human, and angels can tell I'm a demon.
This isn't actually a bug - an ascension kills the poor bastard. I've
added a message to describe that.
Alright, a few things.
* The message when you ascend to a full demon says "You're" instead of
* After ascending to a full demon, I still get "The possessed soul
revolts." and its effects.
* Am I supposed to be able to possess people after I ascend from an
imp to a demon? It just goes straight to the burning. I seem to
recall seeing a 'd' possess a human before. Of course, it would make
an interesting choice if you could have an action that switched
between possessing and just burning.
At the moment my 10 demon compatriots are hunting down the last 7
humans and the last angel. Overall, it was slightly easy, but fun
as... shall I say.. hell? I'm an archdemon, which is sweet.
Honestly, my pals did most of the work against the angels, as I think
I only fought one who was disguised as an angel. Next up is a game as
Now for angel stuff.
* Loose demons care more about possessing humans that fighting or
running from angels.
* I found two angels disguised as humans who were just hanging out
with a dude in his house. Back to work, guys!
* I think healing should recover two hitpoints, because otherwise I'm
too busy healing to get promoted, or I die just short of the
promotion. Alternately, more divinity for killing demons.
* Some way to distinguish blessed humans would be nice.
I've yet to win as an angel, and I've died a couple of times. I don't
think the angel side as a whole is too much weaker than the demons,
but once you go from imp to demon, you're almost strong enough to take
on an angel, and then you both recover health and get stronger by
killing humans. If angels could heal more, they would be just about
There also seems to be a strange fov glitch (or interesting feature?)
where creatures that just moved out of your view are still visible.
Aw, man! I just had a wonderful start as an angel, finding large
crowds of non-possessed humans and only running into the occasional
imp. I was about to get a promotion, but then I found a large crowd
of possessed humans. So I went inside of a building and waited in
front of the doorway to fight them off. I vanquished enough demons to
reach Archangel status, but then I accidentally moved into the doorway
and started getting my butt kicked, and so I ended up failing again.
It was so awesome, though.
Matt_S: Thank you again for your great testing! You'll find that the
release has your latest bug findings fixed and feature requests
implemented (can't do anything to the lazy angels though, if they want
to take an extended coffee break that's their right I guess... :P )
Tried this on mac.
Got following error:
Traceback (most recent call last):
File "/Users/skv/Temp/harmless7drl/harmless7drl.py", line 223, in
main( RootMenuWidget )
File "/Users/skv/Temp/harmless7drl/cursesui.py", line 13, in main
File "/Users/skv/Temp/harmless7drl/cursesui.py", line 9, in main
cui = CursesInterface( debug=True )
File "/Users/skv/Temp/harmless7drl/cursesui.py", line 36, in __init__
self.previousCursorState = curses.curs_set(0)
commented out this line (36).
It started, but works very slowly :(
And numpad isn't working at all.
Backspace isn't working, when typing name.
> * I found two angels disguised as humans who were just hanging out
> with a dude in his house. Back to work, guys!
Was the dude named Lot, by any chance?
Just thought I'd share my thoughts about 'City of the Condemned' - I
liked the concept, the openness, and the living feel of the city.
However I thought there was way too much searching around, and not
enough strategic depth (that I was aware of, anyway).
In any case, well done!
- Geoffrey White