And aside the discussion about improvement, is it possible to even modify current engine of Danmakufu? Is there source code? Want real evolotion? Give us scriptable MoF/SA/UFO engine with more ShotData abilities as maximum of 255 IDs suck.
Quick check of Danmakufu's site - I don't see any download for the source. So editing Danmakufu's code to extend its functionality by our own desires is very unlikely.
It'd probably be easier, honestly, to just bunker down and write up our own engine. Trouble with that, though, is that its
just a bit complex to parse syntax even approaching what Danmakufu is capable of, let alone something of a complexity rivaling, say, C++.
Honestly, though, I do think I could get behind such a project. I know I can do pretty much every piece of it ... only thing I'd need to figure out is the script parsing. Bonus point - since I normally use C# and SDL.net, it could be incredibly easy to play it on non-windows systems by using Mono (although, lacking a decent non-windows test platform, I haven't actually tried this yet).
What's the difference between for loops and ascent loops?
An
ascent loop is Danmakufu's incredibly limited version of a
for loop. It allows a loop where a counter variable, well, counts up from one number to another.
To be fair, though, I don't use
ascent often/ever (personal bias, mainly), so I might not have the best of grips on any nuances it has.
and being able to set the drawing layer of everything I create on the game inside a spell card script (being able to say that the player will be drawn on layer 7 instead of layer fucking 3).
This
As my spellcard in my Afro boss has like too many flashy effects blocking the lifebar, timer and spellcard name =.=
Not sure if it'll help, but have you looked at effect objects? If you're just looking to have eye candy, those let you determine what layer they're placed on.
Other than that, I agree it is a bit limiting with the draw order. I believe the order is based on what would normally be considered the "most important things to see" in the game. For instance, seeing things like enemy bullets is
much more important than seeing the enemy lifebar. By my observation, this is the reasoning behind Danmakufu's normal draw order - things that require the player's attention the most get drawn above everything else, so that the player (hopefully) has their attention where it's needed.
for loops work something like this:
for (a in b){do something;}
So let's say b is something like number of pixels in a picture. The loop will then run once for every pixel in the picture, and the variable "a" will be assigned to the current pixel of each loop.
*obsessive code freak mode ACTIVATE*Technically, what you described is a
foreach loop - that is, it does the contents of the loop for each element in some construct.
A true
for loop, by how it is defined in C and many other languages, is basically a shortcut for a while loop, mainly intended for counting purposes (but which can be repurposed quite generally). Using C syntax, the for loop
for ([declaration]; [condition]; [iteration])
{
[stuff];
}
is equivalent to the following while loop
[declaration];
while (![condition])
{
[stuff];
[iteration];
}
While it is true that they are generally used for counting, they do have a wider variety of uses.
Of course this wouldn't really work if the variables a and b weren't numbers, ...
Actually, it'd work just fine, regardless of the data type. All you need is the right operators defined for it. Of course, this is getting into pretty "hardcore" programming techniques (can programming even be eligible for the status of "hardcore"?).
... er, sorry. End rant.