Author Topic: An Underdark roguelike in development  (Read 17702 times)

Zireael

  • Rogueliker
  • ***
  • Posts: 604
  • Karma: +0/-0
    • View Profile
An Underdark roguelike in development
« on: June 18, 2013, 08:04:59 AM »
Anyone knows a roguelike engine easy to mod? I love Incursion, but alas, it's not really moddable.

I'd like to introduce the following:
- new races (drow, deep gnomes, deep orcs, kobolds, goblinkin)
- levels being random, whether you go up or down
- no final boss
- no level cap
- stairs having a chance of not changing the depth, but generating a new level (I call it 'horizontal passages' in my drafts)
- vaguely d20 style feats
- (possibly) multiclassing and prestige classes

Around a year ago, I tinkered with NPPAngband, but then the studies came and I didn't have time to do it.

My programming skills are enough to mod some or contribute to an already existing open source, but I don't know enough to start from scratch (unless there's an ABSOLUTELY AMAZING step-by-step guide of some sort)

Help?
« Last Edit: June 22, 2013, 03:33:01 PM by Zireael »

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4958
  • Karma: +4/-1
    • View Profile
Re: Easy to mod engine for an Underdark roguelike
« Reply #1 on: June 18, 2013, 11:56:42 AM »
Doesn't really exist as far as something else to springboard off of in this way, though offhand I don't have an encyclopedic knowledge of all the open source/at least somewhat modding friendly Roguelikes out there...

http://tome.te4.org/  The perhaps liveliest of modding friendly games/engines even remotely in that scope

Or maybe:

http://www.furytech.net/furyband/furyband.php   As a long shot.

Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

Zireael

  • Rogueliker
  • ***
  • Posts: 604
  • Karma: +0/-0
    • View Profile
Re: Easy to mod engine for an Underdark roguelike
« Reply #2 on: June 18, 2013, 02:04:13 PM »
T-Engine sounds promising, as it's written in lua and it has a neat documentation.

The question is, would it be possible to code new races, classes and talents?

Would it be possible to base combat on d20?

requerent

  • Rogueliker
  • ***
  • Posts: 355
  • Karma: +0/-0
    • View Profile
Re: Easy to mod engine for an Underdark roguelike
« Reply #3 on: June 18, 2013, 04:11:04 PM »
A game engine really just handles IO for you- that's sound, input, visuals, etc, and whatever additional boiler-plate is domain specific for the genre.

So- the answer first and foremost is 'yes,' it can do all of those things. The question I think you're more concerned about is whether it will do all of those things for you or not. You should also consider what classes and races are relative to a game... It's just different ways of organizing entity characteristics.


Also- D20 systems can sometimes be not-so-great for single-player isn't great for computer games. There is a tendency for things to get a little too unlucky in a way that's unfair. It's much more reasonable to use a probability distribution that mimics D20, but has a higher percent chance of yielding average rolls.

Good luck.

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4958
  • Karma: +4/-1
    • View Profile
Re: Easy to mod engine for an Underdark roguelike
« Reply #4 on: June 18, 2013, 05:03:50 PM »
Yeah, plenty of people are in the process of making/have made various new things on T-Engine, check the Addons board over there.

the d20 notion is why I thought to mention Furyband, on top of your already familiar Angband heritage of sorts---as tales of Maj'Eyal's default system is rather different.
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

Darren Grey

  • Rogueliker
  • ***
  • Posts: 2027
  • Karma: +0/-0
  • It is pitch black. You are likely to eat someone.
    • View Profile
    • Games of Grey
Re: Easy to mod engine for an Underdark roguelike
« Reply #5 on: June 18, 2013, 05:25:52 PM »
Check the T-Engine Modules board actually. It's fairly easy to make your own complete game separate from ToME. It has a lot of functions you can borrow, and a lot of stuff you can ignore.

Zireael

  • Rogueliker
  • ***
  • Posts: 604
  • Karma: +0/-0
    • View Profile
