Jump to content


Procedural Generation (Thank you Spore)


  • You cannot reply to this topic
No replies to this topic

#1 LoneWolf1066

    New Member

  • Members
  • Pip
  • 1 posts

Posted 11 February 2007 - 05:38 AM

So with Spore (hopefully) right around the corner, I've taken to a strong interest in Procedural Generation as a means of creating game content. Spore's capabilities offers a lot of hope for making games more unique, expansive, and offering better replayability. So I got to thinking how procedural generation can be expanded. I've decided to design a prototypical system in which the program will generate spells. Theoretically the system could be expanded to allow for a large number of spells. If I am in the right forum I would like to describe my idea thus far.

Spells.....
* Can belong to one of several types of schools. These include classical elemental as well as a few others.
* The number of schools a spell belongs to is dependent on the level of spell
* Each spell can be assigned to procedurally assigned to one or more classes. Links between classes can assure realism (a spell is more likely to be shared between a Druid and a Ranger then a Wizard and a Cleric.)
* Spells will belong to one or two spell categories. You may have a Offensive/Defensive spell (Thorn barrier) or a Defensive/Support spell (Barkskin), and so on. Looking at about 4 categories right now (Offensive, Defensive, Support, Healing)
* For text games, graphics don't matter. For actual 3D games spells will have an array of sprites/animations/particles assigned that are procedurally assigned based on school, type, etc.. Thus, a spell may have sparks emit from the caster, a fireball thrown, and an explosion at the target. This is a bit complex and I need to consider this area a bit more.

The bulk of the system would lie in the next part.

Spells....
* Would have an array of function pointers.
* There would be several such arrays corresponding to different types of spells. Thus, beneficial/self-targeting spells would have an array, beneficial/group, beneficial/ally, etc.. These may be reduced to avoid too much complexity/space, etc.
* Developers would only have to add new functions that implemented some interface to add new spell effects in.
* When a spell is cast each function is called to apply the effects.
* There would be a limit to the number of function effects allowed to speed up computation. We don't want a 1000 function spell destroying the world (metaphorically and literally).


This is just a rough design. I've started basic coding of stuff, psuedo-random generation of spell types, categories, and names. Let me know what you think of the idea. Is it viable, reasonable, and interesting/intriguing enough to put any effort into it.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users