Author Topic: Unnamed: the Roguelike.  (Read 34876 times)

omicron1

  • Newcomer
  • Posts: 11
  • Karma: +0/-0
    • View Profile
    • Email
Unnamed: the Roguelike.
« on: August 09, 2009, 01:28:56 AM »

The above is a realtime game engine render. It can handle shadows, 3d character models, etc. It allows zooming out, and I intend to add a 'pseudo-2d' map display, similar to classic ASCII, at extreme zoom levels.

I plan to couple it to an existing game design of mine, based around the concept of game objects with inheritance. (In other words, behaviors can be defined for entire classes of objects with very little effort. A wooden weapon may be made to burn when it hits a fire golem without any special coding.)

Other feature concepts include:
* A persistent overworld.

* A monster list drawn from the mythos of a particular cultural region - say, Europe. This would include more esoteric mythical beasts, such as the Kelpie.

* A 'scientific' magic system. Spells require 'essence,' which is contained in all things and which can be extracted by those skilled in the subject, then stored or released as needed.

* A 'job level' system - you gain levels by participation in various jobs (ranging from monster hunting to woodcutting), which add points to your essential stats according to what that job would require. A woodcutting mage would not be very good at it at first, but would get stronger.

* A world which 'makes sense.' Interactions should be designed so that they mirror the expected as closely as possible - if you cast fireball and it hits a door, the door burns.

* A thinning out of the typical Roguelike command list. For instance, 'I'nteract would allow you to take typical actions with external objects - opening and closing doors, for instance, or ascending and descending stairs. 'U'sing an object would allow both item combinations and the use of the object on external sources, while 'A'pply would attempt to use an object with itself. Hence I hope to make the game world more accessible.

I might attempt to make gameplay 3d as well, but only in the future.

Credentials:
I've worked on this concept before, albeit without the snazzy engine. I got many of the basics working - combat, level generation, monsters, items (with inheritance), identification, persistence, magic - so I'm confident I can duplicate my success here.


Thoughts? Ideas? Skepticism?

george

  • Rogueliker
  • ***
  • Posts: 201
  • Karma: +1/-1
    • View Profile
    • Email
Re: Unnamed: the Roguelike.
« Reply #1 on: August 09, 2009, 03:34:50 AM »
my first thought is that is one sick screenshot  :o. nice job, man.

I like your inheritance idea (this is more like a game physics, no? Reminds me of old Magnetic Scrolls text adventures....look at this for example).

Your simplified command set is something I'm interested in too though I wonder about the specifics. So would these commands be context sensitive? Does 'use' presuppose single-use items (you can only drink potions, eat food, etcetera) or can you work in secondary/alternate uses (can you throw the food in front of the approaching bear?).

I'm working on a similar thing now so it's on my mind. Right now I do a 'primary use' of an item by pressing its inventory number and a secondary use by doing an alt key + inventory number combination. The primary/secondary is shown next to the item, like (drink | throw). Though it's still so early I don't know how well this will work in practice, it's motivation comes from trying to make a simple command set that still allows for more interaction between objects. I'm curious about your thoughts on this?


eta: or maybe you mean 'apply' would use an object on oneself if it couldn't be used on itself?

« Last Edit: August 09, 2009, 03:40:34 AM by george »

omicron1

  • Newcomer
  • Posts: 11
  • Karma: +0/-0
    • View Profile
    • Email
Re: Unnamed: the Roguelike.
« Reply #2 on: August 09, 2009, 04:37:05 AM »
'U'se is to use one item with another. For instance, 'U'se Sharp Object with Corpse == 2 meat, 3 bones.


Alternately, 'U'sing an object with nothing will perform the default command for with-self use. With food, this is to eat it. With a potion, this is to drink it.

On second thought, I think that 'A'pplying objects was supposed to be for using them with external objects. 'A'pply Key to Door, for instance.

There would also be a set of more specialized commands available - 'T'hrow to throw objects, 'D'rop to drop them, 'w'ear to put on armor and weapons (although there would be a special 'W'ield command, allowing you to wield anything you wanted)
« Last Edit: August 09, 2009, 04:38:44 AM by omicron1 »

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4957
  • Karma: +4/-1
    • View Profile
