Gauntlets of Recursion (+3)

Times, trials, and turbulence.

Map Editor: BattleForge!

Getting Started on the Map Editor, and The Slump(tm)

As I’ve been hinting at for the last week or two, I’m at the stage of development where creating a map editor is overdue. Up until this I’ve been generating simple 50×50 maps consisting of randomly-sized rooms. This should be painfully obvious to all of you who have been keeping up with progress over these last several months. 😉

Writing a map editor can be a task ranging from simple to insanely challenging; it all depends on who your audience is. Any lone programmer’s favourite is likely the simple-to-code-but-incredibly-archaic editor, which the programmer naturally understands how to use, but anyone else is clueless. However, since the Skirmish map editor will be freely available alongside the game, I need to cater for a very wide audience. User friendliness is paramount, which means much more planning and more precautions have to be taken.

Development has been a little skittish lately because of this, since it makes the task before me feel all that more daunting. Making a clean, efficient, user-friendly map editor is a large task — just ask Jon about Stencyl! — so I’ve been relunctant to really sit down and get cracking on it.

Instinctively, fear of failure kicked in, and I tried convincing myself that I’d be better off working on a smaller simpler game project. I don’t really talk about it, but this is a nasty habit that I’ve had for ages now. When a large project starts to get to a particularly difficult part of development, I tend to saunter off and start a side project, if not quit the project entirely. Remember that Voxel Renderer? That was a product of the grimness of tackling the damage/resistances system and particle engine in Skirmish. Since a good experience came of it, I suppose you could argue that it’s a good habit. In fact, more than one of my games were brought to fruition by these means. However, if I ever want to finish Project Skirmish, I’m going to need to remain focused on it and not let myself slip off to less challenging projects. Feel free to whack me upside the head if you catch me slipping again. 😉

Introducing “BattleForge”

Stop cringing, it’s just a placeholder name. 🙂

BattleForge is the Work-In-Progress name of the Project Skirmish map editor. Like I said above, it will be freely available alongside the game itself, and will sport a clean and user-friendly interface. For those of you who have used SME, the last iteration of Skirmish’s map editor, expect to see the bar raised yet again. I don’t intend to go overboard or commercial-calibre, but my aim is to make the editor simple enough that somebody with no knowledge of how Skirmish works or plays like can sit down for the first time and get the editor to do what they want with minimal hassle.

Naturally this means that lots of fine-tuning will need to take place as development progresses. I haven’t decided how I’ll manage it just yet, but it will likey be something like posting betas on my development journal here and collecting what feedback I can from readers. By listening to the users of the editor as much as possible, I should be able to get the editor in good enough shape that it will be more than ready by the time the game itself is open for Beta.

Where does BattleForge stand right now in development? Early yet. One of the concurrent tasks that must take place is the creation of the GUI system, which will manage all of the user-interactable components like buttons, panels, menus, and so forth. I realize it is possible for me to embed an OpenGL screen within a Swing or SWT window and use a Java windowing library for my interface, although I’ve decided against it. Why? One reason is that I simply loathe Swing and SWTs’ APIs — tons of bloat. Rolling out my own system using OpenGL ensures that I have everything that I want, and that it is integrated seamlessly with the rest of the game.

That said, development is still very early, but the rough shape of the editor can be seen in the screenshot below. The idea is to have a hint/info-bar along the bottom, and a side-bar along the right side of the screen. The side-bar will be able to move between several different modes depending on what the user wishes to edit (tiles, props, decals, lights, etc). A mini-map will also be implemented for easy navigation of the map, although I’m unsure of where it will be placed as to not obstruct.

(Very early screenshot of BattleForge. Shown is the info-bar, the side-bar, and the Label and Button GUI components.)


I’m still going to hold on to my original (loose) goal of having something downloadable (alpha of course :)) by the end of my Christmas holidays, which should be a safe bet now that I’m past the initial barrier of getting started on it. We’ll have to see if I can port some of the maps from the last iteration of Skirmish over, too. 🙂

6 responses to “Map Editor: BattleForge!

  1. zyklon December 26, 2007 at 11:30 pm

    If you want to be really lazy, you could use sme, and have project skirmish be able to interpret it.

    I am not sure if that is possible, but that my suggestion.

  2. The Visible Man December 26, 2007 at 11:34 pm

    What’s this? Lighting? Weather? Ambient Effects? Please tell me that isn’t just filler text! I almost want to say I can’t wait until the end of break!

    So I assume you decided to include it into Skirmish itself? I guess that has it’s ups and downs. Won’t stop me from using it, and it will give it a more polished feeling (where-as the map editor in Starcraft always seemed something they just threw out there)

    You could put the mini-map in the top left corner, which seems almost standard these days. Another option would be to create an area above “Map Settings” and put it there.

    Good luck! I’m sure I’m not the only one looking forward to playing around with it 🙂

  3. Manaxter December 27, 2007 at 1:05 am

    He’s right, I’m looking forward to playing it!

  4. Stephen December 27, 2007 at 9:06 am

    @Zyklon: But the whole point is that I don’t want to be lazy. 🙂 SME was Windows-only, which goes against my goal of having Skirmish (in its entirity) available on all of the platforms that Java is.

    @TVM: No filler text. However, none of the ambient effects or lighting is implemented yet. It will likely be a thing of the somewhat distant future, but I definitely want to implement it.

    I hope there’s no confusion about the map editor — it’s stand-alone. It shares the same engine/codebase as the game, but is a separate application.

  5. The Visible Man December 27, 2007 at 2:10 pm

    Ah, glad to hear! Sorry about that, I couldn’t tell from the picture. That’s great, though. Now people can work on maps while playing the game–great for testing out your own map!)

  6. Jonathan Chung December 28, 2007 at 3:43 am

    You might want to take a look at SUI for Slick for some inspiration when rolling your own game GUI library. There’s also FengGUI, which is a general Java-based GUI library built over OpenGL. Even if you’re keeping things simple, they may expedite this process for you.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: