Well, I haven’t been able to work a lot in my projects since last week… Guardian Angel development is still frozen, partly because of personal issues and partly because of my projects in the university… I have to make a project for my databases assignature and finish my software engineering practice, CADir, a Cellular Automata Simulation software. I must admit that I would like to work more on Guardian Angel, and I fear that this discontinuity on the project may harm it, but there was no other way.
On the other hand, altough I haven’t been able to code a lot, I have tought… some of the specification of Wing must be moved to Guardian Angel; Wing is getting narrow and narrow every time, but that’s because I proposed a wider scope for it…. as I see it, the Guardian Angel engine is becoming what Wing was supposed to be in the beginning, a platform for the development of games.
The Worlds in Guardian Angel are big…. I have tought a lot, and gave up on the Overworld map focus…. it just doesn’t fit into the schema, and single scale maps are more elegant and consistent, for both the player and the developer. (After all, they were only possible after Ultima V 😀 )… So, for an OverWorld of 512 * 512 “BigCells” will be replaced for an 8192 * 8192 “MapCell” Surface World, this in only the “top” or “surface” level of the world, and having 67108864 objects active all the time is not a choice…. even making things like assigning all the attributes of the mapcells to a mapcelldefinition object as with the first design would make the minimum requirements for the memory of the program to 805 MB 😀 and this nonsense would only account for the overworld map…
Don’t think I haven’t had in mind possibilities of only loading parts of the world as needed… the problem here is that for Guardian Angel, the PC is just another Actor; he can’t have any special treats, like allowing him to act while others can’t act, and such things…
So, I have tought on applying two strategies:
* Degrade the MapCells, from smart actors to simple references to MapCell Definitions, with their positions intrinsic to the indexes of the Arrays.
* Have in memory only parts of the world in which there are active actors, so that they can perceive and act. For this, an auxiliar structure of map sectors will be tailored. Guardian Angel will be in charge of handling this, as Wing responsabilities are restricted to coordinate the Actors.
I hope in 3 weeks be working on it actively again.