• Do not use Works in Progress as a way of avoiding the releases system! Works in Progress can be used for sharing early betas and for getting suggestions for improvement. Releases of finished content are not allowed in this forum! If you would like to submit a finished addon, click here for instructions on how to do so.

SMBZ Metallix Concept

Status
Not open for further replies.

JayCee

Member
I've been meaning to mess around with LUA in order to get myself back into programming and I figured a fun way to do it would be to work on a concept I wrote to myself back in August. After re-watching SMBZ and watching the Episode 1 Reboot with my friends, I thought it'd be cool if somebody made a mock Metallix (Mecha Sonic) for SRB2.

Here's the moveset I've given him:
  • Passive - Overdrive, just like Metal.
  • Jump - No curl on jumps. This is for balancing with his jump+spin, hover, and custom abilities.
  • Jump+Jump - Hovering, same as Metal.
  • Jump+Spin - "Rage Overcharge", as I've dubbed it. Metallix charges up while in the air, holding himself in place. At maximum charge, he rushes forward in overdrive with his fist forward, shouting "I'LL CRUSH YOU!". Moves as fast as he would with speed shoes. When he hits an unbreakable wall, he bounces off of it and has to recover.
  • Spin - Normal spin dash.
  • Custom 1 - "Razor Dash", as I've dubbed it. It's essentially a badnik-based version of the SA1 light speed dash. By holding down Custom 1, Metallix can slowly gather energy, and once fully charged he begins to flicker. In SA1, you'd be stuck in place to spin, but you can still move (but not enter overdrive) while charging this ability. So, if you were in overdrive and you started to charge Razor Dash, you'd be forced out of it. Once you let go, Metallix will vanish from sight and flash between all badniks in a short radius, destroying them and re-appearing with a short recovery time. Like in SA1, this could do increased damage to bosses, but probably not by a lot.
  • Custom 2 - A simple "guard" ability. When hitting springs, jumping, or hovering via a fan, Metallix can protect himself from 1 hit, applying a soft shield that prevents knockback.

I've also come up with 2 separate super forms, if it's even possible.

Chaos Emeralds Required: 4-6: “Golden Metallix” (based on the yoshi island episode)
  • No super form stat increases
  • Transform while holding 30 rings
  • Instant cast for Razor Dash
  • Guard can be used two times
  • Rage Overcharge has decreased charge
  • Lose half rings when hit, deform when under 10 rings

7 Chaos Emeralds - Placeholder form of whatever his final form ends up being: "Hyper Metallix"
  • Transform while holding 50 rings
  • Super form stat increases
  • Instant cast for Razor Dash
  • Guard instead causes Metallix to burst forward, becoming an air dash.
  • Rage Overcharge instant cast, sets off a small nuke-shield burst every 3 seconds while he charges forward
  • Immune like regular Super Form

My goal was to create a character with a power fantasy, just like the regular Metallix. If you've seen Metallix VS The Axem Rangers and Metallix VS SMBZ, then you know he pretty much is just a DBZ character with a Sonic skin. I tried to find a way to make him feel as powerful as he does in the show while also working in platforming gameplay without making him too absurdly broken.

I'm going to try my best to mess with these concepts in SLADE, but I'm not all that experienced with making PK3s or even writing in Lua so it might take my dumb self a bit of time.

When I do get around to figuring most of things out, I'll show off gameplay using Metal Sonic as placeholder sprites.
...though, this might be a bit much for my first attempt at making a character, but hey, who doesn't like some ambition every once in a while?
 
If you need to figure out how pk3s work, you can make a little mini mod using assets already in SRB2. I was able to figure it out by copy pasting Sonic’s sprites into a new file and looked to the wiki for guidance on actually making the pk3.

I really like this idea you have for him and I hope it becomes one of the more popular mods on MB!
 
If you need to figure out how pk3s work, you can make a little mini mod using assets already in SRB2. I was able to figure it out by copy pasting Sonic’s sprites into a new file and looked to the wiki for guidance on actually making the pk3.

I really like this idea you have for him and I hope it becomes one of the more popular mods on MB!

Thanks for the advice, did what you said and already got everything set up. Character select works, sprites look fine, and already got the jump worked in.

Cheers!
 

Attachments

  • srb20001.gif
    srb20001.gif
    5.4 MB · Views: 666
I think the first major challenge for me is going to be custom abilities. Even something as simple as a guard looks like a ginormous task.

The first thing I need to do is study a bit more of LUA. I already poked around in a few character mod PK3s to try to get an understanding of how to make a custom ability and...
...well, I've got nothing.

The language doesn't seem too difficult though. I'll try to figure something out.
 
Alright, today I woke up and chose programming. Usually I choose procrastinating, but a change of pace is always nice.

