EeveeEuphoria
a possum irl
Heyo! As the title suggests, I'm recreating the special stages from Sonic Mania?
Why? Because I said so.
I've gotten a lot of help from the SRB2 discord, but I feel like I have too many questions to ask for the discord to handle in order to continue progress on this script.
Here's a breakdown of what I've done so far:
So as you can see, a lot has been done. However, there is a lot more to go before this is even something you could even call a special stage.
So, my current goals are:
I'll admit, some of this stuff is gonna go way over my head, but I've laid down a nice groundwork, and although I want to continue on this, I would not object to handing this over to someone else who is vastly more competent at lua than I am. I only really just got started with lua at the very end of last year, with the release of MMT. I don't really count my past ventures in Roblox/G-Mod since the scripts I made didn't really do much.
The PK3 with everything I've made so far is in the attachments, and a very basic test map is provided, which is what I've been using for these tests. It has a UFO, a floating ring box, blue spheres (enough to get to mach 3, the script is currently very low on the requirements), and the track objects to make the UFO work. Also, the UFO has a very bad placeholder sprite, but hey you can just about make out what it's supposed to look like. Oh, and the broken code for handling the player's direction relative to the track is present, so you'll get an error. Just comment it out using --[[ fancy stuff.
Why? Because I said so.
I've gotten a lot of help from the SRB2 discord, but I feel like I have too many questions to ask for the discord to handle in order to continue progress on this script.
Here's a breakdown of what I've done so far:
- Made UFO object
- Given the UFO a track object to follow, in which each track object has an assigned angle (0, 1, 2...), and is the order the UFO must follow. When it has reached the last one, it automatically resets the value to 0, and goes to the 0th track position.
- Implemented very basic "Mach Speed" system, where the player's max speed is cut down until reaching mach 2, and mach 3.
- Removed the HUD, to later implement a new HUD.
- Semi-implemented the ring-based timer system, doesn't kill the player atm since I don't know how to actually do that I guess.
- Made it so the player is always running no matter what (thanks PreThinkFrame!)
- Partially implemented the floating ring box, via a very hacky method (involves assigning the player a variable so the playerthink takes care of the adding rings portion, it adds 1 ring every few tics like in Mania), but hey it works.
- Partially implemented a system to determine if the player is facing forwards or backwards in the track...it's currently broken, and I don't know why since the code was given to me by someone else.
So as you can see, a lot has been done. However, there is a lot more to go before this is even something you could even call a special stage.
So, my current goals are:
- The direction of the player needs to be able to be determined, so that the UFO can go in reverse. The current system in place errors out, and I don't know why.
- The blue spheres should bob up and down, like in Mania. Not sure how it's done, since they're all out of sync, I think it's cuz Mania loads them in like in a low draw distance kind of way, ergo they start bobbing the moment they're able to load in, and that's how they're out of sync.
- Limit the player's ability to change angles, from what I remember the special stages gave the players tank controls, until the player is airborne, in which they are given more control of their movement.
- Put the player in an exit state when near the UFO, in which they play out the animation in Mania (they curl up, smash right into the ufo?, and zoom up as they leave the stage)
- Give the UFO sprites, in which it can utilize skincolors to color the chaos emerald it carries around. Not a sprite artist, so I'll have to rely on someone else to do this. Would say I'd pay, but can't do it here, that'd break the rules, understandably so.
- Maybe try to aim for how the falling off stage mechanic works, as it stands it's not entirely necessary because falling into a death plane does work, but would add to the Niceness of this mod.
I'll admit, some of this stuff is gonna go way over my head, but I've laid down a nice groundwork, and although I want to continue on this, I would not object to handing this over to someone else who is vastly more competent at lua than I am. I only really just got started with lua at the very end of last year, with the release of MMT. I don't really count my past ventures in Roblox/G-Mod since the scripts I made didn't really do much.
The PK3 with everything I've made so far is in the attachments, and a very basic test map is provided, which is what I've been using for these tests. It has a UFO, a floating ring box, blue spheres (enough to get to mach 3, the script is currently very low on the requirements), and the track objects to make the UFO work. Also, the UFO has a very bad placeholder sprite, but hey you can just about make out what it's supposed to look like. Oh, and the broken code for handling the player's direction relative to the track is present, so you'll get an error. Just comment it out using --[[ fancy stuff.
Attachments
Last edited: