Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - dscreamer

Pages: [1]
Design / Design of game action systems/architecture
« on: November 18, 2016, 03:28:36 AM »
(Disclaimer:  Simple action systems get the job done for most games. There's no need to make it more complicated than it needs to be.)

So, I've been taking a long look at game actions. Not the scheduling of future actions - just the actual execution of the actions taken by the player and enemies (and maybe other things).

I had a few goals:
- It should be easy to handle cancellation of actions, like when the player backs out from the targeting screen.
- It should be easy for an action to allow certain conditions to be overridden, like making an attack while ignoring all range limitations, or declaring that an attack will never result in a critical hit.
- It should not be fragile when things change, because things WILL change.

I have several pages full of text now, and I feel like I'm getting closer to something that'll work, but there are still some major design decisions to be made. Anyway, that's not what this post is about.

Those of you who have tried to handle action cancellations elegantly, how did it go?
What goals did you start with? I'm interested in exploring this space, to see whether some of these questions already have answers.
Thanks for reading.

Programming / Rule libs for managing statuses & attributes?
« on: October 22, 2016, 10:54:54 PM »
Hey, everyone.  I made this lib( and I've been wondering about similar projects (any lib that attempts to create relationships between simple values, I suppose.)

Have you created or used anything similar? If so, did it turn out to be useful?

7DRLs / Timegame [7DRL 2016] [Success]
« on: March 14, 2016, 06:00:08 AM »
""This base will self-destruct in thirty seconds."
Sometimes you think working as a Temporal Agent is more trouble than it's worth."

Finished! You can get the game at .

The timeline must remain self-consistent, so you can't do anything that contradicts what already happened, or you'll create a paradox!

Hey, everybody! Forays 0.8.4 is available now!

This version focuses on interface polish, flavor, and on small changes that have big impacts on gameplay.

Here's a quick summary of the big changes:
* Health and status bars! You can now see health & status effect durations for both you and enemies.
* Dungeon descriptions! Flavor text for your surroundings now appears at the bottom of the screen.
* Shrines can now appear at any depth, not just odd-numbered depths. A full set of 5 will still exist on each pair of depths. (1 and 2,  3 and 4,  etc.)
* Monsters now tend to have slightly less health, but slightly more of them will appear.
* Added 2 new level types, and changed level type rarities - some are now more common than others.
* More font sizes, to better fit common screen resolutions while fullscreened.

Here are some screenshots that showcase some of the new features.

Minor changes and bugfixes:
* Confirmation before resting is now the default. No more accidental rests.
* The dungeon is now overall a noisier place. Sounds are more likely to draw the attention of monsters.
* Fixed a bug where input wasn't properly flushed after certain animations.
* Fixed a bug where Feel no pain didn't activate the first time if you were below 20HP when you learned it.
* Fixed a bug where you could close doors on monsters and items.
* Mouse UI improved in several little ways, especially with middle-clicks and scroll wheels.

You can grab it now at .
Also, the old (empty) forum has been replaced with a subreddit: /r/foraysforum


Hey, all. Lately I've noticed a few people coming to #rgrd wanting to make an ASCII RL in C#, and found that I didn't have anything to recommend - especially for a new dev who isn't going to want to compile a lib with strange build tools, or use C/C++ native DLLs.

So, I made this!

It's very simple in scope, perfect when you just want to get something on the screen. It does input, too, because it's made with OpenTK (and as a bonus, it draws very quickly).

Here's a direct download link, but the simplest option is probably to use NuGet if you use Visual Studio, Xamarin Studio, or MonoDevelop.


Hey, everybody! I've got a new Forays for you, available at !

Major gameplay changes:

-The rate at which you learn new feats has been evened out:  Every other dungeon level, when shrines appear, one shrine will grant you a feat in addition to increasing your skill.  This means you won't go several levels without learning any new feats, and it also means you can learn more than 2 feats belonging to a single skill!

-Wands have been added! There are seven different ones, including the wand of dust storm and the wand of flesh to fire.

-More new items! In addition to the wands, there are several new potions, scrolls, and orbs to use.

-Several feats have become stronger: Drive back now increases crit chance against cornered enemies; Arcane interference now stuns enemy spellcasters in addition to cancelling their spells; Conviction gives a better bonus to Combat skill; and Deflect attack can now cause enemies to hit one another even if they're not adjacent.

-Monster changes! Several monsters are more interesting opponents now, for an extra tactical challenge. (Several monsters can now dodge attacks. A few monsters are now tanky opponents, while a few became glass cannons.)

-Spell learning and failure has been changed:  You can now be much more exhausted before your spells will start to fail, bringing spells & exhaustion more in line with armor & exhaustion. You'll now choose from 5 random spells each time you increase your Magic skill.

-Dungeon improvements! Cave levels and mine levels use new algorithms, for much better-looking results.

Other gameplay changes:

-Burning deals less damage per turn but lasts longer, which makes flammable terrain and water more important.
-Wandering monsters will eventually spawn once enough time has passed on a dungeon level.
-The mace now knocks enemies back 3 spaces, from 2.
-The bow can now become low on ammo, eventually running out. This is a form of equipment damage and is repaired when you rest.
-Firing an arrow through fire will now ignite it, burning your enemies.
-AI handles hazardous terrain more consistently now.
-Poppy fields now put you to sleep directly instead of causing a drowsiness effect.
-Unstable teleportals will now transport items away, too - make that exploding blast fungus someone else's problem!
-Blast fungus will now ignite and start its fuse when picked up.
-Different types of gas will no longer mix - the new gas now replaces the old.
-Enemies no longer devastate the player when their sneak attack scores a critical hit. (This is now a player-exclusive ability.)

UI improvements:

-Confirmation prompts for stepping into dangerous gases and for stepping too close to fire while covered in oil.
-Right click now opens the inventory on the map screen.
-Message log expanded to hold the last 1000 lines.


-Fixed a bug where monsters could sometimes find an invisible player too easily.
-Fixed a bug where you were unable to tumble through fog.
-Fixed a bug where sleeping monsters weren't as helpless as they should have been.
-Fixed a bug that could cause console mode to slow down while drawing.
-Fixed a bug where font scaling or custom DPI settings could cause display and mouse input problems.
-Fixed a bug where attacking with the staff could swap places when and where it shouldn't have.
-Fixed a bug where missing or empty highscore and option files could crash the game.
-Fixed a bug where dodging a free attack could result in a permanent doubling of speed.


Hey, everyone. I'm here with a new version of Forays - and I've moved to Bitbucket because Google Code no longer allows new downloads.

You can download the new version here:

There's a major change to how the game runs - I've changed the default from terminal to OpenGL mode! Don't worry, console mode is still available - start ConsoleForays.exe if you want to run it in the terminal.

Major changes:

-Mouse support! Now that I'm using OpenTK, I was able to add a mouse interface to the game.

-Improved the list of commands on the sidebar. You can now [v]iew more to see the entire command list.

-Packs of monsters can now appear on appropriate level types - zombies in crypts, for instance. These packs get bigger as you go deeper into the dungeon.

-Boiling blood feat improved: Now grants immunity to fire at 5 stacks.

-Potion of silence improved: Now grants an aura of silence instead of only affecting the user.

-More tutorial tips have been added, and you can now see the list of known item types on the game over screen.

Other changes:
-Players will get a reminder if they try to take the stairs and leave an unused shrine behind.
-Scrolls can no longer be read while blind.
-The weakest enemies can no longer score devastating critical sneak attacks on you.
-Enemy arrows can now score critical hits to pin.
-Flying enemies that become pinned will trigger traps beneath them.
-Improved enemy AI near hazardous terrain.
-Improved autoexplore: It'll no longer try to move you over traps unless there is no other path.
-Added an option to ask for confirmation before resting, to prevent accidental use. (This option is off by default.)
-You can no longer be grabbed while encased in ice.

-The game can now be started without highscore.txt or options.txt.
-Fixed a bug where sliding wall traps could generate very out-of-depth monsters.
-Fixed a bug where skulking killers could throw their bolas through walls.
-Improved entrancer AI to be smarter with its use of teleportation.
-Fixed a rare bug where level generation could hang the game.
-Fixed a bug where you couldn't cast Telekinesis on barrels.
-Fixed a bug where a dimmed light could last too long.
-Fixed a bug where ghosts could generate too many messages about noticing the player.
-Fixed a bug where [more] could be displayed incorrectly at the side of the screen.
-Fixed a bug where some messages could be printed even though their subjects weren't visible.

If you have any questions, feedback, or problems, head to  or  #forays on QuakeNet.

Thanks, and enjoy!

Hey, everybody. This is a 24HRL that I finished yesterday, inspired by a discussion I had with magikmw about position-/movement-based combat. I thought you all might appreciate the concept: It's an arcade-style roguelike with randomized attacks based on cardinal/diagonal/knight's move/far cardinal/far diagonal positioning.

Here's the download:

And, if you're curious but not convinced yet, here's the readme, which describes the gameplay in more detail:

I'm happy with the result - it illustrates the possibilities of an entirely movement-based combat system, and it's even fun once you get into it. Let me know what you think. Thanks!

Traditional Roguelikes (Turn Based) / Forays into Norrendrin 0.8.1
« on: December 21, 2013, 08:46:32 PM »
Hey, everyone, I've got a new version already! It's in the usual spot at - I wouldn't normally push an update so quickly, but this one fixes a fatal crash in addition to making some cool changes.

I even have a proper list of changes, this time:

-Added a new type of level: Garden.
-Defense skill improved: Now increases your chance to avoid attacks by 3% (up from 2%). This was a much-needed improvement.
-Staff improved: If you attack an enemy that moved last turn, the staff now hits automatically (in addition to swapping places).
-Item rarities changed for fun & balance.
-Added two new traps: Fling & stone rain!
-Examining a monster will now reveal whether it is aware of you or not.
-Plate armor is now more taxing to wear: Exhaustion upon blocking an attack increased from 2% to 3%.
-Base rate of critical hits increased to 1 in 8 (from 10%).

Minor changes:
-Item descriptions can now be accessed from all inventory screens by pressing the uppercase letter of an item.
-Arcane interference now empowers your spells for several turns when it affects an enemy.
-Cavern hag will now only curse you if you've damaged her directly.
-Corrosive ooze's attack is no longer blocked by armor.
-Added new tutorial tips: Unidentified consumables & critical hits.

-Skittermoss crash bug fixed.
-Armor now properly protects against arrows.
-Fixed a bug where maces didn't always punch through armor.
-Fixed a bug where staffs didn't always swap places with fast monsters that moved last turn.
-Very obvious traps will no longer be generated in the middle of brush/water/etc.
-Wandering monsters should walk into webs less often.
-Improved suggested targets for arrows and similar abilities.
-Improved corpse handling code to prevent bugs when multiple knockback effects are triggered.
-Fixed a bug where darkness dwellers ignored magical sunlight.
-Goblin shamans can no longer cast spells from an unlimited distance.

If you have questions, feedback, or problems, head to  or  #forays on QuakeNet.


I think this is relevant enough to post here (and I thought Development was a better fit than Announcements).

I've cleaned up the code I use for c# System.Console output. Like curses, its purpose is to prevent flickering and unnecessary redrawing. I've also used some trickery to get bright colors working correctly on native Linux terminals.

I hope someone will find this useful.

Full terminal support! (If you're on linux, you will probably need Mono 2.10)

A twenty-level dungeon crawl with a skill and feat system, originally starting development in October 2011. The game features skills and feats which you gain from shrines that can be found within the dungeon. There is a high-score system which is based on dungeon depth comparisons. The game focuses on a clean user interface with many accessibility options.

Hey, everyone. I'm back to announce Forays 0.7.0, with big improvements to some very visible parts of the game.

There are 20 new monsters(for a total of 50), bringing more variety to the foes you'll face in the dungeon.

The dungeon has also been massively improved. There are seven level types(instead of just one), and you will encounter statues, pillars, and natural gas vents.

In addition, the difficulty curve has been improved greatly. Tutorial tips will provide useful information _when_ that information is useful, and early monsters now do a better job of introducing important game concepts.

Grab it now at  .

I didn't think this update would be ready within a day of the ARRP, but surprise!
A major change has appeared: Skills are now increased by finding shrines within the dungeon, rather than killing monsters. XP has been removed entirely, but you can now find items dropped by some enemies.

I've made all of the help and description screens present their information more clearly, especially the 'f'eat screen.



Hello, everyone.  I've just released Forays 0.6.2. If you haven't played since 0.6.0, major changes are listed below.
If you haven't played at all: It's a 20-level dungeon crawl with skill-based advancement, rather than class- or item- based.

0.6.1 improved the list of spells, making them overall cooler and more useful, as well as replacing and improving a handful of feats, and adding a few new items.

0.6.2 focuses on the interface; adding automatic stair travel, the occasionally-controversial autoexplore, improved targeting, expansion of the message window, and a general reworking of the key commands for ease of use.

(On the horizon: light and shadow will play a much bigger role in exploration and combat, with new monsters and dungeon features to support this.)

As always, it's available for Windows and Linux(requiring Mono 2.10). Check it out here:

Pages: [1]