Author Topic: Making a one dimensional roguelike interesting.  (Read 16315 times)

halvorg

  • Newcomer
  • Posts: 15
  • Karma: +0/-0
    • View Profile
Making a one dimensional roguelike interesting.
« on: July 02, 2013, 01:23:26 PM »
Hey, first post!

I'm learning a new programming language and figured I'd make a roguelike game, I have zero ambitions for success or whatever.

As I am new at this I decided to make it one dimensional, by that I mean that the player can only move left or right, not up and down. A simple screenshot to illustrate:

(seen from the side)

So obviously gameplay can get stale to say the least with no room to manouver, but I have some ideas to make more out of it than simply holding num 6 until you win : ).

The ideas I've tossed around in my head are as follows, nothing is implemented yet because I've worked on the "engine" if you can call it that.

Monsters must be able to stack.
Diverse set of weapons with various effects, i.e. spears can pierce through several tiles, axes can hit several enemies on one tile etc.
Minimum range for spells and ranged attacks.
Very unforgiving side scrolling, the game only wraps to the right.
Possible ability to leap over floor tiles, converting floor tiles to lava etc.
Usual features like doors,variable light radii or view distance and gear/levels/classes/races etc.

So what I hope is to get some ideas from you guys on how to make the gameplay slightly interesting!

(Code is here if anyone is curious, nothing to look at really. https://github.com/halvorgb/axisofX)

PerspectivDesigns

  • Newcomer
  • Posts: 30
  • Karma: +0/-0
    • View Profile
Re: Making a one dimensional roguelike interesting.
« Reply #1 on: July 02, 2013, 02:51:30 PM »
The Stacking combined with different types of weapons sounds really interesting! My advice is to make sure you keep it 1D. That's a really interesting gimmick you should hang onto!

JohnK

  • Newcomer
  • Posts: 15
  • Karma: +0/-0
    • View Profile
Re: Making a one dimensional roguelike interesting.
« Reply #2 on: July 02, 2013, 03:17:29 PM »
One thing that could spice it up is giving the player several turns at once (maybe an action point system so you can make support abilities cheap) and giving them plenty of powers like pulls, pushs, teleports, area attacks and traps. The game becomes about controlling your enemies so they are concentrated in your damaging areas while you remain out of their reach.

Vanguard

  • Rogueliker
  • ***
  • Posts: 1112
  • Karma: +0/-0
    • View Profile
Re: Making a one dimensional roguelike interesting.
« Reply #3 on: July 02, 2013, 03:46:50 PM »
What I would do is design the combat system so drawn out battles of attrition are very favorable to the player (say, by giving the player better speed and ranged abilities than enemies have) but I'd also put the player on a strict time limit, so they'd have to decide whether to take their time against enemies and minimize health loss or fight aggressively to beat the clock.

I think it would be more exciting to enforce the time limit by having the screen automatically scroll like you see in some of the 2d Mario games, or by having the player flee from an invincible pursuer rather than using a traditional hunger system.

Another idea that might make it a little more interesting would be to give the player the ability to easily bypass most enemies (they can jump over them or cast teleport or whatever) but also make it highly advantageous to kill as many enemies as possible, because they drop useful powerups, or because they give a lot of experience and player levels up very quickly, or because there's some negative long term consequence to skipping enemies.

requerent

  • Rogueliker
  • ***
  • Posts: 355
  • Karma: +0/-0
    • View Profile
Re: Making a one dimensional roguelike interesting.
« Reply #4 on: July 02, 2013, 08:19:22 PM »
AHH!!! YOU STOLE MY IDEA!


I've had a 1D roguelike in draft for a while.


Gameplay will be interested based upon how you use distance and how you make map features meaningful.


Spells that allow you to push/pull enemies, build walls, set explosive tiles- etc, will all make things somewhat interesting.

However, the real advantage of 1D is how easy and cheap (resource-wise) it is to implement atrociously powerful AI. I would keep the number of fodder enemies low and focus on interesting combinations of enemies with cool powers.

Lemony Lime

  • Newcomer
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Making a one dimensional roguelike interesting.
« Reply #5 on: July 03, 2013, 02:07:10 AM »
I've wanted to make a 1D game for a long time too, haha.

halvorg

  • Newcomer
  • Posts: 15
  • Karma: +0/-0
    • View Profile
Re: Making a one dimensional roguelike interesting.
« Reply #6 on: July 03, 2013, 03:04:42 AM »
Many good ideas here.

I'll sit down sometime this week to flesh out the design, thanks for the help!

Vanguard

  • Rogueliker
  • ***
  • Posts: 1112
  • Karma: +0/-0
    • View Profile
Re: Making a one dimensional roguelike interesting.
« Reply #7 on: July 03, 2013, 03:47:44 AM »
Good luck!

Let us know how it turns out.

Trystan

  • Rogueliker
  • ***
  • Posts: 164
  • Karma: +0/-0
    • View Profile
    • my blog
Re: Making a one dimensional roguelike interesting.
« Reply #8 on: July 03, 2013, 05:40:12 AM »
Neat idea! And in Haskell too.

I've been focusing a lot on effects that change the terrain or status without doing direct harm. So maybe things that effect the terrain or positions.

Stuff like:
 Spike spells can turn the floor into spikes that damage anyone who's on them.
 Spike Armor users ignores spikes.
 Water tiles reduce attack, defense, and speed.
 Mermaids and Fish Scale Armor users get bonuses when in water.
 Fire that spreads to adjacent creatures and flammable terrain.
 Trapped tiles randomly swap the positions of everyone within a few tiles.
 Weapons or skills that let you swap positions with an adjacent group.
 Weapons or skills that knock enemies back.

It will be interesting to see if you can still give the players enough options - or at least the feeling of enough options - with only one dimension.

malignatius

  • Newcomer
  • Posts: 42
  • Karma: +0/-0
    • View Profile
    • Email
Re: Making a one dimensional roguelike interesting.
« Reply #9 on: July 03, 2013, 07:52:17 AM »
I would consider having the option to move up and down, for climbing up or down a level (ladders/elevators) Just like a platform game. But still keep it to one screen. That way the player could for avoid enemies from time to time by choosing a different route.

... and yeah, consider doing something other than generic fantasy setting. :-)
« Last Edit: July 03, 2013, 07:54:00 AM by malignatius »

