Level-Editor Prototype

I am also happy to announce the built-in level editor for BossConstructor which I am working on at the moment and the history which led to it.

Making levels so far.
So far, I have made the levels for BC in… well… Inkscape – a free vector-based graphics package. The SVG-files created by Inkscape were then parsed by BC. Lines were converted to walls, Text-Blocks to ships and so on. My rationale was that it was quite easy to set up and use.

There were two main disadvantages to this approach, though. First, the converting process got more and more complicated. SVG-files are basically XML-like text files which contain entries for every graphical element (line, box etc.). Unfortunately, editors like Inkscape tend to create a rather complex hierarchy of element groups which each have their own transformations and coordinate systems which made the whole conversion process very cumbersome. Second, it was very hard to correctly place graphical objects like scenery, decals etc. because Inkscape doesn’t display them in the same way as they appear in the game.

So, in summary, using Inkspace as a level editor was a convenient if somewhat lazy and myopic approach… which brings me to…
The new level editor!
I am currently working on a level editor which allows me and you to design, modify and play levels/missions. The basic editor is already functional and allows adding tiles, the player ship as well as AI-controlled ships to the level. This level can then be exported and played within the game.

Currently, some things like level descriptions and objectives still need to be added manually using an external text editor. However, the features of the editor are steadily improving. My goal is to expand the functionality of the editor until all of the missions within the game can be created using only the editor.

editor
Summary
So, I think this is good news! 😉
BossConstructor will have a level editor, the editor is making progress and, once it is done, it should make the process of creating new missions much faster. Also, the resulting levels should be more pretty than before, since tweaking them becomes way easier.

Current State of BossConstructor Part 2/2

First of all, I am very sorry for taking so long to write the second part. Unfortunately, I have been a little busy lately. Also, since this part is about aspects with which I am having a little trouble at the moment, I was sort or procrastinating a little. So, I guess, I am writing this post both for your enjoyment as well as for me to get back on track… 🙂

Sound and Music
Even though I am not much of an audiophile myself, I realise that sound and music are essential parts of a good gaming experience. I have already selected some sound effects and I am currently working on the sound engine within the game. At the moment there are still some buffering issues but I am confident that I can resolve these relatively soon. Another issue will be the engine sounds which should follow the respective ships around.
As far as music is concerned, I will probably license some royalty free tracks. So far I am using (unlicensed) music from “R-Type Final” as a place holder. Great soundtrack by the way!

Collision Handling System
One source of constant ‘wtf’ in the current build is the collision detection and handling system. The collision of arbitrarily shaped polygons – as which the ships in BossConstructor are modelled at the moment – is a surprisingly difficult and tedious task. What makes it difficult is a) that two polygons can collide/intersect in more than one place at the same time and b) that a resolved collision can itself lead to more collisions. While the current algorithm works fine in about 95% of the collision cases, the remaining 5% might get you stuck in a wall or can lead to weird chain collisions and explosions.

So, in effect, a complete rework of the collision system is probably the best way to go about this. This topic is definitely next on my todo-list.

Mission Design
The problem which I perceive as the hardest one at the moment is the mission design. There are three main possibilities of how the missions will look like and I am not yet sure which way to go.

1) Arena-style survival missions have the advantage of being very easy to implement for me and offering a long time of potential fun and replayability for the player. The disadvantage of this type of mission is that they might incentivise players to build one ‘ultimate ship’ and use it all the time, making the core feature of the BossConstructor sort of pointless.

2) Specific missions (mining missions, transport missions, escort missions etc.) force the player to adapt his ship to each mission, which is nice. However, these missions are harder to implement and may offer less replayability once you have played through them.

3) Finally, a nice idea might be to provide an open ended world map which offers exploration and lots of things to do for the player. The player could decide himself if he is in the mood to mine an asteroid field, engage some hostile pirates or deliver and trade some important goods. This mode is probably the hardest to implement and balance – however, it might also be the most fun and engaging one in the long run.

I think for now I will stick to specific missions (2) with maybe offering one or two survival missions (1) to see how it all works out. If you have any thoughts on this subject, please let me know!

Conclusion
As you can see, there is still a lot of stuff to do until the next version of the BossConstructor is done. My intermediate goal is to finish a new alpha version of the game which includes about 5 missions for you to play and enjoy as soon as possible.