Hime-Works / Requests

Bug reports and requests that may require longer discussions and is not suitable to leave on the blog
http://himeworks.com/
GNU General Public License v2.0
7 stars 9 forks source link

RMTD - RM Tower Defense engine #166

Open HimeWorks opened 10 years ago

HimeWorks commented 10 years ago

Going to focus more on larger scripts at this point; small-scale scripts do not really provide much learning.

This initial post represents a bunch of random ideas that I started throwing at, and will be refined over time, when I realize that not every idea is necessarily a good one, and not every idea should be implemented into the core of the engine.

I'll be implementing a tower defense engine that is 100% event + database oriented. That is, you can easily create your own tower defense levels by simply creating a bunch of events in a certain way and set up your database appropriately. No external files required; a single map contains a full stage; no scripting knowledge needed.

The system will be stand-alone, which means you should be able to embed it into any project so that you can use it as a mini-game or as your main battle system.

Here is a screenshot of the stage development, with hardcoded actors.

image

And this is what it looks like in-game. Currently, a parallel process event has been created as the "stage manager", which basically does things like "Wait 5 seconds, Spawn enemy 1 at Location 1, Wait 10 seconds, Spawn enemy 1 at Location 2" etc.

image

The main player represents a "hero" type of unit that can walk around. The hero can walk anywhere that it wants. The hero is simply a game actor, and its stats can either be carried over or reset during each stage. This is an optional feature and can be disabled.

All units are simply battlers and pull data from actor/enemy objects in the database. Enemies will attack your units if they have actions set up, otherwise they will just keep walking along their move route.

When the enemy reaches one of your bases, the base loses some life depending on how much power the enemy has. When your bases are destroyed it is game over.

HimeWorks commented 10 years ago

As this is meant to be an evented system, the engine should be developed out of an evented system. That is, the engine simply handles some of the more complicated aspects of the system.

Most of the ideas presented above are merely extensions to the engine. At the very least, the engine would need to support

Everything else is extra and should be provided as plugins. Not everyone wants to use actors/enemies to represent the units, and not everyone wants to have heroes walking around the map.

By focusing on implementing the bare minimums, it prevents me from going off-track and trying to implement too much, which may in the end simply end up in a more restrictive engine rather than an extensive, plugin-based system.