classic sonic, editable
(WIP & Unreleased)
First properly shown (I think) around 2018 in a Sonic Retro Spotlight post, Spring Yard looked like this: You may notice a few oddities, but I'd like to point out the rough way the terrain is cut off on the bottom edge of the circle, or the left side of the ledge. How terrain visuals work If you aren't already aware, in Sonic Studio you create terrain by modifying vector shapes - kinda like you would in Adobe Illustrator. This makes a shape a collection of points, which joined together create a shape with edges. Collision with the player object uses these edge vector lines. The game will fill these shapes in with triangles, which can be then be easily drawn to the screen as textured polygons. How Sonic Studio created shape visuals back then (and still does to this day albeit more advanced and appealingly) is to crop a base texture to that shape (such as the checker pattern in GHZ). and then over the top of that add decorations around the edges (based on the edge angle and other factors). These edge graphics typically include things like grass/floors, edge shading, or other kinds of borders. This approach works absolute wonders for zones like Green Hill, needing only a checker base texture, edge shading, and grass (with a grass shadow). However as you can imagine this was more of an issue for more complex zone themes like Spring Yard, which requires pillars with a unique top and bottom to them, patterned floors which neatly curve around slopes, and a green metal grid/mesh pattern throughout - and, of course, the most obvious issue, the large red oddily shaped panels that overlap that base grid/mesh texture, that cast shadows upon the mesh. After this image was posted I got some well appreciated feedback regarding exactly those. While the zone was not finished having it's decorations added - I knew that simply cropping a texture with the panels and the mesh wasn't going to cut it. Idea for a solution After some experimentation, I created a rough system for applying overlays to shapes. This was originally meant for the large green leafy areas found over the terrain in Wood Zone, but I realised it would work for Spring Yard Zone also. Simply put, in Spring Yard Zone each terrain shape would check a specified size of grid (in this case, each grid cell is the size of one overlay panel sprite), and if a grid cell was "roughly" within the shape, it would add an overlay tile. With the panels taken care of, the base texture could be changed to the green mesh alone. Together, we get the same result. Here's an image of that in place (after I sorted the pillar issue too), along with an unrelated little visual change to the sprites themselves. And well, it worked! Unfortunately though it was a little haphazard. Below you can see how the overlays very often poke outside of a shape's boundary. This kind of thing would interfere with gameplay. This happened because while the overlay tiles were performing various "is this point within the shape?" checks to avoid this, it was not enough. To improve it would mean adding even more checks which could potentially cause lagging any time you edit a shape. Shadow Situation Damn. Not only that, I had no way to add the shadows the panels cast onto the mesh base texture. Somehow the overlay tiles would have to change the colour of the existing base mesh texture around them... Luckily, while that issue was put on the backburner I had encountered many other issues in other zones which had prompted me to improve the internal system for defining a zone's visual profile (the textures and types of shape edges a certain zone will use), which both included an easy way to add additional layers, reorganise layers, and also crop layers to the base texture of the shape. This was perfect for adding shadows, I can simply add another layer of overlay tiles (which are the colour of the shadows) and crop that to the mesh texture. Sorted. Pillar Problem Overlays weren't the only issue, the Spring Yard pillars that border the walls needed to be added, and needed to look correct. They have a unique top side, and bottom side, and needed to work when the edge was at a slight angle also. This ended up the more simple of the problems to solve. As angles the pillars are sheared/skewed (hey, can't account for everything with 100% perfectionism, I'd never get anywhere) and the endpoints of the pillar can be shifted based on what angle or type of edge is coming up next. If it's a floor, the pillar will need to be a bit shorter to accommodate it. This type of thing can all be defined within the zone's visual profile internally. Final Steps The issue about edge overlapping overlay tiles still remained. Up until this point I had been using 5 different sprites for the randomly selected red panels that would appear, all the same general size. The obvious solution is to introduce smaller, half and quarter sized overlay tiles which can neatly fit into small spaces at the edges of shapes. However, while I had thought over this idea a long while, it would mean many more overlap checks for each overlay tile added. Well, frankly, too many. Until I introduced a system under the hood for quickly accessing nearby terrain lines. This was in-place in gameplay from day 1, but not so for the editor. It was now possible to quickly check if there are terrain edges in a given grid area. The overlay system could now use this information to exclude or modify themselves if they are being intersected. This means the idea for context sensitive segmented overlay tiles was practical. If a given overlay tile is intersecting the edge of a shape, it will then check which of it's 4 corners are intersecting (or are outside of) the shape. Based on this information, it can simply switch to a more appropriate image. The final result (with further updated sprites, a little closer to the OG colour scheme): Overlays such as these will now tightly hug the shape border, but won't overstep too much if at all. All of that is just 1 or 2 of the larger issues I had to deal with for a single zone. Imagine the issues I deal with for the others, or the other issues I deal with in Spring Yard! And as a bonus, here's a semi-accurate recreation of that 2018 image. While there are still small changes yet to be made overall, it's come very far from the 2018 preview image.
10 Comments
PaigeX4
25/2/2023 11:12:43 pm
I absolutely love hearing the incredibly specific challenges your poly system has. It's gratifying seeing you work out the kinks of fitting Spring Yard's terrain into the game. Even Green Hill needed to be simplified to an extent, but you made it fully work here! Can't wait to see what's next.
Reply
Anonymous
26/2/2023 12:48:12 am
man i miss seeing studio in my feed. please post more man :(
Reply
Caylie
26/2/2023 12:53:03 am
I had no idea this project had a blog! Definitely gonna keep an eye on this place, I've always been really excited to see where this project is headed-- and for the first update I see to be all about my favorite zone in all of Sonic is a special treat as well. Can't wait to see what's in store for this project's future!
Reply
26/2/2023 02:35:03 am
Thanks for sharing this, Lapper. Always fascinating to see what goes into creating such a complex, beautiful and impressive project. Definitely very helpful for me in particular as I hope to start work on my Magnum Opus sonic-inspired platformer once (if) I manage to get my first project completed and published.
Reply
Damer
26/2/2023 09:53:33 am
Cool article, shows how much effort you put into the project :)
Reply
PaigeX4
26/2/2023 04:08:47 pm
One more thing: Some edge tiles in the front-panels have shadows that aren't attached to any walls. Is it possible you could put in another check to see if that tile is next to another front-panel?
Reply
Lapper
13/3/2023 10:03:10 pm
Good spot! That's just unfinished art. The real problem will be the lack of those shadows in some rare spots where there should be, but may not be a big enough deal to worry about.
Reply
Brawlsonic18
6/3/2023 01:29:13 pm
Sonic Studio is doing great! Lapper is doing amazing art and programming, Jahn Davis is nailing it with the soundtrack and same for Noah Copeland!
Reply
Good Cat
10/3/2023 01:05:03 am
This project os brilliant.
Reply
Anonymous
28/5/2023 08:11:07 am
I understand you're mainly focused on reconstructing zone themes from the classic games (S1, 2, 3, CD, &K), but do you have any plans on implementing zone themes from other sources (either completely original from you or reimagined from other spinoffs/fangames)?
Reply
Your comment will be posted after it is approved.
Leave a Reply. |
AuthorHi, I'm Lewis. I'm a 2D game artist, animator, illustrator, video editor, and game developer.
@LapperDev Archives
July 2023
Categories
All
This website uses marketing and tracking technologies. Opting out of this will opt you out of all cookies, except for those needed to run the website. Note that some products may not work as well without tracking cookies. Opt Out of Cookies |