Re: Easy to mod engine for an Underdark roguelike
« Reply #6 on: June 18, 2013, 06:48:05 PM »
Check the T-Engine Modules board actually. It's fairly easy to make your own complete game separate from ToME. It has a lot of functions you can borrow, and a lot of stuff you can ignore.

I found the ToME 2 port but I can't get it to run, it says it's not compatible with T-Engine 0.9.43, even though it should be, according to what the author wrote on the board! What's the problem?

Also, how do I unpack the .team files? I was hoping to poke around the ToME port and around ToME 4, too...

EDIT: Great, can't register on ToME forums cuz 'summoner' and 'wilder' are both wrong answers to the automated question. Help?
« Last Edit: June 18, 2013, 06:54:35 PM by Zireael »

Darren Grey

  • Rogueliker
  • ***
  • Posts: 2027
  • Karma: +0/-0
  • It is pitch black. You are likely to eat someone.
    • View Profile
    • Games of Grey
Re: Easy to mod engine for an Underdark roguelike
« Reply #7 on: June 18, 2013, 07:06:14 PM »
Alchemist is the correct answer to the forum question.

Not sure of the ToME2 port, as far as I know it's still quite incomplete. The .team files are just renamed .zips.

For a more up to date modules check out Mosaic, Rogue Rage and Broken Bottle here: http://gamesofgrey.com  These are some T-Engine games I've written, and are by far the most complete and polished T-Engine games made other than ToME4 itself.

Zireael

  • Rogueliker
  • ***
  • Posts: 604
  • Karma: +0/-0
    • View Profile
Re: Easy to mod engine for an Underdark roguelike
« Reply #8 on: June 19, 2013, 07:24:38 AM »
Mmkay, I started working on it.

After some copy&paste brainfarts, I got the example module with renamed init to show up.

Now to create working chargen...
« Last Edit: June 19, 2013, 07:43:52 AM by Zireael »

RylandAlmanza

  • Newcomer
  • Posts: 17
  • Karma: +0/-0
    • View Profile
    • Email
Re: Easy to mod engine for an Underdark roguelike
« Reply #9 on: June 19, 2013, 05:41:49 PM »
My programming skills are enough to mod some or contribute to an already existing open source, but I don't know enough to start from scratch (unless there's an ABSOLUTELY AMAZING step-by-step guide of some sort)

http://roguebasin.roguelikedevelopment.org/index.php?title=How_to_Write_a_Roguelike_in_15_Steps
The key is to start simple. Really simple. And from that starting point, just add tiny little additions one step at a time. It seems tedious, but it feels really nice once you start to get somewhere. Definitely a better feeling than just modding an existing engine.

Etinarg

  • Rogueliker
  • ***
  • Posts: 424
  • Karma: +1/-1
  • Idea archivist and game tinkerer.
    • View Profile
    • Gedankenweber Blog (German)
Re: Easy to mod engine for an Underdark roguelike
« Reply #10 on: June 20, 2013, 12:35:16 PM »
If you like Java you can take a look at this:

http://sourceforge.net/projects/rlgamekit

It's not really a gme engine, but a collection of modules which you can use to build a game:

- Field of view code
- Item and inventory handling
- Generic map data structures and map loading/saving
- Some dungeon generators included
- Supports ASCII or tile based map display

Character/race effects you'll have to code yourself, also combat and other game actions.

It's fairly generic, but sometimes the interfaces are a bit difficult to understand.

Docs:

http://sourceforge.net/apps/mediawiki/rlgamekit/index.php?title=Main_Page

Javadoc (API documentation):

http://rlgamekit.sourceforge.net/javadoc/

Definitely a better feeling than just modding an existing engine.

I can't second this. After several more or less successful tries to make games of my own, I'm now back to modding Angband into a game of my liking. Modding a game has the benefit that it works right from the start, and you have a complete game already. The drawback is that an existing codebase has limited flexibility, and you'll have to stay more or less close to the original game.

