Thanks Megapr0n. There will be future tools of course, like the terrain generator in AGE, accept it will be external(plugin!). I just don't like to talk about things that don't exist yet.
Anyway, I've now got the main part of the entities working in AGM. Now I have to get them working in the AGM engine, but not before I setup a visual interpretation system for them in the editor... Done.
Oh yeah, better update the level loading function to work with the entities... Done.
Ok, now I can move onto the engine.
STOP! Hold your horses. Shortly after making this, I went on a walk. I tend to do that after long coding sessions, like the one I had lastnight. I find that even though I don't think about my projects, or anything really, apart from the now snow covered fields around me, I return with a fresh mind, and new ideas pop up all over the place. After todays walk, I've though of how I can make the AGM engine faster, so here's my list;
Rip the compiler out of the engine. Right now I compile the code every time the engine starts. I'm going to change this so that the engine can read straight from a compiled file, so your apps will load much faster than before.
Have entities store code within them, so within the player entity you can have the code that controls the player. This would make the codes layout far more object orientated. It would allow you to just replace the player entity with another type of player entity for a totally different result. I intend to make a load of entities as soon as this is all secured.
Some new features to the compiler, like a #include command, so you can include a file full of variables to use through-out your app, and a "run entity" type command, which during compilation, will be replaced by the code of that entity, ensuring even more speed.
New variable handling commands that could save the engine trying to figure out how to handle a set of variables, so you can tell the engine that it's dealing with numbers, and it will handle them as numbers, totally forgetting the possibility of your variable being a string, because you've assured it that it isn't. Even more speed!
Using "Select Case" for pratically everything, which I'm not just yet, but have always intended to change. So yeah, you guessed it, more speed.
Neat, huh?
You are not alone.