I can't take all the credit. BlueMonkMN did make the graphics, most of the sound effects, the music, and the idea behind the game. I just made it all work in SGDK2. (Also, I did some reworking of the graphic sheet, so that there are fewer actual graphics, and I just reuse them, as that's what the framesets are meant for.)
Specifically, the beams and the recursive explosions were, in fact, the two hardest parts. Thank goodness for custom objects for the beams, that's all I can say.
I just figured that, since SGDK1 was originally based on TechnoVenture, it should be possible to recreate it thus. In SGDK1, I don't see an easy way of doing so, but as I looked through what SGDK2 had to offer, I became more and more aware that it seems like the perfect engine for just that kind of thing, just what SGDK1 was originally based off of.
Mostly, I have minor complaints, some of which I expanded on in my other thread just now. Many of these are the need for more built-in functions to work with, which I know you're still working on. The other big thing was dynamic sprites (10 bullets per level, 5 bombs, 10 explosions, 5 beam handlers, it gets annoying).
I downloaded the latest Alpha to finish the project, and I noticed that the Undo was still acting funny in the code editor.
A few other suggestions: Add some tools in the map editor: Fill, Rectangle, Line. (Specifically, for filling in large areas).
Make placing plans easier: Add an option to turn on grid-snapping to the tile size, and an option to draw straight lines.
Add options to copy: rules within a plan or sprite, plans within a layer, plans between layers (and maps).
Add (optional) default values to sprite parameters so you don't have to remember to set them for each sprite you place. Can this be extended to choosing default built-in parameters like Solidity, and initial DX/DY as well?
Along the lines of more functions to add: When displaying counters as numbers (i.e. in inventory), make it possible to choose the font, or something so that it can fit in a smaller box (i.e. 16px), or some other method of counter display. I'm sure this is on its way eventually, but it's noticeable specifically when you have 100 fuel cells, it cuts off the right half of the second zero.
Also along these lines: A function to tell when the player lands down on a solid (i.e. so I could play a step sound effect). I'm not sure what's wrong with it, but my code for figuring out when to play the step sound effect is kludgy and doesn't work well. It looks like it's supposed to work, to me, but it sounds funny when I play the game.
Would it be possible to add code to either sprites or maps or plans that only runs once upon creation/activation, without having to use extra flags/parameters? For things like initialization, it's odd to have to check each frame if it's initialized. Why not just put the code in the (layer/map) constructor (for a layer/map/plan), or in a public bool isActive {set{}} scheme for a SpriteBase?
Oh, and one more: Copying code objects. (I had a lot of sound effects to import). I know, I could just copy/paste, which is what I did, but it would be just that more convenient.