Author Topic: Escape into Black  (Read 9084 times)

penguin_buddha

  • Newcomer
  • Posts: 19
  • Karma: +0/-0
    • View Profile
    • Email
Escape into Black
« on: May 10, 2013, 05:35:24 PM »
Hey guys, I've decided to stop just lurking and post about my current project, Escape into Black. Escape into Black (EIB) is going to be my first RL and I plan on reusing its engine for my future, more ambitious, projects.


Escape into Black


Overview: Escape into Black has a simple story. You are a citizen of a mountaintop city who was framed for murder. You were judged guilty and given a choice, a clean death or the Pit. The Pit is a large hole in the ground near the center of the city which drops into a large series of catacombs that are said to spread all the way to the base of the mountain. Legend says that there is an exit from the catacombs, though it has never been confirmed.  Most don't even survive the drop into the cavern floor, but you decided to try your luck. You stand on the edge of the large hole, looking down at the corpse littered cavern floor nearly 50 feet below. You feel the steel tip of a guardsman's pike pressing against your back, forcing you closer to the edge...

Completed Features:
  • randomly generated caves (modification of BSP)
  • field of view using shadow casting
  • inventory system
  • loading from XML files
  • A* pathfinding for AI
  • looking and targeting
  • melee, ranged, and thrown weapons
  • action-delay based turn system

Planned Features:
  • monster dens
  • rivers flowing through the map
  • stealth
  • additional skills (currently only have combat related skills)
  • crafting
  • injuries (currently just have simple hp system)
  • hunger/thirst/exhaustion
  • experience
  • character creation

Ill add to the to-do list as I go. The game isn't playable yet but here are some screenshots of its current state. Note I'm using squidlib for my graphics.







Let me know what you think!

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4957
  • Karma: +4/-1
    • View Profile
Re: Escape into Black
« Reply #1 on: May 10, 2013, 06:22:35 PM »
Sounds like it should shape up to be a nice project indeed should all go well---keep at it and keep us posted!   8)
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

guest509

  • Guest
Re: Escape into Black
« Reply #2 on: May 17, 2013, 07:04:41 AM »
A* pathfinding? Nice.

I've been trying to get it to work and failing.

Edit: was there supposed to be a download link?

JO

penguin_buddha

  • Newcomer
  • Posts: 19
  • Karma: +0/-0
    • View Profile
    • Email
Re: Escape into Black
« Reply #3 on: May 20, 2013, 03:52:19 PM »
The game isn't quite playable yet. Should be within a month.

penguin_buddha

  • Newcomer
  • Posts: 19
  • Karma: +0/-0
    • View Profile
    • Email
Re: Escape into Black
« Reply #4 on: July 16, 2013, 08:33:23 PM »
Just thought I'd give a brief progress update.




Progress

  • Natural looking rivers
  • Separate levels which retain their items/monsters after leaving and returning
  • Facing and a limited field of view based on the character's perception skill
  • Sounds and hearing


Details

Rivers:
I'm thinking of eventually just creating a height map and creating rivers in the lowest areas but for now I created rivers using vectors. For each river I want to create I make a vector on the edge of the map pointing inwards. Then in steps I just draw a line of river based on the vector, move the vector to the end of the line, randomly alter the vector, and repeat. There is also a chance for the rivers to split. The rivers can change in width as well.

Facing:
I decided to add facing to the game and limit the angle of view for characters and npcs. This makes the game a little bit more more suspenseful as you don't know whats behind you. A character can change their facing without actually moving from their current tile but doing so takes a small amount of time. The angle of view also lets pcs sneak up on npcs, though I haven't added any stealth attack bonus yet.

Hearing:
I decided to go with a rather simple solution for sounds. Each time a sound occurs I use A* pathfinding with a modified heuristic from the sound's origin location to each agent within a distance of the sound less than the sound's volume. If the pathfinding algorithm finds a route the sound reached that agent. I subtract the length of the path (the distance the sound traveled to get to the agent) from the original volume and based on the agent's perception I determine if they actually heard the sound. I haven't added them yet but I plan on having some blind monsters that can only hear.



Obviously my original estimate of when this game was playable was off but I'm steadily chinking away at it.

Endorya

  • Rogueliker
  • ***
  • Posts: 513
  • Karma: +0/-0
  • The non-purist roguelike lover
    • View Profile
    • Email
Re: Escape into Black
« Reply #5 on: August 04, 2013, 03:15:53 PM »
Just a quick hint. Make text and the interface less bright as bright white stresses the eyes against a black background, specially with repetitive patterns like "- - - - - - -"
« Last Edit: August 04, 2013, 03:21:02 PM by Endorya »
"You are never alone. Death is always near watching you."

penguin_buddha

  • Newcomer
  • Posts: 19
  • Karma: +0/-0
    • View Profile
    • Email
Re: Escape into Black
« Reply #6 on: October 03, 2013, 06:08:45 PM »
Another progress update




Progress

  • Improved Graphics
  • Gaining and Spending Experience
  • Effects and Events
  • Feats and Traits



Details

Improved Graphics: I've begun messing around with colors and have been making use of Squidlib's built in methods. It has a great library with built in blending functionality. I've also altered how light is treated, creating a more natural gradient from light to shadow.

Gaining and Spending Experience: The player now gains experience from slaying monsters. The amount of exp gained is based on the difference between the player and monster levels. Experience can be spent to upgrade attributes, skills and to buy feats.

Effects and Events: Most of my time has been spent on this. I went though a few frameworks before I finally settled on this one. Whenever anything occurs that would affect an object, an Event is created. The Event determines what objects are affected and then applies Effects to them. The Effects can do anything from dealing damage to boosting stats. The system is very robust and I feel confident I can make almost any spell/ability I could think of. Thanks to AgingMinotaur and all the others who posted in my thread requesting help on this.

Feats and Traits: Traits are things innate to an object, such as blindness. Traits are essentially just flags that the code checks for. Feats are essentially traits that the player can purchase with experience.



Whew, well back to work. I'm working on creating a whole set of cave creatures, each with their own unique AIs. There will also be essentially an ecosystem within the game with an fairly complex food chain.