Shape Workshop 2.0 Coming soon!
I started working on Shape Workshop because I needed a good 2D level design tool for my iPhone levels. I searched the internet but I couldn't find what I was looking for. There were tools to create tile maps and some complex "generic level design" tools which purported to do everything. But nothing was an exact fit. I wanted to create free-form physics driven levels. The levels in Angry birds demonstrate what I mean. They are composed of arrangements of 2D objects which respond to physics.
In my search, I looked at a number of commercial solutions namely Physics Editor and Game Level Helper. Physics Editor a great tool but it's limited. It only lets you trace sprites - something which, in itself, isn't very difficult. After you've traced your sprites you to tessellate them (pretty fiddly) arrange them in your game manually. To me, that sounds like a lot of effort. Also, it only accepts sprites which isn't much good if you want to create a path based like the levels in Bike Ride. Overall, program is well written, pretty intuitive and does what it says it does. However, for me it's a bit limited.
I downloaded Game Level Helper but I didn't get on with it. For a start, it crashed the first time I tried to create a new project. Despite the flashy website, whole thing just felt sluggish and buggy. With these disappointments I started building Shape Workshop. In the new year I got to a point where the program was working and most of the basic functionality was complete. At this point however, I had other commitments so I tested the software and released the beta version. I hoped that it might be useful to someone and I also wanted to get some feedback. Generally, the feedback I got was good however people wanted more export options, undo redo, shortcuts and a more intuitive canvas i.e. drag to rotate. These were things I was always planning to implement but just hadn't had time.
Shape Workshop 2.0
I'm now deep in the development of Shape Workshop 2.0. For this version, I'm adding all the things I didn't have time to add in the first version. Here's a brief run down:
- Drag to scale and rotate
- Keyboard short-cuts
- Undo/Redo functionality
- Snap to grid
- SVG robustness - I've made huge improvements to the SVG parsing engine. This version will support almost everything: groups, arcs, text etc… and be much more robust
- Point tweaking - now you will be able to adjust the position of individual points manually
- Custom polygons - you will be able to define the collision polygon for a sprite by manually adding and moving points
- Circle collision bounds for sprites
- Element manager - rather than having to load a new sprite from file every time you want to use it, you will be able to drag and drop the element from a list to the canvas/li>
- Drag and drop - drag a sprite or SVG to add it to the canvas
- Components - group your elements into collections which can be added all at once
- Joints - add all Box2D joint types to the scene
- Export options - I'm adding a large number of export options to cover iPhone and Android
- Interface improvements. I've completely re-designed the user interface to make it more attractive and intuitive
This doesn't cover all the improvements! I'm sure there are more which I've forgotten. Anyway, I'm getting on well with the development but I think I've got at least a month to go. If you want to be kept up to date with the progress of this project you can follow my Twitter feed. If you have any comments or suggestions for features, you can email me at firstname.lastname@example.org