Also, reading code is more difficult than writing code, so learning a foreign codebase is often disliked, and writing your own code seems to be preferrable. But an existing codebase like Angband is already debugged and stable, which will save you time. Writing new code is a temptation, but not necessarily a time saver.
« Last Edit: June 20, 2013, 12:43:57 PM by Hajo »

Zireael

  • Rogueliker
  • ***
  • Posts: 604
  • Karma: +0/-0
    • View Profile
Re: Easy to mod engine for an Underdark roguelike
« Reply #11 on: June 20, 2013, 05:08:05 PM »
@ Hajo:
Quote
Modding a game has the benefit that it works right from the start, and you have a complete game already. The drawback is that an existing codebase has limited flexibility, and you'll have to stay more or less close to the original game.

Exactly why I wanted a ready engine.

***

I'm plugging along, in spite of running into some setbacks. (one version has working FOV and buggy tooltips, the other one has buggy FOV in spite of being based on the example module and working tooltips.

Folks over at the #tome IRC are very helpful, but I could use someone more experienced to fix bugs, not only point out what to do to fix the easier ones.

If there's anyone interested in helping me out in their free time, I could make use of my Github. Any contributors will be duly noted and mentioned in the readme/on the site.

What I have so far:
- working char gen (gender, race, class)
- working char sheet (name, race, class, gender, hp, HD, exp, level, attributes)
- default T-Engine combat
- default dungeon generator

What I'm trying to make work:
- tooltips
- HP/EXP onscreen display
« Last Edit: June 20, 2013, 05:57:44 PM by Zireael »

Zireael

  • Rogueliker
  • ***
  • Posts: 604
  • Karma: +0/-0
    • View Profile
Re: An Underdark roguelike in development
« Reply #12 on: June 22, 2013, 03:33:51 PM »
Fixed tooltips and some other minor bugs yesterday.

Got the random weapon damage working.

You can grab a working, bug-less version from GitHub: https://github.com/Zireael07/Underdark.

My notes:
PARTIALLY WORKING:
- tie hit points to hit die
- limit total hitpoints at start (limited from 2nd turn onwards)


TO-DO:
- feat select
- feats  talents_types = {
      ["general"]={true, 0},
   },
- Favored Classes'work by being +10% exp to that class
- skills  +5, +10, +15, +20 [handle them with talents and maybe loops]

LATER:
- d20 rolls
- saving throws (Fort Ref Will)
- crits
- randomize attributes in base
- XP charts ( ActorLevel.exp_chart = function(level) return 1000*level*(level+1)/2 end )
- on-screen hp, level, exp, depth display
- level up screen

SOME TIME IN THE FUTURE:
- ranged combat
- hide/move silently
- sneak attack
- some spells
- flanking
- flat-footed (foes in range?)
- metamagic as sustains...and just assume every 'mage' is a sorcerer; have the Empower Spell sustain, you turn it on, cast a spell,
it treats all variable as *1.5 but calculates cost as if it was 2 higher. Just for ease of use I'd suggest turning the sustain off after that


- randomized item names
- level feelings
- eating corpses
- bones

DIFFICULT:
- stairs having a chance of not changing the depth
- remove staircases from which you arrived

***
As I said before - any helpers are welcome.

Zireael

  • Rogueliker
  • ***
  • Posts: 604
  • Karma: +0/-0
    • View Profile
Re: An Underdark roguelike in development
« Reply #13 on: June 24, 2013, 07:12:49 PM »
Thanks to Sebsebeleb, player display now works. He also added some spells and, therefore, an implementation of saving throws.

I spent most of today doing an attributes roller and trying to make combat work satisfactorily.

Zireael

  • Rogueliker
  • ***
  • Posts: 604
  • Karma: +0/-0
    • View Profile
Re: An Underdark roguelike in development
« Reply #14 on: June 27, 2013, 01:09:27 PM »
Combat and roller now work as designed. Tooltips were revised for clarity.

In addition, there's some new items, monsters and classes. Leveling up actually has some effect now.

Encumbrance code was also added, now only need it to display...