I couldn’t think of anything really interesting to blog about today so I figure’d I’d talk more about the level editor I was kinda/is not/will be working hard on.
First, but this on, I’m listening to it as I’m writing this post.
Now, as you may remember, I participated in the global game jam way back in January this year and made this. During the jam, I actually cobbled together a rudimentary level editor just to make level design easier. The tool was alright, but lagged ALOT, it was because I was lazy and made Flashpunk process 1000×500 or so entities. Sweet. Another problem was scrolling, to cut some more corners, I didn’t scroll the grid and just moved the “view” block by block. this was pretty terrible since if you were viewing empty space, you had no idea if you were moving or not. This time round, I’ve already got those problem completely sorted, it’s much more efficient and doesn’t lag at all AND the scrolling is pretty sweet.
A positives of the old level editor was that it loaded and saved levels quickly (I think) to files. This greatly increased our productivity as I programmed a “quick load” button which when combined with drop box meant near real time level testing across multiple computers, it a pretty awesome setup.
Something I’d like to differently is to load a list entities/blocks from a file rather than hard code them. I’m not sure how I’m going to allow for unique properties with it being safe (I don’t want people being able to load malicious code through the blocks definitions). In the old editor, it was hardcoded through a series of switches which was alright.
Another thing is layers. Layers are one of those things adds alot of eye candy like running behind walls or clouds, grass, or even props, layers bring alot of depth (hur, hur unintentional pun) into the art.
Intermission, STYLE CHANGE! HADOUKEN!
Then big thing I’m planning for this project is exportation [sp?] to a zip containing ALL the assets ie. art (inc. sprites?), entites, level script data and of course the tileset. The huge upside to this is that on an already established platform such as Kongregate, I hopefully should be able to implement their API which will let people create, share and play micro games all in one place. The thing is, I’m a little hesitant to carry on that path. Things like knytt have pretty rich level editors and aren’t exactly wildly popular even with awesome “release titles”. I think I’ll also be treading on the territory of Game Maker, which is also a very rich “level editor” though it’s more geared towards actually coding. I’ll probably implement some kind of packaging system just for the sake of ease of use though…
I’d really like to try adding scripting capabilities but throughout writing this post, I’ve realised that this really suitable for my project. I think I’m aming to make, at least a simple level editor which outputs the data to a raw text file and ideally I’ll make a complex, feature rich, platform “maker”. The closest thing to scripting will probably adding “properties” including physical properties: restitution (“bounce”), friction etc. “magical” properties: Ice (slippery/freezing), Poison (damage over time), Insta-death etc. There will definately be end points, respawn points, items which you can pick up, “message” scrolls and enemies.
I’ve yet to make the other half of this project which is the platformer/engine part, but I suspect that I’ll just be ripping it from parts of old projects.
Here’s what I have to show of the level editor so far:
Left click to toggle through tile types (Quartz underground, Quartz surface, empty).
Arrow keys to scroll, hold shift while holding/tapping keys will scroll faster.
Map is 100×100. No saving/loading capabilities yet.
Finally:
PS. This post probably would’ve been up 2 hours ago if I wasn’t fiddling with Foobar2000 and last.fm scrobbling…