So I've already made up the mock psuedocode in my head for how the Guard will work. Given that it's the easiest ability to work with and I don't have an entire understanding of SRB2's massive amount of variables, it's a good starting point.

When the Player presses the button, Custom 2, then Metallix will guard, applying an "invincibility" shield.

I think the trickiest part of this is that while applying the shield is as simple as a potential quick line of code, the knockback immunity...probably not so much.

Anyways, detailing my progress as I write, kind of like a journal so I can document my insanity as I realize how much I actually hate programming yet love it at the same time.

I'm using the guide found on the wiki here to get a feel for how to do this.

10:44 AM - First thing I'm having trouble with in this tutorial is spintapready and spintapping. Are these global variables that can't be changed? Are they variables I just made up myself? I haven't programmed since I was in highschool, which was almost a year ago, but holy hell am I already confused.

10:48 AM - Scrolling down further into the tutorial, I realized I'm just a big dummy who forgot basic programming. Whoops. Anyways, tried out the gravity flip script that was written and...didn't work. No errors in the log, though. Gonna try again.

11:00 AM - Realized that I didn't actually understand what the example was trying to do, so currently rewriting the script as a test to automatically give "Metallix" a pity shield.

11:09 AM - Oh jeez I realize how awful jumping into Lua is going to be, but I'm hoping things work. And if anything, I know there are tons of people on the forums and discord that can help with questions.

I've used some code on the wiki here in order to create a function that calls the copied code and gives Metallix the shield. If I can get this to work, then I effectively have my first functional Lua script, which is awesome.

11:10 AM - It loaded in with an error.

God dammit.

11:16 AM - Errors, errors, errors...

11:18 AM - I think I might be doing something horribly wrong.

11:23 AM - Yeah, I'm entirely lost.

11:30 AM - Surfed the discord for a second, found out what my issue was, and found out how I can simplify things.

11:33 AM - No matter what I do, I can't get the Lua to actually work. No errors pop up in the log after I tweak things, but then nothing happens.

11:38 AM - Alright, after an hour of bashing my head against the wall trying my damndest to not ask for help right off the bat, I'm just gonna take a breather from programming for a bit and try to look up some resources on this stuff. At least I was able to make the character select screen look a little snazzy, rename "Rage Overcharge", and come up with a concept of a "Rage Meter" that increases Metallix's base stats over time to build up to a state of "Boost Mode" instead of just having the base Metal Sonic boost mode.

In the meantime, I'll try again later.

If anyone wants to take a peak and bonk me on the head for being a silly goose baby programmer, here's the (shamelessly copy and pasted) code.

Code:
//Guard script for Metallix.
//First attempt at LUA Scripting. 1/11/2021.
//Majority of code taken from Wiki tutorial.

addHook("ThinkFrame", function()
	for player in players.iterate do
		if player.mo.skin ~= "metallix" then
			continue
		end
		
		if not (player.cmd.buttons & BT_CUSTOM2) then
			player.spintapready = true
			player.spintapping = false
		elseif player.spintapready then
			player.spintapping = true
			player.spintapready = false
		else
			player.spintapping = false
		end
		
		if player.canflip ~= 2 and player.jumping then
			player.canflip = 1
		end
		if P_IsObjectOnGround(player.mo) and (player.mo.eflags & MFE_ONGROUND) then
			player.canflip = 0
		end

		if player.spintapping and player.canflip == 1 then
			player.powers[pw_shield] = 1
			player.canflip = 2
		end
	end
end)

EDIT : The issue was I made the ol' programming blunder of copy and pasting and just thinking it would magically work.
Gonna have to take some time to study and fully understand what I'm doing.
 

Attachments

  • image_2021-01-11_114003.jpg
    image_2021-01-11_114003.jpg
    142.5 KB · Views: 888
Last edited:
Guard now works as a concept-- a pity shield is applied while holding Custom 2 while either in the air or hovering..

Still slightly buggy since the code recognizing holding jump as hovering, though I think it's not too big of an issue.
Only bug I've noticed is that you can't get any other shields, though I'm sure that will be rectified once I stop using the Pity Shield as the baseline.

To get Guard into its proper state, it'll take some more advanced delving.

Thanks to amperbee for the helpful advice on the discord.
 

Attachments

  • srb20003.gif
    srb20003.gif
    6.1 MB · Views: 612
If he’s getting entirely unique abilities, you should set both abilities to None so that they don’t bug like that
 
If he’s getting entirely unique abilities, you should set both abilities to None so that they don’t bug like that

Really? Should I take off CA_FLOAT from him and make my own unique hover, then?

That might be a little more painful, but I can understand what you mean by it causing less bugs. Though, if he is going to hover, then having it on Jump+Jump would be better for player convenience IMO over putting it on a different keybind, so I'm not entirely sure how that'll work.

