Moontears (Htbaa's Worklog)

BlitzMax side project RSS Feed

Frozen tears

It has already been quite some time since I last worked on this. I do hope to create a full qualified game with the name Moontears in the future but it very well might become a 10-year project :-). For now I freeze the tears in the fridge.

I've been able to prototype a bit with it and put my experiences with it into another prototype, Dogfighting Like It's 1945, and have learned a great deal from it. Dogfighting Like It's 1945 was planned as a full game, not a prototype and might still become one. But some trivial tasks and code refactoring still remain to be done and I'm not spending a lot of time on it lately. I did however fix a sound bug which was, well, bugging me in continuing it. So I might pick it all up again. Still, lots of work needs to be redone and I'm not particularly happy about the current code base. But maybe that's my problem, in that I sometimes over-engineer stuff?
(Posted on July, 20th 2009, 23:45)
0 comments

Mission Editor

I decided that Moontears would require a mission editor that would speed and ease up the process of creating missions. Since I bought MaxGUI a while ago and haven't been using it I was thinking that I really should use it again! As it would be perfect to create a level editor.

But since coding these application forms is a tedious and boring task I decided to see if there was something that could speed up this process. And there was! It's called Logic GUI and it's really easy to use. Take a look at the flash tutorials to see what I'm talking about :-). Logic GUI is well worth the small amount of money.

The Mission Editor is going to allow me to manage my missions and is powered by SQLite database. I've written a ORM module and a Query Builder module. Although the ORM module is more a ActiveRecord implementation, I do intend to add relationships to it.

With the Mission Editor I can easily create, load, save and delete missions. For every mission I'm able to put objects in it (ships) and can manage it with a nice treeview. Of course, the editor can be maximized which allows for a nice big preview canvas.

I've also added tabs for Lua scripts. They're only textfields now, but I do intend to add some syntax highlighting.

When all is done the editor should allow me to manage all my objects (ships, cruisers, mines etc.), group them, appoint leaders, manage waypoints, add conversation dialogs and compile the level. A compiled level is most likely going to be a custom format which contains the compiled Lua code (no digging in there!).

I've also been trying some stuff out with Lua and managed to interface between BlitzMax and Lua. That is, managing BlitzMax types in Lua. Or at least executing modifier-functions on them :-).

Here's a little snapshot.





Update: Well now. Interfacing with Lua is really easy! I don't need full access to all my types so I just use a couple of modifier-functions and a nice little factory design pattern to create my objects. Since I'm using a internal ID system it's easy to get stuff done.
(Posted on October, 26th 2008, 16:58)
5 comments

Its name is Moontears

Besides 2dsupershoot I'm also working on another project. This time in BlitzMax. Its working title is Moontears. The game I intend to create is similar to a 2D Project Sylpheed type of game (no this is not an entry to the competition). This means a story with some plot twists, huge epic battles and lots of different spaceships and weapons.

The past few weeks I've been working on working on getting my base code done. I'm actually using game programming techniques to get stuff done! Like Finite State Machines, Fuzzy State Machines and Influence Maps (the little radar on the left). With 2dsupershoot I'm not using any of those. FSM's and FuSM's would've been really useful with 2dsupershoot. But that's fine, you learn along the way.

Moontears is going to be a much bigger game than 2dsupershoot. In it's current state alone it's already more advanced than 2dsupershoot. The influence map is used for fast target selection, as well as for the AI commanders to direct the units awaiting instructions.

Levels will be scripted using Lua. This will allow me to literally script the levels, dialogs and all that kind of stuff. Prototyping levels will be fast as well since you can just reload your Lua script while running your game. So no time loss with recompiling your game.

This will also be the first game where I'm actually going to make everything myself :-). I'm messing around with Wings3D (for the time being) to make my models (yes you may laugh) and I'm getting there, slowly. I'm using SpriteForge to render my spritesheets and I'm using BLIde to do some productive coding!

So far I've got no concrete plans about Moontears. I'm still thinking about the story and the story elements. But there's enough time for that. Besides, all the basic gameplay elements need to be in there first. Besides dogfighters I also plan to add bombers, battleships and warships/cruisers. Although I don't think one will be playing with battleships or warships. They move slow as well so I don't think there'll be a lot of fun in that.

Anyway, check out the screenshots. The influence map in drawn shape shows the occupation per sector. In my test bed the allies start on the left, and the enemies on the right. You can see them advance on the influence map (the influence map is not a radar!). On the 2nd screenshot you can see the units fighting. Although a still image doesn't say that much. I'm currently testing with 200 vs 200 units and performance is still good, and there's room for more as well (game engine needs a lot of tweaking as well so it will be even better).





(Posted on August, 31st 2008, 23:40)
2 comments

Copyright © 2005 Booleansoup.com
Questions? Comments? Bug reports? Contact us!