Welcome to GameHourz.com!
FAQFAQ   SearchSearch      ProfileProfile    Private MessagesPrivate Messages   Log inLog in

Effects -- What I'm working on now. (longish)

 
Goto page 1, 2
   Game Forums (Home) -> Roguelike -> Development RSS
Related Topics:
Reading from a file (c++, contains code, longish) - I'm coming through my first of my choices would have limited me far too much, and some were way too time, I'm going to make sure my stuff works first. I've spent more time thinking than coding in the last..

Delayed effects - I had a few ideas for the of delayed effects in a and I'd some feedback. (1) The class gets a counter for poison, one for one for a delayed effect. These are checked when..

Spells and effects organisation. - I've been trying to develop a structure for spells and effects, based on the notion that: An 'Effect' is a fairly simple (e.g. a creature takes poison damage, or is moved to another square). A 'Spell' is a possibly complex..

Anyone working on a commercial roguelike? - I just wonder, does anyone here work on a Right now, I am thinking about doing one after I have finished Warp Rogue....

7DRL: Invader - Well, I've talked myself into a game for the 7DRL :-) Invader will be a sci-fi RL where the player is the planet's only hope of stopping a dread alien invasion ship. The base of will be their docked ship. ..
Next:  7drl completion announcement - cryptrover  
Author Message
Elsairon

External


Since: Dec 31, 2007
Posts: 18



(Msg. 1) Posted: Sat Feb 02, 2008 2:30 am
Post subject: Effects -- What I'm working on now. (longish)
Archived from groups: rec>games>roguelike>development (more info?)

What I'm working on now in my RL.

By the way, thanks for all the help so far all r.g.r.d. -ers. Smile

This might be a bit scattered, bear with me...


History up to now
=================

Here is/was my current implementation. I divided the world space into
three parts. A Map, mobs, and items.

- Maps : List of game spaces (inclusively 'The world') in which all
other things existed.
- Mobs : List of existing creatures.
- Items: List of existing items.


Then I created:
- some maps with walls, trees, water, open/close doors, etc.
- some mobs, including the player @, and couple monsters with a few
simple AI types.
- message list along the side.
- multiple light sources (any mob or item could be shining)
- fighting, dying.

Side note -- I decided to model the entire UI under the feature of a
mobs AI type, namely AI_PLAYER. This allows me to easily use one set
of procedures for all mobiles. When the game loop is moving down the
list of all active mobs, and calling their AI routines, if that mob
has AI of type AI_PLAYER, then the UI updates the screen and takes
player input.

