Not logged inGosu Forums
Forum back to libgosu.org Help Search Register Login
Up Topic Gosu / Gosu Showcase / Die Erlösung - Redemption. A horror Adventure/RPG game
- - By EdwinOdesseiron Date 2013-06-28 16:18 Edited 2013-09-24 23:04
Hi all. I would like to show a project I've been working on for about a month now (over 4 months including story details). The project is still in engine development state, but I work on it daily and the work is going on fairly swift. So, let's get to the details...

And sorry, you're gonna have a bit of reading :p

Story background
In 1933, a servant of Asaroth, Adolf Hitler has come to realize dangers Jewish nation, and it's esoteric knowledge may bring. It's their knowledge and faith that kept Death Angels and forces of Hell to break through. He portrayed Jews as "subrace" to the Third Reich, and waged a war to exterminate them. With the help of SS and Heinrich Himmler, Germany was to exterminate unwanted nation within few years. But first months of the war shown that Archonts are not going to give up. Afraid of the consequences, Hitler and Himmler ordered a ritual to purify their souls and save them from Purgatory. They didn't need to wait for the results long. In December 1939  Todesritter, a special group of SS, found records about the ritual, and began the preparations. The 'Die Erlösung' ritual was to be carried out in March 1940.
But they needed people. Many people, that were to have Hitler's and Himmler's sins transfered onto them. Prisoners of War on Altmark tanker were perfect. The transfer was to be carried out on February 28th, and the ritual would happen on March 11th.
By the end of January, 1940, British fleet came to realize that Altmark is holding English POWs. In two weeks they localized the boat, and carried out the boarding, saving all their prisoners of war.
Echelon, main Todesritter cargo ship - place where the ritual was being prepared - suddenly was endangered. Hitler ordered the preparation of Wasserübung operation that would recapture the Echelon in case worst has happened. On February 26th Himmler ordered 'Die Erlösung' ritual to be carried out at any cost, using their own "human" resources. Out of 120 people, 40 were to be sacrificed, which meant a revolt. Dietrich von Marienburg, top Todesritter officer gathered 20 of his most trusted men. Orders were simple: imprison about 40 people. In case of any signs of revolt, kill without mercy. In the night, 27th to 28th of February, this operation was carried out. Within an hour they had 45 people imprisoned, and the rest was told that "they were traitors". Everything went great, and the final date, which was to bring salvation to both Hitler and Himmler, was March 20th, 1940.
On March 18th, Echelon went silent...


Game Plot
After a revolt carried out by one of the Todesritter commanders-in-chief, Albert Zoltman, interrupted the preparations. The Illusion was broken, and Echelon was slowly interconnecting with the City of Machines, merging Metropolis and Elisium. Most of the crew died within hours, either killed by soldiers of von Marienburg, or creatures their own fear has summoned. The ship was abandoned quick, and it became a prison for only man alive - Dietrich von Marienburg. For days he fought for life, and even though his protecting glyph saved him from the creatures from outside of Illusion, his sanity was deteriorating. His psychosis was deepening. On April 8th he began his preparation for upcoming meeting with Kriegsmarine. He destroyed most of the traces and documents on Echelon.
The evening was full of surprises though. He came to realize, that he is not the only human alive on the ship...


Player Characters
In the game, the player will play with 4 characters at a time. These characters are: Reiner von Dortmund, Heinrich Blitz, Georg Beziehung and Albert Goldmann. All four are always available for player, and each of them has their own set of specialties that may help them survive... for now.

Game Characteristics
I designed the story and the game, to make the playing enjoyable and full of surprises. The whole game happens on Echelon, which is a 4-level Cargo ship. Most of the rooms are available in some way, but not all are opened. Some may require the player to find another way, perhaps through a ventilation shaft. Or even to blow up the door with a bit of dynamite. Also, before the game starts, we set the skills our characters have, so we decide what are the strengths and weaknesses of each of the characters.
Because of the damage Echelon took over past days, the ships damage may increase over time, ex. the pressure may blow the pipe open, and ship will start sinking a bit more.
The characters suffer from amnesia caused by the events that happened on Echelon. During the game, amnesia slowly subsides, revealing more details of what happened. And more of the dark corners of human nature...