Destroid

  • Newcomer
  • Posts: 17
  • Karma: +0/-0
    • View Profile
Re: Making a one dimensional roguelike interesting.
« Reply #10 on: July 03, 2013, 08:57:30 AM »
I made a higher dimensional prototype that uses a series of 1D representations to communicate the environment to the player.

https://dl.dropboxusercontent.com/s/cjkx4w3gwl07zk8/ndrl.swf

Paul Jeffries

  • 7DRL Reviewer
  • Rogueliker
  • *
  • Posts: 257
  • Karma: +0/-0
    • View Profile
    • Vitruality.com
Re: Making a one dimensional roguelike interesting.
« Reply #11 on: July 03, 2013, 10:49:51 PM »
The other dimension that you can make use of is time, so I would make that a key ingredient of gameplay and combat - have a lot of delayed-time actions and attacks that require charging up before use, combo attacks and so on.

You could do something really interesting with magic by having different spells effect different patterns of spaces over time.  In fact what might be cool (and help to keep these patterns understandable for the player) is if you say that magic in this setting is actually 2-dimensional shapes passing through your 1-dimensional world, so that all you see of them is a 1D 'slice' (yes, I'm stealing this from Flatland).

For example, suppose you had an 'X' spell that in 2D looked like this:

#    #
 # #
  #
 # #
#   #

So if you cast the spell a few tiles ahead of you, on the first turn it would look like this:
_@__#___#_
Then on turn 2:
_@___#_#__
Turn 3:
_@____#____
Turn 4:
_@___#_#__
Turn 5:
_@__#___#_

(Affecting the tiles marked by #s, obviously.)

You would then have to plan your spellcasting and movement carefully so that you hit monsters vulnerable to that magic type while avoiding hurting yourself or hitting monsters that could absorb that magic-type.
« Last Edit: July 03, 2013, 10:55:42 PM by Paul Jeffries »

Darren Grey

  • Rogueliker
  • ***
  • Posts: 1980
  • Karma: +0/-0
  • It is pitch black. You are likely to eat someone.
    • View Profile
    • Games of Grey
Re: Making a one dimensional roguelike interesting.
« Reply #12 on: July 04, 2013, 01:47:24 AM »
I came along to post about using time and Paul beat me to it :)  Check out Kerkerkruip for some ideas on how to use timed charging attacks.

Paul, your intersecting 2d shape thing makes me think of making a FlatlandRL! Summon spheres to intersect the plane next to the enemy, etc...

ekolis

  • Rogueliker
  • ***
  • Posts: 182
  • Karma: +0/-0
  • get ye dennis
    • View Profile
    • Ed's home page
    • Email
Re: Making a one dimensional roguelike interesting.
« Reply #13 on: July 04, 2013, 04:05:33 PM »
Wasn't someone one #rgrd working on a 1D roguelike where the @ was controlled by an AI and players could view the map via IRC? Was that one of you guys?
The Ed draws near! What dost thou deaux?

>EAT SANDVICH

halvorg

  • Newcomer
  • Posts: 15
  • Karma: +0/-0
    • View Profile
Re: Making a one dimensional roguelike interesting.
« Reply #14 on: July 04, 2013, 04:31:46 PM »
Thanks for the feedback, I like using time as a second dimension and as a constraint.

I've been thinking of a concept/setting where the protagonist must outrun the "last" boss until he reaches the end - and only then slaying it. I'm not sure why he'd do that as of yet, maybe the glorious king has promised a reward for whoever kills the Great Beast(tm) infront of his court? The reasoning is not important

Some core gameplay mechanics thoughts:
Resources: Energy and Health
Health is regained by picking up health globes like those from diablo 3.

Every action the player takes depletes energy, the player may do up to n actions per turn, but every additional action comes with an increased energy penalty.
Energy is only regained through resting.
 -- Resting takes a long time, the boss will gain ground while the player rests.

The chase:
If the player is too conservative on his energy consumption for each tile moved forward the boss will catch up to him.
If the player is too reckless with his energy consumption for each he will need to rest more often - the boss will catch up to him.

Almost any enemy can be skipped, but the boss will devour every skipped enemy. Gaining ground and/or strength.
If the boss catches up to you too early, you can still kill it(unlikely), but you won't get the bonus score you'd get if you had lasted all the way to the end.
--

As for combat, classes, skills, levels and such I have to think more on it, multiple actions per turn (at a penalty) sounds cool and all, but it has to be done in a way that ideally doesn't force you to navigate through different menus (something I'm not really a fan of). How characters progress etc. is almost arbitrary to me, provided the implementation is good.

Another cool thing would be (rare) random encounters like in FTL. (ex. if you do not help peasants on your way to the Great King(!) militias may show up later in the game to impede your progress [as the last boss wrecked havoc in your footsteps]). This is way into the future though and too much to start working on right now.

Barring major negative response I think I'll work on implementing the chase and a simple combat system for a first prototype.