It's just a minor bug, anyhow. I'll fix it when I get the chance
 
Really? Should I take off CA_FLOAT from him and make my own unique hover, then?

That might be a little more painful, but I can understand what you mean by it causing less bugs. Though, if he is going to hover, then having it on Jump+Jump would be better for player convenience IMO over putting it on a different keybind, so I'm not entirely sure how that'll work.

It's just a minor bug, anyhow. I'll fix it when I get the chance

If you’re not changing his jump ability and you’re sticking with the original hover, than you can leave it there. If you’re going to make your own type of hover or other jump ability, you should change it. I probably should’ve clarified that
 
Hey there, im here to ask how's the development going. In case good luck with the project because i know you can do it. Thank you for making a mod that brings back a part of my childhood. I just wanted to ask this. Take care man and know this, You're awesome
 
Given that, since this mod started development, a new episode of the reboot series came out showcasing Metallix in action for the first time since it began, maybe you could use that as reference for some aspects of the mod. I'm not saying like, go back to the drawing board and remake it to suit how he is shown in the reboot, but like, idk, maybe you can use it for references as to how a given sprite should look, or something.

...or you could add a compatibility with the Yoshi mod so that Metallix could grab his tongue and play paddle ball with the poor guy. If you were willing to put in that much work for something so small and unimportant, of course.
 
I've been meaning to mess around with LUA in order to get myself back into programming and I figured a fun way to do it would be to work on a concept I wrote to myself back in August. After re-watching SMBZ and watching the Episode 1 Reboot with my friends, I thought it'd be cool if somebody made a mock Metallix (Mecha Sonic) for SRB2.

Here's the moveset I've given him:
  • Passive - Overdrive, just like Metal.
  • Jump - No curl on jumps. This is for balancing with his jump+spin, hover, and custom abilities.
  • Jump+Jump - Hovering, same as Metal.
  • Jump+Spin - "Rage Overcharge", as I've dubbed it. Metallix charges up while in the air, holding himself in place. At maximum charge, he rushes forward in overdrive with his fist forward, shouting "I'LL CRUSH YOU!". Moves as fast as he would with speed shoes. When he hits an unbreakable wall, he bounces off of it and has to recover.
  • Spin - Normal spin dash.
  • Custom 1 - "Razor Dash", as I've dubbed it. It's essentially a badnik-based version of the SA1 light speed dash. By holding down Custom 1, Metallix can slowly gather energy, and once fully charged he begins to flicker. In SA1, you'd be stuck in place to spin, but you can still move (but not enter overdrive) while charging this ability. So, if you were in overdrive and you started to charge Razor Dash, you'd be forced out of it. Once you let go, Metallix will vanish from sight and flash between all badniks in a short radius, destroying them and re-appearing with a short recovery time. Like in SA1, this could do increased damage to bosses, but probably not by a lot.
  • Custom 2 - A simple "guard" ability. When hitting springs, jumping, or hovering via a fan, Metallix can protect himself from 1 hit, applying a soft shield that prevents knockback.

I've also come up with 2 separate super forms, if it's even possible.

Chaos Emeralds Required: 4-6: “Golden Metallix” (based on the yoshi island episode)
  • No super form stat increases
  • Transform while holding 30 rings
  • Instant cast for Razor Dash
  • Guard can be used two times
  • Rage Overcharge has decreased charge
  • Lose half rings when hit, deform when under 10 rings

7 Chaos Emeralds - Placeholder form of whatever his final form ends up being: "Hyper Metallix"
  • Transform while holding 50 rings
  • Super form stat increases
  • Instant cast for Razor Dash
  • Guard instead causes Metallix to burst forward, becoming an air dash.
  • Rage Overcharge instant cast, sets off a small nuke-shield burst every 3 seconds while he charges forward
  • Immune like regular Super Form

My goal was to create a character with a power fantasy, just like the regular Metallix. If you've seen Metallix VS The Axem Rangers and Metallix VS SMBZ, then you know he pretty much is just a DBZ character with a Sonic skin. I tried to find a way to make him feel as powerful as he does in the show while also working in platforming gameplay without making him too absurdly broken.

I'm going to try my best to mess with these concepts in SLADE, but I'm not all that experienced with making PK3s or even writing in Lua so it might take my dumb self a bit of time.

When I do get around to figuring most of things out, I'll show off gameplay using Metal Sonic as placeholder sprites.
...though, this might be a bit much for my first attempt at making a character, but hey, who doesn't like some ambition every once in a while?
how to download it
 
hey hey, how I liked the concept I made a concept sprite in case anyone is interested, it is unprofessional but hopefully it serves a purpose, this sprite is a combination of various arts that I found on the internet

finales.png
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top