Re: Unnamed: the Roguelike.
« Reply #3 on: August 09, 2009, 12:24:28 PM »
Sound awesome and looks nifty...think there was another general attempt or so made in this visual style awhile back but the name(s) escape me----this one looking far more ambitious.

Very much looking forward to it, bid you timely success.   8)

Also, just to throw it out there, there's always going in a more menu-driven console/handheld Roguelike style versus adding in more specific keys to hit and keep up with...as well as clickable, evocative icons and such to allow for mainly mouse play.
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

omicron1

  • Newcomer
  • Posts: 11
  • Karma: +0/-0
    • View Profile
    • Email
Re: Unnamed: the Roguelike.
« Reply #4 on: August 11, 2009, 05:09:02 AM »
Subject post: Character generation.
I'm trying to handle character generation a bit differently than normal. For one thing, at the moment gender and race are handled automatically - that is, when you make a new character your race and gender are decided for you. This works in accordance with one of the 'meta' feature concepts I have planned - inheritance. Your character grows in accordance with choices you make throughout his or her first twenty years of life, divided up into a 5-stage branching choice tree. You can start as a skilled magician, a craftsman, a warrior, a ranger, a priest, a monk, or someone with a family. This choice tree also determines your starting equipment.

Inheritance:
 Basically, you have a place in the world's history. You can marry and have a family, and - here's the big thing - when you die, you can choose to continue play as your spouse, one of your siblings, or one of your children. Children's stats are decided as randomized between the parents' low and high end stats - that is, if the mother has a STR of 12 and the father has a STR of 18, the child may have an STR of anywhere from 12 to 18. How well the child starts the game will also depend on your progress in the previous game - if you gather 10000 gold and return alive to your family of 4, each child will start with 1250 bonus GP. (the keyword, of course, being 'return alive.') A character with no progeny will deadend that lineage, and you'll have to start an entire new family. This aspect of gameplay should also increase the usefulness of Charisma dramatically.

Races:
I'm currently working with a starting set of four races. Humans are sort of the middle ground - able to do anything well. Fae are magically inclined, reasonably charming and graceful, but not particularly strong physically. Dwarrow are physically strong, but not very pretty or dextrous. Synd are lithe and charismatic, but aren't the smartest knives in the drawer.

Magic:
All physical objects have essences. This is a scientific representation of their very being, and can be manipulated by the skilled. A piece of flint, for instance, may have 1 Earth Essence and 1 Fire Essence.

Essences are as follows: Earth, Air, Fire, Water, Light, Darkness. Most objects have between 1 and 3 points of essence, and pure objects are rare and valuable.

All living beings can draw upon and store essence to some extent, as determined by their skill and Wisdom. They can convert an object to its essential elements, then store that essence for use in spellcasting.

If a being has too much essence within them, it will become unstable and prone to accidents. This is one reason why most mages start out with fragile constitutions. The same goes for spells cast beyond a user's ability.

A being's ability to store essence increases with use. Even the least apt of users may eventually learn to use magic. However, it is impossible to store more than ten essence points (the cost of the highest-level spells), so choosing which spells to be able to cast is an important part of being a wizard.

Spells are cast by drawing upon one's essence pool and transforming it to a particular purpose. They are fuelled by one's mana or, at last resort, by the essence pool itself. The cost of a spell in mana is equal to the square of the spell's cost in essence. A 5-essence Moderate Fire Ward spell would cost 25 mana to cast.

Gemstones have negative essence. This means that they can store within themselves foreign essence, and put it to use, in similar manner to how living beings can. Gems inserted into wands, rings, weapons, amulets, and armor can imbue those items with magical attributes. Special inks may be assembled, containing similar properties, and may be used for the writing of single-use scrolls.

Death is a tenth-level spell, consisting of 10 darkness essence. Very few mages have 100u of mana at their disposal, making Death a costly spell to use.

A wand of death would require a 2-socket wand implanted with two extremely valuable -5 essence Nightstones. as well as 10 points of pure Darkness essence gathered from pure-Dark objects. This makes for a very difficult crafting process. Plus, the mana pool in a wand is limited to 100u per stone (although you can force a third shot by eliminating all darkness essence from the wand) and recharges have a chance of shattering one of the stones.

Rings can only hold one stone. This limits their spell set substantially.
Amulets can also only hold one stone.
Weapons can hold up to two stones, with similar restrictions to wands.
Armor can hold up to one stone.