What is done, and what is planned to be done?
As I said in the beginning, the engine itself is still on its WIP stage. As the work progresses, the list below will change. Also, quick sidenote - most of the screenshots that will appear here will be in Polish. This is because it's my first language, and I'm developing the game in it, but as soon as polish version is done, I will translate it to English. When creating engine, I try to put all that may need translation in three variables: $DICTIONARY, $DIALOG and $DESCRIPTION, so translating it will be a matter of few days.
What is done?
- Displaying
- Player characters: all 4 characters are on the map, they can be selected and moved.
- Pathfinding: unfortunately, after trying to write A* algorithm and failing, I created a bit worse pathfinding algorithm. But it still works, and gets the characters to desired place about 90% of times.
- Fog of War: With 3 states. Hidden, seen-but-covered and visible. It's based on game grid, so it doesn't look that good now (32x32 squares).
- Dialogs: Dialogs in game are displayed in a large window appearing on the bottom half of screen. Think Baldur's Gate-like.
- HUD: Divided into 3 parts: Left, which displays menu sections (Game, Map, Notes, Inventory, Character, Options), Right which displays the characters, and bottom which is kind of a dialog window, but smaller in size. Again, thing Baldur's Gate-like.
- Basic entity: At the moment entity just is, and clicking on it starts the dialog.
- Time engine. 15s in real life is 1 minute in game. This will set the game time to about 1h 45min before the events at the end of story start happening.
- Location Map: Displays current location scaled down. FOW still works on it, so it won't show us what we didn't see yet.
- Base of Container, Enemy, NPC, Door and Waypoint class
- I changed the controls a little bit. Left mouse click selects/orders the characters, double left click on any character selects all four, double click when nothing is selected de-selects all. This leaves right mouse click for a small action sub-menu (think: Planescape: Torment).
- Game_Player class now assigns a Game_Character, meaning all characters are now actually more than just names - they have their own skills, characteristics, graphics, inventories and so on.
- Skills: Each player has a set of skills that are set at the beginning of the game. These skills are: Pistol, Machine Gun, Rifle, Pick Lock, First Aid, Knowledge, Mechanics. They also have four characteristics: Strength, Dexterity, Energy, Intellect.
- Inventory system: Each character starts with 4 slots in their inventory (+weapon slot and bag slot). This can be extended to 20 slots with a bag. One bag is going to be found quickly and easily, two more will be hidden. I haven't yet decided if I'll include 4th bag (so all characters will have 20 slots), but if I will, it definitely will be well hidden. Weight limit (40-49kg, depending on strength) still applies
- Inventory and Character screen.
- Active pause. Lets us pause the game in any moment and think of strategies, give orders etc. when everything is still.
- Particle Engine: both for continuous animation (like fire, smoke, water leaking from pipe) and single animations (explosion, blood shooting out when shot, smoke from gun after shooting).
- Re-designed HUD, it now fits nicely on one (left) side of screen!
- Animated intro (2 short "video clips", one displaying "Powered by Ruby and Gosu", seconds shows my creator's logo), of course it can be skipped
- When player's resolution is the same, or smaller than game resolution (that is 1024x768 or 1366x768), he or she is prompted that window is scaled down and some graphic may look glitchy, and that it is advised to turn on full-screen mode in Settings.
- Some other things, that aren't really worth mentioning at the moment.

Mental states:
In "Character" screen we will sse a triangle, with its three corners pointing to three states: Fatigue, Fear and Paranoia. The more graph goes towards the state, and more red it is, the more given character is influenced by this state. First two decrease our skills, where Paranoia is most dangerous one. On higher level the character may start running, and when it will reach 100% - the character goes through mental breakdown and shots himself.


And note at the end: Most of the graphics on the screens below are just acting as a placeholders. They will be replaced with better, but still similarly looking graphics later on.
Parent - By bestguigui Date 2013-06-28 18:18
Hi ! It looks interesting, I'll follow that project. If if can help for the pathfinding script :
http://www.youtube.com/watch?v=8CaFbLvRXnc
http://bestguigui.free.fr/youtube/gosu_astar_2.rar

It's an old thing, I used it for test purpose but maybe it can help you.
Parent - By jlnr (dev) Date 2013-06-28 18:22
I like the cargo ship theme, reminds me of the ghost ship in Seiken Densetsu 3. :D
Parent - By Spooner Date 2013-07-01 14:06
Looks ambitious. Best of luck with the development!

I used r18n gem to manage my translations in games, which keeps all your text in nice YAML files (though as my only language is English, there aren't actually any translations! Still, they are ready :D).
Parent - By EdwinOdesseiron Date 2013-07-09 23:06
Small update to the first post. Aside from posting 3 new screenshots, I added these information to What is done? section:
- Base of Container, Enemy, NPC, Door and Waypoint class
- I changed the controls a little bit. Left mouse click selects/orders the characters, double left click on any character selects all four, double click when nothing is selected de-selects all. This leaves right mouse click for a small action sub-menu (think: Planescape: Torment).
- Game_Player class now assigns a Game_Charater, meaning all characters are now actually more than just names - they have their own skills, characteristics, graphics, inventories and so on.
- Skills: Each player has a set of skills that are set at the beginning of the game. These skills are: Pistol, Machine Gun, Rifle, Pick Lock, First Aid, Knowledge, Mechanics. They also have four characteristics: Strength, Dexterity, Energy, Intellect.
- Inventory system: Each character starts with 4 slots in their inventory (+weapon slot and bag slot). This can be extended to 20 slots with a bag. One bag is going to be found quickly and easily, two more will be hidden. I haven't yet decided if I'll include 4th bag (so all characters will have 20 slots), but if I will, it definately will be well hidden. Weight limit (40-49kg, depending on strength) still applies
- Inventory and Character screen.
- Active pause. Lets us pause the game in any moment and think of strategies, give orders etc. when everything is still.


And I also edited the What needs to be done? to remove what I already finished.

And two more things:
- As now I'll most likely be working on the battles itself, I think I'll use something similar to Call of Cthulhu RPG system when it goes to maths part. I'll probably also include some environmental help, though not that advances. Most likely it'll just be the fact, that if our character is standing behind something tall enough (like a flipped-over table), enemy that's shooting at him will have a greater chance to miss.
- When I'll finish making the engine (and map editor, to make my life easier), I'll create a small tech-demo that I'll post on github. It will most likely include 2-3 simple levels, designed just to test and present the features of engine created. One map will probably have the basic navigation, containers, dialogs etc. while second will be testing battle system. Third map will probably be the stress-test map. This will give me a hint how far can i push the game itself without FPS dropping below 40-50 on most computers.
Parent - By EdwinOdesseiron Date 2013-09-24 23:15
Small update to first post, since I didn't update for some time. There's not much done, as I pretty much didn't have time since about mid-July until the end of August, but I'm still working on the project! ;)

What I added to first post:
- Particle Engine: both for continuous animation (like fire, smoke, water leaking from pipe) and single animations (explosion, blood shooting out when shot, smoke from gun after shooting).
- Re-designed HUD, it now fits nicely on one (left) side of screen!
- Animated intro (2 short "video clips", one displaying "Powered by Ruby and Gosu", seconds shows my creator's logo), of course it can be skipped
- When player's resolution is the same, or smaller than game resolution (that is 1024x768 or 1366x768), he or she is prompted that window is scaled down and some graphic may look glitchy, and that it is advised to turn on full-screen mode in Settings.


I also started working on game editor, to make my life easier. This editor will both create maps (probably I'll save them with Marshal.dump) with all changes the map may have over game-time (more below), as well as it'll edit and create some game assets: Particle Effects, NPCs, Items and Enemies. These will be most likely saved in plain text file, as I'll later put them in the code. I've attached a early screenshot of Assets Editor, showing 4 sub-windows:
- Menu Bar (empty, will contain new, save, open etc)
- Asset List - shows all assets in nice drop down list (it works!)
and 2 more windows, all related to particles
- Particle Preview - will display particle animation. Updated in real time, so all changes will be easily seen
- Particle Creator - will contain hell a lot of sliders that allow adjusting pretty much every aspect of particles

And as for what changes maps might have during games, I thought about some small, mainly cosmetic changes, such as after grenade explosion small area on the floor and walls may be darker, because of burn, or when player/enemy gets shot his blood may show up on wall and floor. This shouldn't be hard to do (pretty much swapping @tiles[x][y] with different tile and saving it), but I most likely won't bother with it until the engine is nearly finished.
Parent - - By EdwinOdesseiron Date 2014-04-14 20:40
Oh god, an update. After a looooong time.

Couple of things has happened over the time. I'll try to outline the changes as good as I can.

First of all, I had encountered a couple of problems with my code, which resulted in me rewriting quite a bunch of it. It should speed it up a bit, but I think I'll have to optimize the code further when engine is done and dusted. Most of the things work pretty much the same, so no point in getting into it really much.

=> Some menus have changed, instead of being a separate scene they're now all displayed over a map. IMO it looks slightly better, definitely a better idea than having everything displayed and a lot of "whitespace" in widescreen mode.
=> Settings are now saved in an .ini file, instead of being Marshal.dump'd. Makes life easier. Settings also have increased slightly, main additions are Autopause and Interaction options. You also have the option to change your language (Polish/English, maybe more in the future [if I'll get someone to translate it]). Accessible both in Game and with ini file (in game change requires full restart, obviously).
=> Editor, which took me a lot of time, is pretty much done. It's mainly making my life easier, but it's worth a note.
=> Some more options within inventory added: back in a day Right-click over an item gave you description. Now it actually gives you options to See Description, Drop Item or (with guns), Unload a gun. Think S.T.A.L.K.E.R.
=> Pathfinding is still crapish, with a bit of improvements: Active search (with option to turn that off on slower computers) which re-creates a path every step. Also there's a series of 'PFpointers' on each map that will be a default target if original target is not reachable. Fixes the problem with either characters going to a wall/doors/any_other_obstacle (with Active PF off) or stopping in a place (with Active PF on). Still needs some tweaks, but it's fairly stable at the moment.

As of what's to be done, I only have a handful stuff that needs creating. How long will it take? I can't tell, I'm fairly sure I'll encounter some problems along the way.
=> Finish all 'entity' types; there's only 2 remaining now - Waypoint (doors/teleporter/whatelse) and Container (drawer/bag/etc). When I'll create a Container (working), I'll tweak Inventory around, so if player gets an item with bag full, it gets dropped.
=> Battle Engine: this is going to be alot of work. I will have to take care of quite a few things, I've got some ideas on how it's going to work out, hopefully it'll be as close to perfect as it gets :)
=> Load/Save - I'm leaving that to be last thing, because it's gonna have to store quite a few things, some of which aren't yet finished.

Next thing I wanted to say is that I pretty much decided on what different Difficulties will do. Again, it's not set in stone, so all suggestions are more than welcome!
Easy:  Standard damage.
Normal: Getting hit in the head deals double damage; some wounds will bleed* for around 2 seconds.
Hard: Getting hit in the head is an insta-killl; wounds will bleed for 10 seconds, or until treated**
Cthulthist: Getting hit in the head is an insta-kill, wounds won't stop bleeding until they're treated, using alcohol on a wound will deal some psychic damage (refer to earlier posts), and may also knock the character unconscious for a moment; any wound that'll deal over half of our Max HP causes our character to Panic (run around and do nothing pretty much).

* Bleeding will deal a damage over time - depending on how heavy the bleeding is
** Treating a wound: Stops bleeding, and some things may slightly heal our character. Though healing only works to a certain point - you can heal up to 33% of lowest health you had. What does it mean? Lets say you had 100HP, then you got some damage and your health dropped do 48HP. That's the lowest health you got to - you can only heal yourself to 64HP (lowest point [48] + 1/3 of this point [16]). If you get wounded again and your health drops to below 48, you can heal even less. This essentially will get rid of insta-healing to full HP in a matter of seconds.

And last, but not least, I've 'made' a small 'website' related to this (and any future/parallel) project(s) I have. I try to update it weekly, so if anyone's interested in getting news about this project (a bit more often than I post here, sorry), head to http://corruptgd.wordpress.com!
Parent - - By jlnr (dev) Date 2014-04-15 08:14
Sounds good! For a project as big as this, I would recommend that you find honest play-testers who usually like the genre you're aiming for. It's what I should have done more often when I was writing an adventure-y game. Turns out there are always some aspects of the battle system that people don't care about deeply, and others where they expected more.
Parent - By EdwinOdesseiron Date 2014-04-15 09:03
I've got three people who will do the first, main tests (one of them is a gamedev as well, so he'll be able to look at things from technical side). I'll probably also release tech-demo after first tests and removing major bugs, mainly to show how is the game going to be played and get an insight on performance on other computers. I have a piece of code just for it - constantly saves an average FPS from 10 seconds, when size of average FPS array reaches 50 it gets averaged again and saved on index 0, repeat. At exit it again calculates full average and saves it into file. I think it doesn't put much stress on memory, since it's just 2 arrays, one with 10 floats, and another one with 50 floats.
Up Topic Gosu / Gosu Showcase / Die Erlösung - Redemption. A horror Adventure/RPG game

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill