don't click here

Sonic Worlds Next (for Godot)

Discussion in 'Fangaming Discussion' started by Techokami, Sep 7, 2022.

  1. Techokami

    Techokami

    For use only on NTSC Genesis systems Researcher
    1,363
    63
    28
    HoleNet!
    Sonic Worlds Next
    [​IMG]
    Good lord, where do I even start...
    [​IMG]
    Sonic Worlds Next is the official successor to Sonic Worlds Delta. It was developed for Godot, a FOSS game engine that runs on multiple platforms and has been notably used to create games like Cruelty Squad and Sonic Colors Ultimate. This aims to be a game development kit that allows people to create 2D Sonic fangames as accurately to the Genesis/Mega Drive originals as possible. It is being released under the MIT License.

    The current release is V1.0.1 and is considered to be in a preview state. Feature parity with Sonic Worlds Delta has not yet been achieved. However, you can monitor our progress and get unstable development source from our GitHub repository. In the meantime, you can download the preview build and source code from our SAGE booth at SFGHQ.

    Despite not being at feature parity, we've managed to get some key features implemented that were high priority for Delta. Most notably...
    [​IMG] [​IMG]
    Player 2 Tails! Complete with AI based on the Sonic 2/3K disassemblies. A second player can even take control, and the AI will kick in if your partner stops playing.

    [​IMG] [​IMG]
    We also have a good amount of basic gimmicks implemented, including a new warp tube gimmick for your Chemical Plant needs.

    All of this was possible thanks to our new programming lead, Sharb! She is the driving force behind Worlds Next and deserves so much credit for her hard work making this a reality.

    So why did this take so long???
    Right... back on Christmas day of 2015, I released Sonic Worlds Delta 1.5, proclaiming it to be the last major release of Delta, with the successor being called Sonic Worlds Fusion. This is because while reworking the engine to be more accurate, we kept hitting snags that were the result of technical debt with the deep internals... stuff that was inherent with Damizean's original programming, back in the days when accuracy wasn't the gold standard. We got it to be as good as it could get, but to get any closer we would need to start over with a full rewrite. This was also compounded with the more advanced mechanisms created by LarkSS being too difficult for users to understand (leading to forks like Simple Sonic Worlds), and that Fusion 2/2.5's structure led to fangames being needlessly bloated and hard to manage (because you're replicating the entire engine in each stage), so better tooling was also needed. My original goal was to do the rewrite in Clickteam Fusion 3, which would have solved all the problems in one fell swoop; most notably the inheritance system would have removed all the bloat, made games easier to manage, and allow for creating things like proper 2P co-op more cleanly. I had everything planned out, all I needed was Fusion 3.

    It is now 2022. Fusion 3 is still vaporware. Clickteam realised that they were going to Osbourne themselves and shut down the Fusion 3 dev blog. In an effort to build up needed funds, they started offering their own console porting services as well as Clickteam Fusion 2.5+, a DLC add-on for Fusion 2.5 that implements some of Fusion 3's functionality. Last year in April, I went "screw it, no more waiting" and started working on Sonic Worlds Fusion in 2.5+. But before I could really get anything going, I took a cursory glance at SFGHQ's forums, and noticed a major issue. It seems that people don't like the concept of purchasing software, and were complaining about any engines made requiring 2.5+. This gave me flashbacks to Delta's development, where people were complaining about the engine requiring the latest version of MMF2, because they were stuck on an older version... that was pirated. And they lashed out at me over it. It was only when they did the EOL sale of MMF2 before releasing Fusion 2.5 that I was able to flood these people with legitimate copies of Fusion that the complaints stopped. But now with new features once again requiring a purchase, we're back to square one.

    I didn't want to go through that again. I deleted the MFA for Sonic Worlds Fusion and started exploring available game engines, with a focus on freeware and/or FOSS offerings. And I was pleased to find that there were a lot of options now! Of all the ones I tried out, the two best options were GDevelop and Godot. Arrietty, the creator of Prototype N and one of the Worlds Delta team members, mentioned that her friend Sharb was working on an experimental Sonic engine for Godot. So I reached out to Sharb, and her experimental engine became the basis for Sonic Worlds Next. With the help of other team members - Ikey, Amy Wright, Vadapega, and RandomName - and the improved Sonic Physics Guide by Lapper, we've got something worthy of the title of successor to Worlds Delta.

    Please give feedback!
     
    Last edited: Nov 25, 2022
  2. RetroRespecter

    RetroRespecter

    Member
    39
    2
    8
    I sincerely hope that good games are made with this, because this looks amazing!
     
  3. Lilly

    Lilly

    Member
    2,329
    129
    43
    United States
    Shang Mu Architect
    After Game Maker Studio 2 went down the subscription model route, I am exploring Godot on the side of finishing my project at present. While I do have a perpetual license, and find the subscription's cost to be peanuts, the anxiety of it possibly going up in price, if I'm ever forced to "upgrade", would hold my projects hostage.

    I'm apparently not alone in this. Many GM developers are jumping ship to Godot right now, so World's Next's release isn't just a boon for people looking for an alternative to ClickTeam; Next couldn't be more timely for the fan game scene as a whole. We're all so exhausted with the cyclical baton pass of YoYoGames from one publisher to another, each with interests at conflict with the end user. This was the last straw for most of us.

    Godot is all new and scary to me, but I am surprised how much it has changed for the better over the years, and how much of my 20 odd years of experience with Game Maker is carrying over to it. The end-user experience is so good now! However, I wouldn't know where to begin with making the Sonic-like collision system I would need for my next project, so I was keeping up with Sharb's progress leading up to its SAGE release! (She is amazing, I can't wait to see what she does after Sonic Worlds Next!)

    Pouring over the SAGE source package and its code made me genuinely emotional. Worlds Next plays and performs well, and everything inside it is so cleanly put together; Sharb did a wonderful job! I had this spark of joy inside me that I hadn't felt since I first tried Damizean's Sonic 360 example for Game Maker 6, all those years ago.

    I can't wait to finish Shang Mu Architect, so I can start work on my next project with Worlds Next. Thank you all for making this possible! I'm so hopeful how much better the fan game scene will be, for frameworks like this existing for Godot. Y'all are community treasures, you really are :)

    Ah, yes. Access to paid software has always been a questionable prospect to young teens, but Game Maker/ClickTeam Fusion have unfortunately become more fiscally out-of-reach than they ever have, even for college kids. I believe your move to a viable, fully FOSS "engine" is absolutely for the best, for the next generation of fan game makers and programmers.

    If anyone wants to make a Sonic fan game now, they don't have to nag their parents to buy a $120 product for them, or pirate it off of fishy websites; Godot and Worlds Next is right over here. (Alongside similar frameworks for Unity, iirc!)

    As for feedback, I would be more than happy to once I've had a better look at it. But from what I have already seen- this is a great leap forwards for Worlds. The collisions and movement feel so close to 1:1 with the classics especially; I don't remember Worlds for Fusion feeling this close? The weight of gravity and acceleration/deceleration is especially as I would expect it from playing Sonic 3.
     
  4. Techokami

    Techokami

    For use only on NTSC Genesis systems Researcher
    1,363
    63
    28
    HoleNet!
    Sonic Worlds Next
    The files on the SAGE booth have been updated FYI; there was a bug fixed where jumping into a projectile would make it reflect (even if you didn't have a shield!), as well as a fix for a minor walking acceleration inaccuracy (for a few frames while walking from a standstill it was improperly calculated).
     
    • Informative Informative x 1
    • List
  5. The Game Collector

    The Game Collector

    Member
    924
    14
    18
    Washington State, USA
    Being Ted Narcotic's bass player; working on Kelly Kristjanson's tape archive; collecting video games
    Just curious, in games made with this engine and its predecessors is it possible to change the sprites of Sonic, Tails and Knuckles into other existing Sonic characters or even original characters you could draw yourself? Or even just edit the art style of the existing Sonic, Tails and Knuckles sprites?
     
  6. Candescence

    Candescence

    Member
    1,999
    9
    18
    Sydney, Australia
    3D Indie Stuff
    Holy crap, this is exactly what I've been looking for! After Unity going down a more questionable path, Unreal not really being suited for 2D (even with plugins like PaperZD) and Game Maker going down the subscription route as well, I've been wanting a solid Sonic-style framework for Godot in particular. And just in time for Godot 4's beta, too! I can't wait to take a proper look-over it later.

    (You guys might wanna make sure this works fine in Godot 4, btw, I think there's some notable breaking changes in the tilemap system, albeit to enable significant improvements.)
     
  7. Techokami

    Techokami

    For use only on NTSC Genesis systems Researcher
    1,363
    63
    28
    HoleNet!
    Sonic Worlds Next
    Uh, yes? I mean, the original Freedom Planet was created with an older version of Delta...

    Thanks! Yeah, Unity's 2D stuff is basically a hack atop the 3D engine, whereas Godot provides an actual native 2D engine alongside a native 3D engine, so there's no weirdness or bloat when making a 2D game. Never looked at Unreal since it's also mainly a 3D engine. One of the engines I looked at was Defold, which was... okay? But the IDE kept crashing on me while trying out one of the tutorials, and then I found that it is funded by King... with the money they get from their P2W crimes... so that they can use the engine to make more Candy Crush nonsense. Yikes.

    We are very, very aware of this! We have been tracking Godot 4's development and initially were creating this in an alpha version, before backporting it to the current stable release. Once things get to release candidate stage with Godot 4 we'll probably port things back over to it, if not sooner. We'll see.
     
    • Informative Informative x 2
    • List
  8. Candescence

    Candescence

    Member
    1,999
    9
    18
    Sydney, Australia
    3D Indie Stuff
    Yeah, not a lot of great options. Granted, there are cases where 2D in a 3D engine can be useful (2D with 3D backgrounds, which can look really good, see the Trine games), though apparently you can still easily do this in Godot.

    Unreal's 2D features are... Well, sorely neglected by Epic, meaning you basically need third-party plugins such as PaperZD at the minimum to have an alright user experience working in 2D. PaperZD is free, but other plugins like Pixel 2D are... Not. Also, it's another 3D engine with 2D stuff on top. I'm personally tinkering with a 2.5D Doom-style shooter in Unreal, which PaperZD actually makes really easy to do, but that's a whole other kettle of fish!


    But for the most part it seems this engine's features are pretty much what I need for a project of my own, though the main things I'd have to modify right off the bat would be adding a more traditional health system and modifying the damage physics.

    Edit: Granted, there's definitely gonna need to be some proper documentation and tutorials when this thing gets a full release since there's some things that the framework does that isn't typically done in Godot, I think - I'm already having trouble figuring out how to work the camera dimensions beyond the window size.

    Edit 2: Also, there really needs to be a way to easily scale the physics and collisions for folks who want to use a bigger viewport size and sprites. I obviously can't just multiply the physics values and expect the right results, and larger hitboxes seem to come with weird snapping issues.
     
    Last edited: Sep 21, 2022
  9. Azu

    Azu

    I must be stupid. Member
    Might be time to learn a language.
     
  10. Candescence

    Candescence

    Member
    1,999
    9
    18
    Sydney, Australia
    3D Indie Stuff
    • Informative Informative x 2
    • List
  11. Techokami

    Techokami

    For use only on NTSC Genesis systems Researcher
    1,363
    63
    28
    HoleNet!
    Sonic Worlds Next
    Yeah, the fact that GDScript is basically Python with the serial numbers filed off was one of the key reasons why we went with using it rather than the C# version of Godot. (The other being that the C# version wasn't as mature when we started)
     
  12. Candescence

    Candescence

    Member
    1,999
    9
    18
    Sydney, Australia
    3D Indie Stuff
    And GDScript isn't that slow, either, the engine and the actual in-built functions have a solid C++ backing and it's more than fast enough for most 2D games, with Godot 4 having significant improvements to GDScript as well.

    Also, speaking of Godot 4, I'm noticing more than a few addons were moving over to it even before the beta. It still apparently has a few bugs here and there, though, but it's otherwise fairly usable.
     
  13. Turbohog

    Turbohog

    Member
    859
    93
    28
    I am way too busy these days to really be active in the fan-gaming scene, but I just wanted to say this looks like a great project! I was a big fan of Sonic Worlds back in the day and using an open-source engine like Godot is definitely the best path forward in my opinion.
     
  14. Rastar

    Rastar

    Member
    5
    0
    1
    NM
    Any word on what's going on with the project? I looked around for a community site and discord server without much luck. Also was wondering if this was going to be on github or something?
     
  15. MoonRunestar

    MoonRunestar

    Collects the circles; runs in circles Member
    They do have the source code linked on the release page at least. It may be best to ask on there directly about it.
     
  16. Rastar

    Rastar

    Member
    5
    0
    1
    NM
    I actually did and am putting my feelers out. But I figured I would check in this thread too. I'm going to wait and seee about this. But haven't heard much.
     
  17. Rastar

    Rastar

    Member
    5
    0
    1
    NM
    A quick update. Talked with Sharb and it sounds like the next public release will be on github. I also finished getting Cream setup in the engine. No cheese yet but you can see what I did here:
     
  18. Rastar

    Rastar

    Member
    5
    0
    1
    NM
    Wow very quiet here. I hate posting so much with no news but I do have an Update. Sharb said it should be an MIT base project. With that I have made my Gitlab instance public for people who have an interest. You can check it out at: https://gitlab.com/ryanhedge1/sonic-worlds-next
     
  19. RetroRespecter

    RetroRespecter

    Member
    39
    2
    8
    Impressive. Let's check it out. How far along is this? I know I can't be the only one active in this. Unfortunately, I don't have an account(nor an interest to create one).
     
  20. Candescence

    Candescence

    Member
    1,999
    9
    18
    Sydney, Australia
    3D Indie Stuff
    It's completely inaccessible even with an account.