If a given weapon, wand, or ring can cast more than one spell, it will choose between them randomly unless blessed, in which case it will ask which one to fire.

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4957
  • Karma: +4/-1
    • View Profile
Re: Unnamed: the Roguelike.
« Reply #5 on: August 11, 2009, 12:13:04 PM »
Yep...all that definitely sound awesome and off the beaten path---delicious!   8)
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

omicron1

  • Newcomer
  • Posts: 11
  • Karma: +0/-0
    • View Profile
    • Email
Re: Unnamed: the Roguelike.
« Reply #6 on: August 15, 2009, 02:26:21 AM »


Progress update:
* Added item handling
* Created graphical item editor
* Added handling of interactions
* Added activation methods for Move, Get, and Drop commands.
* Added inventory
* Added Gold Piece, Pebble, and Flint as items.
* Added basic handling of item stacks.
* Added basic character configuration screen, as well as the code for handling stat increases on level gain.
* Added base framework for level and game saving/loading. Levels are saved as a single 'random seed' variable which tells the engine how to rebuild the level; in addition, the format keeps track of changes made to the level (items added/removed; tunnels dug) and monsters present. This should keep level data rather compact.
* Added rudiments of interface. As you can see, I've removed Intelligence from the stat list (in function, it was a duplicate of wisdom), and added Luck - a primary attribute of rogues.



The following code defines a pebble:
4|pebble|0|1|2|char_pperiod.u3d|gray|0|0|1|0|0|0|0|0|0|1|0|0|0|0|0|0|0|20|

...and the following allows it to be picked up.
Get|Carryable|None|
BEGIN
with modelChar addToInv(global.locx,global.locy);
refreshPoint(global.locx,global.locy);
END

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4957
  • Karma: +4/-1
    • View Profile
Re: Unnamed: the Roguelike.
« Reply #7 on: August 15, 2009, 02:40:58 AM »
Looks like you are blasting on along---keep at it!   8)
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

george

  • Rogueliker
  • ***
  • Posts: 201
  • Karma: +1/-1
    • View Profile
    • Email
Re: Unnamed: the Roguelike.
« Reply #8 on: August 15, 2009, 03:55:58 AM »
wow...are you making this in Gamemaker? :o

omicron1

  • Newcomer
  • Posts: 11
  • Karma: +0/-0
    • View Profile
    • Email
Re: Unnamed: the Roguelike.
« Reply #9 on: August 15, 2009, 04:40:26 AM »
Aye. Good eye.

It's not quite as useless as one might think.

george

  • Rogueliker
  • ***
  • Posts: 201
  • Karma: +1/-1
    • View Profile
    • Email
Re: Unnamed: the Roguelike.
« Reply #10 on: August 15, 2009, 04:57:40 AM »
Far from it...Cactus. Auntie Pixelante...so many others. Still very impressive though!

omicron1

  • Newcomer
  • Posts: 11
  • Karma: +0/-0
    • View Profile
    • Email
Re: Unnamed: the Roguelike.
« Reply #11 on: August 15, 2009, 05:36:30 AM »
'Auntie' is far, FAR too liberal for my tastes.
And Cactus' games don't necessarily demonstrate the power possible with Game Maker. Most people make simple 2d platform games or horrid looking '3d' games. I like to work at the graphical high end.
http://img31.imageshack.us/img31/204/faroffland.jpg

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4957
  • Karma: +4/-1
    • View Profile
Re: Unnamed: the Roguelike.
« Reply #12 on: August 15, 2009, 01:33:06 PM »
Not to mention, I believe,  Spelunky and Triangle Wizard also use it.
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

omicron1

  • Newcomer
  • Posts: 11
  • Karma: +0/-0
    • View Profile
    • Email
Re: Unnamed: the Roguelike.
« Reply #13 on: August 15, 2009, 10:06:01 PM »
...Anyway.

Added support for group pickup. This means that, when "G"etting from a Pile, you can choose whatever items therefrom you want to get. Also, you can choose the number of said items.

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4957
  • Karma: +4/-1
    • View Profile
Re: Unnamed: the Roguelike.
« Reply #14 on: August 16, 2009, 11:47:14 PM »
I like the sound of that pickup option...should make looting from a potentially giant stack, like saw at a corridor bottleneck point, much more intuitive.

Keep up the good sounding work!   8)
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training