So far so good. Now that I want to add in more effects, I began to
consider how I had implemented all the previous effects. I realized
they were strewn all though the code. Even though I had made a
module specifically for effects, it didn't turn out that I used it well.
(As of this writing I'm a novice hobby programmer.)

Some mob actions (like a prompt for direction when given an open/close
command with two or more valid targets) made their way into the
effects module, and some effects (setting visible map cells and light
casting) were implemented inside the fov/los module.

So I took a step back from the project to consider how I want to
abstract effects. I went though my notes and reviewed my want-list
of effects. My goal was to get a general idea of what each/any effect
would need so I could build a common 'effect' interface.

Below is this brainstorm / work-in-progress.


Considering RL game effects
===========================

I consider effects for my RL game using this working definition:

"An effect is a discernable change in the game world."

This means everything in the game world space that happens could be
abstracted as an effect. This doesn't provide a useful abstraction yet
-- I'm nowhere closer to solving my problem of modeling these effects.
I made a decision that I don't want to model anything that the player
can't potentially expereince.

Implementing any effect implies modeling some change. This works well
with my current game, which is broken out into a data set, which holds
the current world state, and procedures which operate on that data.

I realized that each turn some mobs might not act (produce change; i.e.
an effect). And what about a burning door? This would be an
effect that might be initiated by the player or a creature, but would
have a lifespan of its own, acting until it burned out. Thus I have
added another idea, which I call Anima... a list of things that are
active. Most mobs would be on the anima list, and some other effects,
like clouds of smoke or fires. If/when something was no longer active
(producing effects), it would remove itself from Anima's list.

I arbitraily decided to name any non-mob action effect an 'Event.'

Timer(which tracks game time) tells Anima what the current time is.
Anima tells active mobs or events to act.

A more detailed abtraction of my game world model using this idea;

-------------------
Game World
- Maps
- Mobs
- Items
- Events
-------------------
Timer <--> Anima
-------------------
Effects
-------------------

The ways effects can be modeled depend how the RL programmer or
designer allows to change, and how they model, measure, implement, and
balance those changes.

A quick review of the effects I had done so far showed that most
required different code of varying complexity, but there were some
very defined



Review of effects implemented so far
====================================

Open or Close
-------------
These were quite similar, easily factored together into one proc.
I imagine many more effects like these will require a simple change
of a state variable or flag. The complex part of implementing these
(as I did it) was not applying the effect itself, but checking
whether the (action's) effect was valid, and if so, was there more
than one valid target that reqired an additional choice.

This is an example case of applying an effect to an adjacent map
cell location.

Wounding and Dying
------------------
Very similar to the open, close above. Decide on a valid target,
and then apply the effect. The difference is that a mob is the
target instead of a door. This means that a general 'apply effect'
abstraction would need to either take into account different types
of targets, or make all game entities use the same type structure.
(As far as I know... there are most surely options I'm not aware of
yet.)


Build Field of View or Shine Lights
-----------------------------------
Again, applying this effect to each map space was easy, setting a
state variable or flag. This required setting the boundry of the
area to be tested, and then applying an algorithm that scanned the
entire space defined, using various checks to determine whether or
not any givin space was in view or lit. These were similar.

This is an example case of applying an effect selectivly to an area
of varying size.




Common elements of effects
==========================

I brainstormed and gathered ideas for effects to consider for
roguelike games. I thought of ifferent abstractions I might use to
help implement them. I tried to extract what I thought might be
common components of all effects, so as to create a common
nterface for applying them, and ease of adding them to a RL game.

I came up with the following common elements so far.



TARGET:
-------
- What will be affected by this effect?
- [ SINGLE | MULTIPLE ] [ AREA | ITEM | MOB ]

RANGE:
------
- How far away will this effect travel from it's source?
- [ SELF | ADJACENT | n DISTANCE | SIGHT | MAP | WORLD ]

FORM:
-----
- How does this effect manifest inside the gamespace?
- [ INTANGIBLE; SPECIFIC TARGET(S) AFFECTED DIRECTLY ]
- [ TANGIBLE_BLIND; PASS THRU AREA AFFECTING ALL TARGETS ]
for example; tidal wave, wind, forest fire, bullet
- [ TANGIBLE_SELECTIVE; PASS THRU AREA AFFECT CERTIAN TARGETS]
for example radio waves only discernably affect
recievers tuned in to their station..
Examples; CELL|BOLT|BEAM|BALL|FIELD|CONE|BLAST|STORM|CLOUD

ACTIVATION:
-----------
- What does a mob/item/event/God do to make this effect occur?
- [ SINGLE_ACTION | SUSTAINED_EFFORT | BOTH ]
Must eat, concentrate/chant, let go, etc.
-[ INTERRUPTABLE? ] -- Is the action stoppable and if so,
by what under what conditions? [ FORM + CIRCUMSTANCE ]

DELAY:
------
- How much time passes after activation before effect occurs?
- [ NONE | X TIME ]

DURATION:
---------
- For how long will this effect remain active?
- [ PERMENANT_LINGERING | PERMENANT_INSTANT | DECAYING_TIMER ]

REPETITION:
-----------
- Does the effect happen more than once?
- [ SINGLE | n TIMES | PERMENANT ]

RATE:
-----
- If it does repeat, how fast does it repeat?
- [ FREQUENCY OF REPETITION ]



The effects list
================

Here are the different effects I have found so far. Some of these
might not be appropriate for certian genres. Maybe someone will get
a useful idea from this list, that is my hope.

One of my primary concerns with this brainstorm was increasing the
levels of options, randomness, and potential interactions.



MOVE
----
change location; teleport, telekinesis, walk,
fly, fall, etc. variation, swap locations of
things... could be dangerous

CREATE
------
change by adding to what exists; conjure,
summon, etc. could be mobiles, items, natural
disasters, other effects, etc. could be a
temporary thing made of some element for n time.

BANISH
------
change by removing existance of somthing;
dismiss, banish, etc.
remove self from memory of other/ others

BUILD/MIX
---------
change by combining things into other things

MODIFY NATURAL(GAME UNIVERSE) LAWS
----------------------------------
change how effects are implemented...
laws of nature; gravity, magic essence, mana
recovery, whether magic even exists... etc.

POLYMORPH/REPLACE/CHANGE
------------------------
change by replacing something with something
else of a similar, or different type. Turn
enemy into a toad or sheep, etc. Swap AI_Type...

INCREASE/ENHANCE
----------------
aka enhance/bless + bonii (above normal)usually
affects skills. may be healing, likeability, charm

DECREASE/REDUCE
---------------
aka decrease/curse - penalty (below normal) usually
affect skills, hate effect (reverse charm)

STASIS
------
keep something the same, unable to be changed

PROTECTION/PREVENTION
---------------------
like stasis but allowing beneficial effects

LIMITATION
----------
like stasis but allowing harmful effects

DISABLE/PREVENT
---------------
disallow a behavoir, changes, or effects.. like
stasis but affecting activations/activities rather
than effects. general cases of this; paralysis, mute

ENABLE
------
add an allowable ability/behavoir.. granting
intrinsics is a common example of this one

RANDOMIZE
---------
randomize something.. by remapping actions to other
action each turn the confusion/ hallucination effects
are general cases of these
'random effect' of specific type
specific effect of 'random type'

OBSCURE/HIDE
------------
change by preventing or reducing chances of
being sensed ... or reducing sensory output;
silence/mask scent/sound.. bend light,
invisibility might be a form of this,

LOCATE/FIND/DETECT/REVEAL/PERCIEVE
----------------------------------
by changing vision, by telepathy, read minds,
etc... change by increased knowledge of something

RESTORE TO DEFAULT/REPAIR
-------------------------
change to default value, remove wounds/fatigue/
poision/disease... regenration is a healing with
a small effect repeated over time may either affect
everything, or just one select attribute/state

RESISTANCE
----------
reduce severity/power of some negative change
option: might affect positive changes as well!

SUSCEPTABILITY
--------------
increase severity/power of some change

DRAIN/STEAL
-----------
take x from a and give x to b
mixed increase/decrease self/other

PROPIGATION
-----------
spread something through an area. Take an effect
thats already present and cause it to expand.

DECISION MAKING
---------------
change the AI states, pacify, berserk, charm, hate

CONTROL
-------
allow the player to inhabit/control/possess
another creature.. like a shapeshifter etc. maybe
by temporaily or permentantly changing bodies

BODILY HARM
-----------
breaks, punctures, cuts, bruises, burn, freeze,
sickness, dizziness, bleeding, starvation, etc.

MENTAL HARM
-----------
psychosis, fears, hallucinations, obsessions

EFFECTS BY SENSE
----------------
any of the above might also generate a flavorful
message to the player depending on how the player
senses it.. and how the game models information
and learning to the player's character.

SENSE - EFFECTS
SIGHT - COLOR & LIGHT ... DARKNESS
HEARING - NOISES/SILENCE (talking, etc. )
SMELL - SCENTS
TASTE - FLAVORS
TOUCH - TEXTURES/FORMS/TEMPERATURE/IMPACTS/
BLOWS/WOUNDS/IMPACTS


ELEMENTS and MAGIC SCHOOLS
--------------------------
Most RL's have elemental spells, usually wizards
attack like spells( each having its own effect
dependant on how it is implemented.. sometimes
these are also used as magical schools under which
other effects or spells are placed; I have not
listed these out, since each implementation would
be different, but they are here for sparking
ideas...

FIRE, WATER, AIR, EARTH, SOUND, CLOUD, STEAM,
DUST, ICE, ROCK, EARTH, LAVA, NETHER, POISON,
DISEASE, DARK, LIGHT, GRAVITY, ACID, KNOWLEDGE,
HOLY, UNHOLY, TIME, SPACE, VOID, PLANT, ANIMAL,
BODY, MIND, SPIRIT, WEATHER, LIGHTNING, STORM,
METAL, SAND, ELECTRICITY, ARCANE, MANA, DEATH,
LIFE, NATURE, etc...


ADDITIONAL CONSIDERATIONS
-------------------------
Any of the above effects or might be modified to find
more variation by considering the following influences or
factors when combined with them alone or in combination.

- FIXED
- RANDOM
- SCALING
- DECAYING
- GEOMETRIC
- EXPONENTIAL



Things that could change; which effects act upon
================================================

This list might describe what is needed in a data set to model
different effects. In order to implement an effect we need to track
what changes... hence some kind of flag, variable, list of objects,
etc. is needed. Hit points and mob x, y are probably most common
examples of these.

EXISTANCE
---------
- does it exist?

LOCATION
--------
- where is it?

FORM
-----
- what is it? (shape, species, type of tool, material, etc.)

ABILITIES
---------
- what can it do? (what can't it do?)

STATUS
------
- what are it's present stats, intrinsics, etc.?

GEAR
----
- what stuff is it using now? (equiped items, etc.)

INVENTORY
---------
- what it's carrying that it isn't using? (loot, treasure)


---
Elsairon

 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
uschkinredsunshine

External


Since: Jan 23, 2008
Posts: 7



(Msg. 2) Posted: Sat Feb 02, 2008 3:36 am
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Hello,

Nice reading, here is what i'm doing...Basically i'm using an almost
identical approach.

Some Actions are targeted on areas, some on entities. First i send a
"Open" Action, or "DamageEffect"; Its then stored on a list. After
processing each entity i'll loop through the effects and look whether
a entity on that specific area can handle the effect or not. It's like
a chain of responsibility pattern. Each entity can register effects
which are handled. A "Damageable" Entity (Player, Doors) register
something like "CanTakeDamage", and if a Damage-Effect encounters such
a entity, it applies a "OnApply" method to that entity. Further, area
effects have a center origin and some attributes like blocking,
distancereduction...

That gives me the ability to allow entities to interact on the same
timeslice, since both do their actions and after all the effects are
applied.

just my 2 cents about something similar

 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
pol

External


Since: Sep 07, 2006
Posts: 8



(Msg. 3) Posted: Sat Feb 02, 2008 4:55 am
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

"Elsairon" <elsairon.RemoveThis@yahoo.com> wrote in message
news:fo0kke$hq4$1@news.vol.cz...
> What I'm working on now in my RL.
> ---
> Elsairon



Show us!

bins are fine
 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
Ido Yehieli

External


Since: Nov 29, 2007
Posts: 75



(Msg. 4) Posted: Sat Feb 02, 2008 9:20 am
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

On Feb 2, 4:24 pm, Elsairon <elsai... DeleteThis @yahoo.com> wrote:
> I'm still noobishly failing to get my compiler
> going in damn small linux on an older machine

You can run it inside virtualbox under windows.
I just installed windows xp and run it under ubuntu that way.

-Ido.
 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
Martin Read

External


Since: Mar 23, 2005
Posts: 552



(Msg. 5) Posted: Sat Feb 02, 2008 10:21 am
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

"pol" <pol.RemoveThis@pol.net> wrote:
>"Elsairon" <elsairon.RemoveThis@yahoo.com> wrote in message
>news:fo0kke$hq4$1@news.vol.cz...
>> What I'm working on now in my RL.
>> ---
>> Elsairon
>
>Show us!
>
>bins are fine

I doubt waste receptacles would be terribly useful in explaining his
work, and besides, nobody's yet come up with a way of achieving matter
transmission over Usenet.
--
\_\/_/ some girls wander by mistake into the mess that scalpels make
\ / are you the teachers of my heart? we teach old hearts to break
\/ --- Leonard Cohen, "Teachers"
 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
Krice

External


Since: Dec 11, 2007
Posts: 83



(Msg. 6) Posted: Sat Feb 02, 2008 1:06 pm
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

On 2 helmi, 13:36, "uschkinredsunsh...@gmx.de"
<uschkinredsunsh....RemoveThis@gmx.de> wrote:
> Nice reading, here is what i'm doing...

It sounds a lot like you both are creating a roguelike engine.
 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
Elsairon

External


Since: Dec 31, 2007
Posts: 18



(Msg. 7) Posted: Sat Feb 02, 2008 3:12 pm
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

On 2008-02-02 12:36:18, "uschkinredsunshine@gmx.de" <uschkinredsunshine.RemoveThis@gmx.de>
wrote:

> Hello,
>
> Nice reading, here is what i'm doing...Basically i'm using an almost
> identical approach.

Glad you enjoyed it.

> Some Actions are targeted on areas, some on entities. First i send a
> "Open" Action, or "DamageEffect"; Its then stored on a list. After
> processing each entity i'll loop through the effects and look whether
> a entity on that specific area can handle the effect or not. It's like
> a chain of responsibility pattern. Each entity can register effects
> which are handled. A "Damageable" Entity (Player, Doors) register
> something like "CanTakeDamage", and if a Damage-Effect encounters such
> a entity, it applies a "OnApply" method to that entity.

So when adding another effect, add another type entry into
the list, and then a register for each effect type on the
appropriate targets.

> Further, area
> effects have a center origin and some attributes like blocking,
> distancereduction...
>
> That gives me the ability to allow entities to interact on the same
> timeslice, since both do their actions and after all the effects are
> applied.
>
> just my 2 cents about something similar
>

Seperating the registering and application of the
effects makes simultanaeity an option.

That allows some interesting events, namely simultaneous
death of mobs, which probably wouldn't happen as often
in other models. This might make for an interesting death
message in some cases.

--
Elsairon
 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
Elsairon

External


Since: Dec 31, 2007
Posts: 18



(Msg. 8) Posted: Sat Feb 02, 2008 3:24 pm
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

On 2008-02-02 10:55:17, "pol" <pol.TakeThisOut@pol.net> wrote:

> "Elsairon" wrote in message
> news:fo0kke$hq4$1@news.vol.cz...
> > What I'm working on now in my RL.
> > ---
> > Elsairon
>
>
>
> Show us!
>
> bins are fine
>

I could send/post somewhere source or bin for;
win, linux or dos.

Only tested on win 98 & XP so far though,
no guarantees on the others yet.

I'm still noobishly failing to get my compiler
going in damn small linux on an older machine,
and have not bothered to test dos yet.
--
Elsairon
 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
Elsairon

External


Since: Dec 31, 2007
Posts: 18



(Msg. 9) Posted: Sat Feb 02, 2008 5:42 pm
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

On 2008-02-02 18:20:51, Ido Yehieli <Ido.Yehieli.RemoveThis@gmail.com> wrote:

> On Feb 2, 4:24 pm, Elsairon wrote:
> > I'm still noobishly failing to get my compiler
> > going in damn small linux on an older machine
>
> You can run it inside virtualbox under windows.
> I just installed windows xp and run it under ubuntu that way.
>
> -Ido.


Thats probably what I'll end up doing until
I get a better handle on it.
--
Elsairon
 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
uschkinredsunshine

External


Since: Jan 23, 2008
Posts: 7



(Msg. 10) Posted: Sat Feb 02, 2008 10:52 pm
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

On Feb 2, 10:06 pm, Krice <pau... RemoveThis @mbnet.fi> wrote:
> On 2 helmi, 13:36, "uschkinredsunsh...@gmx.de"
>
> <uschkinredsunsh... RemoveThis @gmx.de> wrote:
> > Nice reading, here is what i'm doing...
>
> It sounds a lot like you both are creating a roguelike engine.

I prefer the term 'framework' for the upcoming 7drl contest; so i'm
actually not working on a real game. But, everyone who starts from
scratch has to work on such mentioned things as a base; am i false?
 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
jotaf98

External


Since: Dec 17, 2007
Posts: 37



(Msg. 11) Posted: Sun Feb 03, 2008 7:01 am
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

On 3 Fev, 06:52, "uschkinredsunsh...@gmx.de"
<uschkinredsunsh... RemoveThis @gmx.de> wrote:
> On Feb 2, 10:06 pm, Krice <pau... RemoveThis @mbnet.fi> wrote:
>
> > On 2 helmi, 13:36, "uschkinredsunsh...@gmx.de"
>
> > <uschkinredsunsh... RemoveThis @gmx.de> wrote:
> > > Nice reading, here is what i'm doing...
>
> > It sounds a lot like you both are creating a roguelike engine.
>
> I prefer the term 'framework' for the upcoming 7drl contest; so i'm
> actually not working on a real game. But, everyone who starts from
> scratch has to work on such mentioned things as a base; am i false?

Sure Smile

Have you considered adding dynamic hooks for events? A list of
behaviors that would get triggered when something happened, like this
mob got hurt (trigger some magical defense), player comes within a
certain radius of a trap, time passes by (for the burning door, it
loses HP), the object has "died" (burning door collapses), etc. They
could get added and removed on the fly. I've got that in my RL'ish RPG
project (it's like a RL but with fancy RPG graphics, and yeah, it's
just a pet project!).

Jotaf
 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
uschkinredsunshine

External


Since: Jan 23, 2008
Posts: 7



(Msg. 12) Posted: Sun Feb 03, 2008 7:39 am
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

On Feb 3, 4:01 pm, jota... RemoveThis @hotmail.com wrote:
> On 3 Fev, 06:52, "uschkinredsunsh...@gmx.de"
>
> <uschkinredsunsh... RemoveThis @gmx.de> wrote:
> > On Feb 2, 10:06 pm, Krice <pau... RemoveThis @mbnet.fi> wrote:
>
> > > On 2 helmi, 13:36, "uschkinredsunsh...@gmx.de"
>
> > > <uschkinredsunsh... RemoveThis @gmx.de> wrote:
> > > > Nice reading, here is what i'm doing...
>
> > > It sounds a lot like you both are creating a roguelike engine.
>
> > I prefer the term 'framework' for the upcoming 7drl contest; so i'm
> > actually not working on a real game. But, everyone who starts from
> > scratch has to work on such mentioned things as a base; am i false?
>
> Sure Smile
>
> Have you considered adding dynamic hooks for events? A list of
> behaviors that would get triggered when something happened, like this
> mob got hurt (trigger some magical defense), player comes within a
> certain radius of a trap, time passes by (for the burning door, it
> loses HP), the object has "died" (burning door collapses), etc. They
> could get added and removed on the fly. I've got that in my RL'ish RPG
> project (it's like a RL but with fancy RPG graphics, and yeah, it's
> just a pet project!).
>
> Jotaf

Hi,

As for me, i've already considered that. Entities implement a variety
of events in LUA; So are timebased events created in lua too. I would
say, it will be very expandable since i'm also using a very component
driven approach instead of inheritance.

Bye
 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
Garrison Benson

External


Since: Jan 28, 2008
Posts: 3



(Msg. 13) Posted: Sun Feb 03, 2008 3:09 pm
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

I've been working on designing a system similar to the one Elsairon
described. Except I make a distinction between events (what I call
effects) and status effects. Events happen at one particular point in
time and do not have a duration. Any change of state in the game is
done through events. Any event is undoable and redoable. This way at
some point in the future it will be easy to facilitate replays (or
possibly even traveling back in time) by keeping every event in order
on a stack. Status effects can have a duration and basically cause an
event each turn. (I'm still working out the details...)
 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
Elsairon

External


Since: Dec 31, 2007
Posts: 18



(Msg. 14) Posted: Sun Feb 03, 2008 6:55 pm
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

On 2008-02-03 16:01:37, jotaf98 RemoveThis @hotmail.com wrote:

> On 3 Fev, 06:52, "uschkinredsunsh...@gmx.de"
> wrote:
> > On Feb 2, 10:06 pm, Krice wrote:
> >
> > > On 2 helmi, 13:36, "uschkinredsunsh...@gmx.de"
> >
> > > wrote:
> > > > Nice reading, here is what i'm doing...
> >
> > > It sounds a lot like you both are creating a roguelike engine.
> >
> > I prefer the term 'framework' for the upcoming 7drl contest; so i'm
> > actually not working on a real game. But, everyone who starts from
> > scratch has to work on such mentioned things as a base; am i false?
>
> Sure Smile
>
> Have you considered adding dynamic hooks for events? A list of
> behaviors that would get triggered when something happened, like this
> mob got hurt (trigger some magical defense), player comes within a
> certain radius of a trap, time passes by (for the burning door, it
> loses HP), the object has "died" (burning door collapses), etc. They
> could get added and removed on the fly. I've got that in my RL'ish RPG
> project (it's like a RL but with fancy RPG graphics, and yeah, it's
> just a pet project!).
>
> Jotaf

Good way to add more variety. The question is; What hooks do I
want , and what events or effects will be linked to each hook?
The answer to this will define much of the game itself.

This sounds like the best abstraction I have seen so far, so I'll
implement a version of this unless I come across something better.

Thanks Jotaf Smile
--
Elsairon
 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
Radomir 'The Sheep' Dopie

External


Since: Jun 14, 2006
Posts: 217



(Msg. 15) Posted: Sun Feb 03, 2008 7:25 pm
Post subject: Re: Effects -- What I'm working on now. (longish) [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

At Sun, 3 Feb 2008 18:55:38 +0000 (UTC),
Elsairon wrote:

> Good way to add more variety. The question is; What hooks do I
> want , and what events or effects will be linked to each hook?
> The answer to this will define much of the game itself.

Do you really need to know all this up front?
Can't you just make a working game with few of these
effects (leaving room for things you're not sure of)
and then look at what you've got and abstract that?

--
Radomir `The Sheep' Dopieralski <http://sheep.art.pl>
If something happens, it must be possible.
-- Scott Cox's First Law Of Physics
 >> Stay informed about: Effects -- What I'm working on now. (longish) 
Back to top
Login to vote
Display posts from previous:   
   Game Forums (Home) -> Roguelike -> Development All times are: Ekaterinburg, Islamabad, Karachi, Tashkent (change)
Goto page 1, 2
Page 1 of 2

 
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



[ Contact us | Terms of Service/Privacy Policy ]