Blog post: The Evolution of Object Editing (2023-03-13)

Sourced from *The Evolution of Object Editing*, a blog post on the game's official website by Lapper.

```
In the very first video shown regarding Sonic Studio, there were no objects. No rings, no Springs. I had not even gotten that far in development yet.
​
However, in the second video, one object is shown, a Spring (Spring is placed at 0:35).

The Spring was actually the first object added to Sonic Studio.

On a whim, rather than adding multiple premade Spring objects, I added 2 control handles, one that you can drag behind the Spring to rotate it, and one extending forward that you can drag to change it's strength. ​

Control handles would be used to change the sizes of resizable objects like a grid of Breakable Blocks with 1 in each corner, or the length of items such as the GHZ Bridge with one either end. It worked rather well, and is similar to how SMM does certain things.

Initial Complexity

Though - it was easy for me to get carried away with these control handles. When I first developed the Ring object, I wanted a single object to be able to be used to create a single Ring - with the ability to become a line of Rings, and from a line to even a huge block of Rings.

​You would do this with various control handles, where some would toggle the type and some would allow you to resize.

Sounds pretty cool! That means the ring object has at least 4 control handles!

Well, it didn't take much testing time to realise this was actually quite annoying. When you just wanted to draw a line of Rings, or even place just 1, you had to deal with at least 2 extra control handles you didn't need getting in the way. It made editing Rings feel like a chore. Not to mention how convoluted it made the Ring object behind the scenes.

Other objects also suffered from this issue. Platforms, moving Platforms, elliptical Platforms, falling Platforms, were all combined into one object and made editing feel frustrating, and also limited the possibilities for each type to ensure it worked well with the others.

Trimming The Fat

I wanted to slim down these handles. Don't we all. First step was splitting these different subtypes of objects apart. If you want a line of Rings, you shouldn't have to add a single Ring and go through 1 or more control handles to get it, it should be freely available to you and have only the control handles that type of Ring needs. So, I separated them, I added pre-sets for items into the item list, and removed the extra control handles that used to clutter the items.

Same was done for objects such as the Platforms. And because these objects no longer had to work together, the way moving platforms were edited became more freeing and much more fun.

Some objects, like the Spring, had their control handles reduced (from 2 to 1), but the functionality remained the same. For example, one control handles can both rotate and change the force of a Spring. With this, all angles and types of Springs can remain combined in 1 object and still be fun and efficient to edit.

Thanks to these pre-sets, this also means that the type of object you need most (like, a line of Rings for example) can be pinned separately to the list of recently used items in the corner of the editor.

Though of course, you can also pin the various types of default Spring that come as pre-sets (but that is not every single type you can create)

Alternate Methods

More could be done. Some objects had control handles that could actually be delegated to a more global button, a button that was always available. ​
For a long time the editor has had functions for manipulating the current selection. The main ones being flipping and rotating. This was an obvious function for editing terrain, however it was less useful for objects at the time, as I wasn't considering the possibilities

This was a perfect alternative to having a useless control handle on an item. For example, if you wanted to make a spike bridge rotate the opposite direction, no need for a special control handle for that... just flip it! Same with changing the direction of a moving platform, changing the initial direction of a Badnik, or the angle of a Spring (though the control handle also provides that function too).

​It's an obvious solution of course, but I was learning on the job. This kind of change was able to be made to many many of the objects in Sonic Studio, clearing the need for many of these cluttering control handles.

There's a bit more work to to do make object editing at it's full potential, but it's well on it's way.

Moving Forward

The development of Sonic Studio will continue to ensure the editor is not only efficient and straightforward to use, but easy, accessible, and fun - adding every detail necessary. For example showing the height a Chopper will jump out at you within the editor, or the direction you've set Badniks to begin walking, and more!
```