Not signed in [Sign In]
[Sign Up]

The Zone: 0 forum is designed for a small community of Sonic the Hedgehog obsessives to discuss the franchise. It accompanies Zone: 0, the comprehensive Sonic game guide.

New members should familiarise themselves with the basic aims and guidelines found in the welcome post before submitting their first discussions.

  1.  
    As you may or may not know, the Sonic community is thriving with people actively creating their own original fan games, hacks or official games, levels etc - a treasure trove of peoples own interpretations of the Sonic experience to keep us all going during the long waits between official releases.

    It's been one of my dreams for years now to bring some of my own level creations that sit inside my head to life. In fact ever since I was a young lad and got hold of a second hand copy of the Sonic 3 strategy guide and its maps of the giant levels, I wanted to try my hand at making my own. I even recall designing a sort of rudimentary flying fortress level in MSPaint on my first computer. Good times.

    Now though, it's all become very possible. To be honest, I don't intend to write many more guides for Zone: 0 myself after I'm finally done with S3&K (I know I've been quiet on that front for a while, but I really have been seriously busy with my degree - honest!). That'll take a while, but then, eventually, I hope to move on in terms of my Sonic projects and look toward designing and creating a few of my own original ideas for levels, using and gently breaking the rules and structures I've learnt from my studies with the original games. Not necessarily connected into a single game with a story, just standalone adventures, each in a unique world bursting with new ideas and original graphics.

    Granted, I'm in no position right now to act on the information I'm asking for, but to settle my curiosity and perhaps to aid that of others, I'm wondering what methods people can recommend for getting stuck into the creation of levels and games? Personally, I'm more interested in the level designing and creative aspect rather than the complex physics programming of starting up your own engine from scratch. Relatively high level programming is part of my skillset and career, but I'm no good when it comes to maths and physics, and others do it so well, so I'll be looking for a really robust, easily manageable and flexible existing engine that I can use to construct the worlds of my dreams - anything you guys have come across that would be good?

    I've been keeping my eye on Damian Grove's ProSonic for a while now which seems to be nearing a reasonable state of completion. I've also seen various comprehensive engines for the Game Maker (something I used to use about 7 or 8 years ago) or MMF, but there's a lot to choose from so I wonder if anyone could recommend anything and give its good points and bad, from the perspective of someone who may never have dealt with that environment, needs something user friendly, but knows a little about this kind of programming. What about hacking? It's always rather scared me, but people seem to manage it and can get quite unique results - is it as difficult and limiting as I'm thinking it probably is though?

    One thing I'm wary of is being forced to stick too close the capabilities of the original games. So much more has become possible since then with regards to movements of large, dynamic objects and more comprehensive physics engines and so forth. Among the engines available, is there much scope for going well above and beyond what Mega Drive Sonic is technically capable of?

    Any recommendations would be appreciated and I'm sure it'll be of some use to others as well.
  2.  
    Alright, LiQuidShade, I'm kind of a noob on level creation and game creation, but, I do know that you can game hack. I'm unsure whether creating an actual new engine is an attainable goal, though, I'd do anything to learn about how to do so and anything to actually do it. You can use, for example, the original Sonic games as bases and hack those game, placing new graphics, levels I believe...sounds and music, and some physics like, jump height, run speed...

    http://www.info.sonicretro.org/ Try that site, and search up one of the Genesis games, like Sonic 2 or Sonic 3, then, go to their article, and scroll around the bottom. Usually, they're are links to hack guides, which describe in good detail what you can do, and, there are links to all the programs and tools necessary to do such hacks...

    I'm sorry, I can't say for sure that you can derive that far from the capabilities of the original games. Some people on Sonic Retro are making a Sonic HD game, and I believe one member actually made an engine, possibly even from scratch, so I'll try and get in touch with him, maybe ask where he learned how to do such a thing, as, I'd honestly love to see a game like you're talking about in action, and I'd be willing to help make a new engine...though my knowledge as of now is very limited...so that's all I can do for now
    •  
      CommentAuthorMercury
    • CommentTimeDec 8th 2009
     
    I have a similar problem. ROM hacking, while it gives you a ready made engine to work with, limits you to the Mega Drive's capabilities. Also, it isn't exactly a breeze to port the art and music - it's a tough enough job to get the creative stuff right in the first place, let alone squeezing it down onto two decade old hardware!

    The existing Game Maker Sonic engines I've seen are nowhere near accurate or complete enough to make a satisfying Sonic experience. And the original engines, like ProSonic (and a few others) are quite a ways off.

    This led me to try to construct my own solution in Game Maker. I was intending to develop the engine expressly for my own project, but recently I decided to make it a lot more accurate to the Mega Drive games and recast it for the Sonic community as an alternative to ROM hacking. I was spurred to do this when I began collabourating with someone who's ideas (for a Sonic game) I took a fancy to, but they didn't really want to make a ROM hack. Unfortunately, they haven't gotten back to me for over a month now, so I'm forging ahead with a plain vanilla version of the engine that could be used for any Sonic project.

    There are a few minor limitations on the shapes of loops, and not all of the types of moving platform are working properly yet, but it's pretty far along. I was hoping to have a demo by the New Year. What makes it the slowest going is porting clean rips of all the sprites and getting their origin points and animation speeds correct. I've got Knuckles almost done (I started with him for reasons I needn't go into here), and I can't wait to show him off.

    In fact I'll let slip a little secret. Sonic Extractor 8-bit was intended to be a fully playable GM remake of the game, with the ability to switch between SMS and GG versions, and view level maps. I ultimately gave up on it, because other things came up, and released SX8B as a stripped down mapping utility only. But here is a demo of what it would have been, as a little taste of my Sonic Engine. Mind you, it's far beyond this level by now - SX8B doesn't have loops or anything, so it doesn't show it off to its fullest.

    I'd love to be able to help. If your zones are even half as well concieved as your site and your guides, they'll be a joy to play! :)
  3.  
    Sounds interesting, Mercury! As I said, I'm not likely to be able to start on any of this for at least a year or so, but the intention is definitely there, so your engine looks and sounds pretty good to me! Really looking forward to seeing a full demo :)

    Does sort of feel like the community is heading towards the separation of engines and design to really get the most out of the really technically skilled and the really artistically skilled in the community - maybe we're just a year or two from there being really good, usable solutions out there. In a way, since fan collaborations are so difficult to get right, it's a great way for the community to work together without actually working together, if that makes sense.
    •  
      CommentAuthorMercury
    • CommentTimeDec 9th 2009
     
    Collabouration tends to either fail or stall, since egos and tempers seem destined to run high. However, using tools made by others with no knowledge of your needs is maddening, as well. You can't ever seem to find a solution that has everything you're looking for. Like you say, hopefully in the near future the climate will have improved - but I'd like to see more open-source projects, so that when people drop off the face of the earth, all their work wasn't for nothing.

    Anyway, if anyone wants to make specific requests for the types of features they'd like to see in an editable Sonic engine, that would be very enlightening for me.
  4.  
    Just anything that makes it as easy as it can be to script your own types of objects would be first on my list, as I'm sure I could come up with a few ideas for some that aren't particularly the norm.

    Also I feel like the original Mega Drive titles could never take advantage of moving the character across slopes on an object that is movable. For example if I had an old, dusty factory sort of level (not among the first level types I want to make, but just to give this example some context) and wanted a kind of broken balcony gangway object that was hanging by a couple of chains, swinging as it goes, could you make it so that when Sonic lands on one end, the gangway tips towards it, and its angle obviously becomes steeper to climb, and then tips the other way when he gets high enough? Same kind of thing as a platform sitting on some water or lava that slowly tips back and forth. Common in a whole bunch of more modern platformers, but even modern 2D Sonics seem to always stick to straight surfaces on any objects that move, and it's the kind of feature that could open up whole new possibilities. Little Big Planet meets Sonic, I suppose. Or is that a bit of a tall order?

    I was thinking about messing around with the view of the level too, such as being able to enlarge everything or minimise it during certain sections, as if the camera has gone further towards Sonic or away from him and you can see more/less of the level around him. And how about turning the map to the side, or maybe even any angle - say for example you had a level set inside a giant ship that was sinking, and the whole environment gets turned on its side as the ship tips over and sinks, but of course gravity would still be forcing downwards, but in a new direction on the map to where it would normally go if it stayed upright. I can certainly live without these bits, but they're ideas that I've thought about and if they're anywhere near possible or practical it may make your engine really stand out!
    •  
      CommentAuthorMercury
    • CommentTimeDec 10th 2009 edited
     
    LiQuidShade:Just anything that makes it as easy as it can be to script your own types of objects would be first on my list, as I'm sure I could come up with a few ideas for some that aren't particularly the norm.

    Since it's made in GM, if I were to make it open source, anybody could make any type of object at all. The engine would come with a fair number of objects pre-built (such as the glowing orbs from the S&K bonus stage, or the rotating drums from Metropolis, which happen to be two I've made already), so that it wouldn't be hard for users to just copy objects and modify them (changing sprites, speeds, and other behaviour to whatever degree they see fit). If I don't make it open source (though I think I will, since I'm a big believer in it), I'd have to include a scripting interface, which would just drag people down and introduce limits.

    LiQuidShade:...could you make it so that when Sonic lands on one end, the gangway tips towards it, and its angle obviously becomes steeper to climb, and then tips the other way when he gets high enough?

    Ha! This is a bit of a tall order, but it's the type of thing you see in Mario and Wario games all the time, isn't it? If it didn't have to be shaped, but simply a rectangular structure (like an I-bar, or a plank), I could probably find a way to do it without too much trouble. In fact, I think I'll take on the challenge! But a shape with a complex outline would be too much, since I don't use an external physics engine with all the bells and whistles like Yoshi's Island's Super FX 2 chip. I wish I could, but all the ones I can find for GM crash and cause slowdown.

    LiQuidShade:I was thinking about messing around with the view of the level too, such as being able to enlarge everything or minimise it during certain sections, as if the camera has gone further towards Sonic or away from him and you can see more/less of the level around him.

    Klonoa for the GBA does this, to keep the boss visible at all times during boss fights. It's a pretty cool effect. I've actually got something like this working before (though it's currently inactive in the latest build) - I wanted the screen to zoom in on Sonic when he was "locked on" to enemies, to make it more dramatic. Viewtiful Joe does something like this, and it was my inspiration. But yeah, GM allows for this.

    LiQuidShade: And how about turning the map to the side, or maybe even any angle - say for example you had a level set inside a giant ship that was sinking, and the whole environment gets turned on its side as the ship tips over and sinks, but of course gravity would still be forcing downwards, but in a new direction on the map to where it would normally go if it stayed upright.

    This is much like the Sonic 1 Special Stage? A fascinating idea. Game Maker can rotate the angle of the entire view, so making it look like it was rocking back and forth would be easy enough. As for the gravity changing, I once programmed the ability to rotate the gravity at will, turning the environment one quarter turn each time you used the special ability. Going in between to any possible degree is a greater challenge, but doesn't stand out as something impossible.

    Well, I love the ideas, and I'm excited about seeing if I can work them in.

    Here's a video I made today showing off a bit of the progress. The loops' delineating lines are 1 pixel thin, so they don't show up too well in the video.

    http://www.youtube.com/watch?v=S7fsV3I54DE
    •  
      CommentAuthorLiQuidShade
    • CommentTimeDec 10th 2009 edited
     
    Wow, it looks amazing! Perfect, as far as I'm concerned. Consider me a loyal customer of it once you get it out there! :)

    Thanks for taking on my challenges! As I said they're just features that I think would be really cool, and I know you'll only do them because you want to, but it's by no means the end of the world to me if there's something you can't quite get right with them! What you already have here in your engine is exciting enough for me!

    But yeah, I wouldn't expect complex shapes to be movable in a physics engine-y sort of way, so just rectangular objects would be perfectly fine. Perhaps integrating 2D Sonic with a full physics engine is a challenge to be tackled in later years, when the community has fully settled into an open source world of perfect traditional Sonic engines!

    One more, are you planning on supporting complex backgrounds with multiple layers and paralax etc? There's an effect I love in Hydrocity Act 1, for example, where you can see the surface of the water when you're above it, but as you get closer to it, it occupies less and less space in the background until you dive in, where it becomes completely reversed and you can see it expanding again from underneath. I'd love to be able to mess around with those kind of effects, not just in terms of water areas, but in a variety of other ways too. What do you think?
    •  
      CommentAuthorMercury
    • CommentTimeDec 10th 2009 edited
     
    LiQuidShade:One more, are you planning on supporting complex backgrounds with multiple layers and paralax etc? There's an effect I love in Hydrocity Act 1, for example, where you can see the surface of the water when you're above it, but as you get closer to it, it occupies less and less space in the background until you dive in, where it becomes completely reversed and you can see it expanding again from underneath. I'd love to be able to mess around with those kind of effects, not just in terms of water areas, but in a variety of other ways too. What do you think?

    I haven't done a lot of work on backgrounds yet (as can be seen from the video), but I have experimented with just that same Hydrocity water surface effect. I wanted to improve on it, making the water surface transparent - and I even added a rain effect, complete with ripples on the surface. Maybe I can get a video of that up.

    EDIT: It doesn't translate so well to a compressed video, but here it is, anyway.
  5.  
    Holy cow, that looks gorgeous! Absolutely fantastic stuff - it'll certainly do!
    • CommentAuthorsmiley225
    • CommentTimeDec 22nd 2009
     
    It really looks fantastic!! :-)

    It has always been one of my biggest dream, too, to be able to play my own levels, that I've been drawing for ages!!
    •  
      CommentAuthorPhos
    • CommentTimeDec 25th 2009
     
    You might want to take a look at Stealth's EO2 (or is it E02?).
    •  
      CommentAuthorMercury
    • CommentTimeFeb 12th 2010
     
    Small update, showing off curves.

    video

    Now that it's basically working, the trick is making it easier to use!
  6.  
    Looks superb! Very smooth indeed, it must be so satisfying to have created that. Look forward to seeing more!
  7.  
    I was curious Mercury, how are you getting on with your engine? I know you've been involved in porting it to that impressive 3D game that was shown off a while ago. Any news, or target dates to have things ready by? No pressure, just wondering :)
    •  
      CommentAuthorMercury
    • CommentTimeAug 27th 2010 edited
     
    LiQuidShade:I was curious Mercury, how are you getting on with your engine? I know you've been involved in porting it to that impressive 3D game that was shown off a while ago. Any news, or target dates to have things ready by? No pressure, just wondering :)

    Porting it to Unity is going well, and I've also gotten back into the swing of regularly making progress on the original GM version, now that the creator of Sonic: Time Twisted wants to use it as well.

    In fact, yesterday my work on it included making a "zone import" feature based on Sonic Extractor, so that you can open Mega Drive Sonic zones in my engine. =)

    As a user of Sonic Extractor, you may have noticed that the programme slows down when you scroll around and there's a lot of tiles on the screen. This is because there's not enough memory to create all the tiles in the zone at once (it'd be tens of thousands of tiles!), so they create and destroy on the fly. Unfortunately, this means that scrolling through the zone runs at about 15fps - acceptable for an editor like Sonic Extractor, but impossible to put up with as far as a game goes.

    So I had to rewrite the zone importing code heavily, to strike an acceptable balance between memory and CPU consumption. I can now scroll through huge levels like Sandopolis or Marble Garden at a smooth 60fps!

    tl;dr: It's going well, there should be something public (a demo at least) before the end of the year. It's actually far enough along I could do it sooner, but there's a tonne of features I want to include for the sake of being really impressive. =P
  8.  
    Fantastic! Can't wait to see it! Not that I'll be starting my own levels soon, I've too much Zone: 0 work to get through first before I can devote much free time towards them, but I was considering Unity recently, I've heard good things about it. GM is great, but it's nice to know that your engine will be applicable to other more portable formats as well! Sooner or later, I will definitely fulfill my life long dreams and get cracking on my own levels though, most of which are already heavily scultped out in my mind's eye, and your engine will be perfect for them :)
    •  
      CommentAuthorMercury
    • CommentTimeAug 29th 2010
     
    LiQuidShade:...but I was considering Unity recently, I've heard good things about it. GM is great, but it's nice to know that your engine will be applicable to other more portable formats as well!

    I should have learned from Doc Brown that meddling with the future can oft go awry, but I'm gonna do it anyway: I'm going to recommend that you don't go with Unity.

    It has a number of advantages, but from my experience it isn't pleasant to work with at all. It's also not set up for 2D games, meaning unless you wanted you game to be 3D or 2.5D (which, I have to say, I was not picturing when you mentioned your future game - perhaps because the only Sonics on display here so far are the classics and I just assumed) you'd have to go through a lot of headache.

    Maybe it's just me, but what I find with Unity is that, for every complex task they make easy, they take one task that used to be easy and overcomplicate it. Working with it, I've come to realise why modern Sonic games like Sonic 4 (and modern games in general) are so lacking in heart and imagination - it's the development tools. Working in these environments practically sucks out your soul. It's surprising there's any creativity left at all, and when a project (like the Unity Sonic I'm fortunate enough to be working on) comes along that does have that creative spark, it's a treat.

    Because of this, I've been putting all of my effort into getting the Unity engine I'm making to work for the game it's intended for. It doesn't have all the user friendly features of my GM one, and I doubt I'll ever have the time to polish it to the point at which it could be made public.

    Obviously, it's your choice in the end, but I felt I should opine on Unity.
  9.  
    I see! That's helpful to know. In that case I probably won't go with Unity then. I had always envisioned my levels would be fully 2D anyway, although since Unity has popped up I was wondering if I could do a Sonic 4, and have largely flat 2D graphics with 3D characters, backgrounds and effects. It's understandable though that this would bring with it major new headaches, so you're probably right, it wouldn't be worth the effort. My levels will be standalone anyway, so there's no continuity reason why I shouldn't switch to Unity or anything else that may crop up for later levels, if I choose to take on the challenge after I've got a few GM ones under my belt.

    Other than the opportunity for added effects, which is only a luxury, the only real reason I was thinking about Unity over GM is a cross-platform one. I'm a Mac user for a start and although I have plenty of PC access too, I would also have liked to be able to use either. I've also heard that GM can be picky on what particular systems it does and does not work. I'm sure it'll be fine for most players but I'd be interested to hear your take on this issue. For you, does GM's benefits outweight these kinds of restrictions? Or is what I've heard incorrect anyway? Regardless, GM will be perfectly fine for me I'm sure, but I did wonder if you had plans to port your engine to other platforms after the GM and Unity versions? I'm sure if it gets picked up by a lot of fan gamers (which it seems to be!) then there may be more demand for C++ versions and soforth.
    •  
      CommentAuthorMercury
    • CommentTimeAug 30th 2010
     
    LiQuidShade:Other than the opportunity for added effects, which is only a luxury, the only real reason I was thinking about Unity over GM is a cross-platform one. I'm a Mac user for a start and although I have plenty of PC access too, I would also have liked to be able to use either. I've also heard that GM can be picky on what particular systems it does and does not work. I'm sure it'll be fine for most players but I'd be interested to hear your take on this issue. For you, does GM's benefits outweight these kinds of restrictions? Or is what I've heard incorrect anyway?

    There is a version of GM for Mac, now, but it doesn't look very up-to-date or complete. I'm hoping it will continue to improve, though.

    I don't use a Mac, myself, so this restriction has never bothered me personally. As for the "picky about systems" thing, no one I've ever sent a GM project has ever complained about not being able to run it. (That's anecdotal at best, though - there's still probably a lot of truth to the claim about GM's being finicky.)

    GM's benefits outweight all of its drawbacks for me because I've never encountered anything else that has every feature I need. They're all lacking one essential thing or another. Now, I could start from scratch in C++ or whatever and features wouldn't be an issue, but I do want to get around to actually making a game in my engine rather than being stuck on the engine forever. Though I probably could happily start over in C++, I'd be afraid that I'd lose months to years of development while I had to write libraries (or find compatible ones) for things that GM does out-of-the-box.

    LiQuidShade:
    Regardless, GM will be perfectly fine for me I'm sure, but I did wonder if you had plans to port your engine to other platforms after the GM and Unity versions? I'm sure if it gets picked up by a lot of fan gamers (which it seems to be!) then there may be more demand for C++ versions and soforth.

    Like I said, I want to get to making a game out of the engine ASAP, but I may try to find someone else who can port my engine to other platforms. It depends on if anybody wil be interested.