So, I was thinking about the morph problem.
The current problem in a nutshell is that you have a SINGLE unique ID, you recognize units on.
The solution is to introduce a ID and a NAME(or just a extra name feature since we already have one identifier).
So that you have a :NAME_ID
And a game internal :UNIQUE_ID
Now when you want to morph, you just have 2 units with a Different unique ID. but with the same:Name Display ID.
Now with this option it also opens up more options for different skills and ability's etc, etc.
The Proposal: "Simply" add another XML option to a unique ID. it would not be required and would thus keep backwards compatibility.
(I can provide a XML example if there is interest in this method of ID's).
Cliffs.
This is my understanding of cliffs atm.
The current way of making cliffs is to change a value in a terrain cell with a certain value ( - negative for down and + positive for up).
In addition all cell's are smoothed out.
I also noticed last I used the editor there were 2 different height/hill modifiers, these would do nice so as to modify one to do cliffs, and the other to hills and the like.
My proposal to a solution:
Make the rise for each level higher so that collision/ground mapping get a higher rise. and turn smoothing off for cells or make the smoothing cell based so that you can still use smoothing some places.
Hopefully these suggestions are usefull to glest so that we can have archers on cliffs,tanks and/or bases build on top of protected platues whatever suits the mod/game
.
EDIT:
Upon wondering about the heigh stuff i came across some (possible) obstacles.
Unit view distance.
How would this be calculated?, Obivously we dont want ground units to be able to have view on top of a steep cliff.
So I was thinking about planes.
Attackable plane (which plane the unit is able to be attacked on)
Attack plane (which plane the unit is able to attack at)
Location plane (which plane the unit exists on). This plane "could" be a little more configurable, basically my idea was to have this act like some sort of current dimension. the location plane would also have to be some sort of height map.
All these planes are/should be able to be configured so it would be able to have several planes inter the location plane is obviously the most advanced plane, were the others basically could have a couple of options for have links to different planes.
Fx a unit could have:
<attackable plane"air">
<attack_plane"air","ground">
<location_plane"ground"Magic",>
now the location_plane here would add the normal height_map, which would add the ground height map, so that the engine would know how the unit is handle and the unit is allowed "view on one level of "ground" were as "air" would have several's level of view because of it's height. this is if you think of ground level as values from -5 below water to 0 ground and 5 as mountains that would also give something about 4-7 levels to build fun different landscapes.
NOTE: i was actually thinking of a tag system were a unit simply are given the properties it is tagged with. so a unit would look like this
sound crash
sound fly
sound lift off
sound attack hit (wood? or dependent on armor type?)
sound attack initiated
stat-food supply 2
stat-race Barfny
stat-ep 1
stat-armor 1
stat-health 100
Hopefully you get the point of the tag system, the obvious problem is that very advanced units would be really complex. but that almost make out it self.
Also, PLEASE comment if you like this or not or have any suggestions.