The ZSmash Engine (Extremely low requirements, for Android too!)

Which mod would you prefer to be ported to this engine?


  • Total voters
    3

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
261
Location
Venezuela
#1
After seeing that all major Smash clones lacked certain things (Compatibility with low-spec computers, easy modification, modularity, 8-player support, multi-platform support and overall flexibility)
I decided to start my own, using the open-source Doom port, ZDoom (And it's successor, GZDoom) the plans are to make an extremely modular engine where all characters and stages are simply plug-and-play with zero configuration needed (besides controls of course)

While originally i was planning to make the starter roster an exact copy of the Smash 2 roster, i have instead decided to have those same characters but with different movesets and sprite-based graphics. Just because i would prefer to have all computers to be able to run the base roster. I may make the Smash 2 roster as an addon later.

The Smash 2 roster is the Melee roster with Wario, King Dedede, Snake and Sonic added.

The minimum requirements are more or less confirmed:
-Pentium 166MHz or better (Rendering interploration NEEDS to be disabled)
or
-Pentium 2 233MHz (Rendering interploration should be okay)

-Any Graphics Card with DirectDraw support (OpenGL 1.2 if 3D models and lightning are to be used)

-64MB of RAM for W98, 256MB for XP, and 1GB for Vista or better (Swap file recommended, MIDI music is to be used if RAM is lower)

-A monitor capable of at least 320x240 16-bit (640x480 is recommended for crisp gameplay)

-Windows 98 or better

-A keyboard or a Gamepad for the best experience

-A internet connection of 56kbps for playing in the same state (maybe country too), 128kbps recommended for everywhere else

All of this should make the game run at 35fps with interploration disabled, it's unlikely it will run nice with interploration enabled.

To actually run the game at 60fps and up with interploration, i recommend using a Pentium 3 900MHz paired with a DirectX 6 graphics card

For those guys with terrible computers:
XWE (eXtendable Wad Editor) (Pretty crude, there might be a better option) Packing mods into .wad or .pk3 files
MS-Paint (Yes, seriously) Texture/Sprite making/editing
Audacity (Optional) All audio editing
Notepad (Optional, because XWE already has it's very own DECORATE editor!) For editing DECORATE scripts
Milkshape 3D or Misfit Model 3D Stage/Character Model making/editing
Doom Builder 1 Stage Creation

For people with fairly modern hardware (If you can run Windows 7 you can run these)
SLADE 3 The swiss army knife of the Doom community, able to edit graphics, DECORATE scripts, .wad 'n .pk3 files
GIMP Texture/Sprite making/editing
GZDoom Builder Almost everything related to stage making, including the ability to preview 3D models!
Any model editor of your choice (The model format needed is either MD2 or MD3, find anything that can export to these)
Any sound editor of your choice (Supports .wav, .ogg and .mp3 sound formats)

The engine i have decided on is ZDoom Legacy Edition, due to it having extremely low requirements.
Confirmed platforms are: Windows, x86 and PowerPC Macs, Linux (some distributions may require building from source) and Android if someone with experience offers to do it (mostly just a new launcher and more Smash-fitting touchscreen controls as everything else is done) and possibly Wii. (and by extension Wii U)
This is pretty much the only Smash engine besides Project TUSSLE to run on anything else that's not Windows.

An additional engine (GZDoom 3.6) will also be provided for optional goodies like custom shaders and per-pixel lights, but they AREN'T netplay-compatible between each other and GZDoom 3.6 requires OpenGL 2.0.

On a Celeron 1.5GHz laptop, the battery lasts 4 hours and 30 minutes with the game running, neat, isn't it?

I'm also looking for animators, because i don't yet know if it's possible to export from Brawlbox to MD3 with animations and everything else.

If anyone wants to be a playtester, PM me. It would be nice if you tested it with a friend too, so i can know when something breaks in netplay.
 
Last edited:

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
261
Location
Venezuela
#2
itty bitty microscopical bump

So, now that i have started work, i'm going to need some people to help with this, a spriter is someone i will need now, along with playtesters.

EDIT: Silly me forgot to read the stickied thread, sorry will upload pics later this week
 
Last edited:

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
261
Location
Venezuela
#4
So, does anyone have a complete spritesheet for the Super Smash Flash 2 characters? I'm going to put the 3D models on hold so i can focus on actually getting everything to work.

Also here's a bit of info you guys will love: There's no limit to the actions your character can do, as long as you have the sprites and state definitions you can make your character have stuff like 5 different final smashes, or an extra attack button with heavier attacks and even 20 taunts! Of course this is limited by the amount of keys on your keyboard/gamepad, but as long as you have an extra pair you should never run out of buttons :rotfl:

I have updated the minimum specs now that i got more accurate information. Should run great in a Pentium 2 233MHz, a Pentium 1 166MHz should work good too on stages with no 3D floors.
This is currently the only Smash game to be able to run in such abysmal specifications, quite the achivement, right?
 
Last edited:

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
261
Location
Venezuela
#6
Quick question: Any newcomers you thinking on adding into the project?
The first post contains info about this: "The starter roster will be all of the Smash 2 cast, same models, same movesets, same everything!" "The Smash 2 roster is the Melee roster with Wario, King Dedede, Snake and Sonic added."

In the end it's likely i will add newcomers, but not before finishing the Smash 2 roster.
 

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
261
Location
Venezuela
#8
I don't think you're allowed to use ssf2's sprites
They are just presentable placeholders, which will definitely be replaced with Smash 2's models.

Also i may ask McCleodGaming to see if they allow use of them as long as credit is given, otherwise people with a GPU that doesn't support OpenGL 1.2 won't be able to run the game.
 

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
261
Location
Venezuela
#9
Just to clarify, i haven't stopped development.
I'm just brainstorming as many methods of accomplishing certain mechanics as possible and experiment with them to see which is the best.

For an example: I have invented two ways of doing hitboxes, one involves using A_RadiusGive to give a CustomInventory item that thrusts, damages and/or sets properties as needed. This mimics real Smash Bros' hitboxes, and can even be set to be square or circular.
The other one, involves using A_FireBullets along with a bulletpuff actor that would shoot short ranged bullets and make the bulletpuff actor land on a character, setting as many things as needed. This has only one advantage over the other method: It's a bit more customizable in what you can do, and can be shaped however you want.

That probably wasn't a very good example but it was the only one that didn't require me to explain too much. Anyways, a demo with Mario as a playable character will probably come out in a month or so (unless i haven't solved the hitbox issue)

I will also write documentation on how to write your very own custom character! It's incredibly easy once you get the basics down.

EDIT: Can't believe i forgot this neat detail: Stages are in 3D regardless of renderer, even with no OpenGL you still get nice 3D stages, althrough characters are sprites without the GL renderer.

Also, the engine will NOT be 100% accurate to any of the Smash Bros. games, the reason is because there are some things that would need either ZScript or a bit of source code editing, but i seriously would rather keep it on vanilla ZDoom LE so as to not skew the low requirements nor fill it with any spaghetti C# code
 
Last edited:

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
261
Location
Venezuela
#10
So, i felt like i needed to say this: Only P1 and P2 can use a joystick axis, because there's only 5 axis free, i can use them all, but then it means that one direction on the joystick won't have analog precision for P3. Fortunately, this won't affect online play, because each player has it's own set of axis, while in offline mode i'm using one player as the router for inputs (no i can't spawn another one)

If worst comes to worst, i will have to cobble a quick implementation of it in ZDoom LE and lock down ZSmash to that engine and completely break compatibility with newer GZDoom versions. Unfortunately this is very likely and there's barely any other options.
(If i can submit the code and it gets accepted for the next GZDoom version then hopefully this won't be a problem)
 

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
261
Location
Venezuela
#11
Small update: No, this isn't dead, it has been pushed to the side while i take on bigger projects.

However, not only will this be a straight Super Smash Bros. 2 clone, but i will also use the base engine for a commercial platform fighter, with many characters and being the first to support 16 players combining local multi + online multi simultaneously (which is probably super stupid and useless but hey, it's fun!) and also featuring very extensive mod support, maybe even integrating it with the Steam Workshop.

I also changed engine to GLOOME for the commercial platform figher, so as to support OpenGL 1.4, at the expense of the software (CPU-only) renderer.
 
Last edited:

Russell_SSB

Smash Journeyman
Joined
Sep 28, 2014
Messages
485
Location
Fennville, Michigan
3DS FC
0662-7159-3567
NNID
MrRussellgro
Switch FC
SW-3345-3263-9133
#12
Small update: No, this isn't dead, it has been pushed to the side while i take on bigger projects.

However, not only will this be a straight Super Smash Bros. 2 clone, but i will also use the base engine for a commercial platform fighter, with many characters and being the first to support 16 players combining local multi + online multi simultaneously (which is probably super stupid and useless but hey, it's fun!) and also featuring very extensive mod support, maybe even integrating it with the Steam Workshop.

I also changed engine to GLOOME for the commercial platform figher, so as to support OpenGL 1.4, at the expense of the software (CPU-only) renderer.
Okay, this new feature is gonna be awesome to see for Steam! Is this gonna be a Free-To-Play game since it will have mods? Plus, will this be known for players to have tournaments for this depending on how it will be played with or without mods?
 

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
261
Location
Venezuela
#13
Okay, this new feature is gonna be awesome to see for Steam! Is this gonna be a Free-To-Play game since it will have mods? Plus, will this be known for players to have tournaments for this depending on how it will be played with or without mods?
Price will probably be 5$ with many discounts (almost always bringing the price down to 2$ or even 1$) and mod support will be absolutely free, same with all game functionality and content. You pay once for the game, and you get all of it. No DLC or anything like that.

Obviously if you don't want to pay for a platform fighter like it you can get the Smash 2 port, which will be updated closely with the other. It should also be compatible mod-wise with the other game, hopefully no big compatibility problems arise from using different engine versions.

I'm also working on a competitive throwback first person shooter, as a love letter to games like Doom, Quake, TimeSplitters and all the classic bunch. Just because i really like competitive games!

EDIT: But, keep in mind that all of this is handled by 2 guys and it's going to take a while, so don't get impatient if there aren't any updates on this thread.
 
Last edited:

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
261
Location
Venezuela
#14
https://www.reddit.com/r/OpenSmashVHG
Here's a subreddit for discussion of the ZSmash engine and the commercial base game, OpenSmash. Questions for that game go there, as well as news posted by us.

All stuff about the Smash 2 port goes here, so please try not to post anything related to it in there.
 

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
261
Location
Venezuela
#15
Added a poll. This may be a little tough decision, so i'll explain.

The mod that gets the most votes is the one i will port to the ZSmash engine, the options are two:
1- Super Smash Bros. 2: Melee clone with 4 new characters and a few new stages, pretty neat.
--Will focus on keeping it very accurate to the original mod, no balance patches or anything that really affects gameplay

2- Ultimate Brawl: A mix of Melee, Brawl and Sm4sh, with 5 new characters and 4 new stages, more to be added.
--Can be toggled between a more Melee-competitively oriented mode, or a more casual bit of Melee+Brawl+Sm4sh mode

The choice is up to you all!
 

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
261
Location
Venezuela
#16
Of the 3 people who voted, we got Smash 2 as the one with the most votes. Still going to let it run for longer as 3 voters aren't really good enough to decide.

I lost some progress as unfortunately the main PC i had this in had a hard drive failure, on the good side at least it motivated me to rewrite a lot of the ugly and buggy code that i would end up rewriting anyways! Pace has sped up a bit more, so you can expect a demo release with Mario and maybe the Doomslayer before the end of this year. I know i said this before, but now i'm more than sure it's inching a lot closer. Not really 100% sure if the Doomslayer will make it into the first demo though, but i hope he will.

I have already sorted out a large portion of the code and recovered almost all progress i lost. Right now the only important code not yet done is Mario's character definition, but it's no big deal as it's quite simple to do.

Now, a request before it gets out, don't start immediately doing big mods and stuff, not because i wouldn't like you to (In fact, i would love if this got modded) but because many things on the engine are set on stone yet, and i would hate to break your mod. Making custom maps is totally fine and i won't be changing anything about that in the foreseeable future. (And if i were to do that i would most likely leave the old map loader intact for full compatibility with any maps made pre-update).

Also, just to let everyone know, the code can be used commercially as long as you follow the terms of the MIT License. Pretty cool right? Hope it gets some good use.

Forgot to mention this a couple posts ago, while the engine is GLOOME which requires at least OpenGL 1.4, there will be a separate build using ZDoom LE, which only requires DirectDraw or DirectX9 (DX9 looks slightly better and runs faster, so if possible use that) GL mode can also be used, and it's OpenGL 1.2.
The reason GLOOME is the default engine, is because it's GPL-compliant, but ZDoom LE isn't. So to be safe legally if you are going to distribute your own new ZSmash-based game, you would use GLOOME.

Oh yeah, and a screenshot, because no wall of text is complete without a screenshot! (Click on it to enlarge the image)
Screenshot_Doom_20190711_021742.png
Quite the uneventful screenshot, but at least it's a small peek to what i have been doing. If it looks a bit blurry it's just due to the trilinear filter i used to smooth out the pixels a bit.
Mario isn't small, the map is fairly big to accomodate 8 players. It's also undetailed because i'm not going to do a super-pretty map just for testing :p

And i'm also throwing in some character code, absolutely free!
Code:
Actor ZMario : ZSmashFighter
{
Gravity 1.0     //Gravity and falling speed, modifiable with A_SetGravity
Stamina 1.0        //Mid-air speed
Accuracy 2.0    //Walking speed
Speed 4.0        //Running speed
states
{
    Idle:
        MARI AAAAAA 1 A_GiveInventory("A_SmashReady") //checks button pressses
        MARI BBBBBB 1 A_GiveInventory("A_SmashReady")
        MARI CCCCCC 1 A_GiveInventory("A_SmashReady")
        MARI DDDDDD 1 A_GiveInventory("A_SmashReady")
        Loop
    Walk:
        MARI FFFFGGGGHHHHIIIIJJJJKKKKLLLL 1 A_GiveInventory("A_SmashWalk")
        Goto Idle
    Run:
        MARI MMNNOOPPQQRRSSTT 1 A_GiveInventory("A_SmashRun")
        Goto Idle
    Jump:
        MARI U 3
        TNT1 A 0 ThrustThingZ(0, 5, 0, 1)
        MARI VVVWWWXXXYYYZZZ 1 A_GiveInventory("A_SmashMidAir")
        Goto Idle
    }
}
A bit of explanation: The weird property names (Like Stamina for aircontrol, Accuracy for walking) come from ZDoom's mostly unused properties, which i chose because they are easily changeable and i can check what's their value from anywhere quickly and painlessly. As you can see, they are floats so you can mostly precisely change an specific stat (Don't recommend getting any more precise than 0.0001 though because that might cause rounding errors!)

The 4-letter name "MARI" is Mario's sprite, while "AAAAAA" is the frame it's displaying. One frame would display only for a tic (35th of a second, Possibly more or less with rendering interpolation) while two would display continously for two tics, three for three tics and so on.

A_GiveInventory("A_SomethingHere") is how you specify the action it's going to execute that frame. As you can see, A_SmashReady is used on the Idle state to check for any button presses, same for A_SmashMidAir, A_SmashWalk etc. The ones you specify with A_GiveInventory are exclusive to ZSmash, while others like ThrustThingZ (here used for jumping) are native to ZDoom. Don't worry, you can use both at the same time.

This code is not fully complete, as attacks are still missing, but they look similar to the rest of the code.

As you can see, the code is fairly simple. Don't let the simplicity fool you, it's also fairly flexible and you can do much more than just use the built-in ZSmash functions. You could even make your own hit effects, like a water one, just like there's a fire and electricity hit effect.
 
Last edited:

TDRR

Smash Journeyman
Joined
Sep 18, 2017
Messages
261
Location
Venezuela
#18
Can you make a discord server or something like that for the project ?
We have talked about making a Discord server for all of our projects, however we have decided that it's best not to until we have a playable demo ready for each of them.

For ZSmash, that fortunately won't be taking much longer, as it's going to be when we can get Mario and all the core features done. I don't have an exact date, but expect it to be within 3 months.
I know that's quite some time for a simple demo, but don't forget we are only two guys working on various projects, and that we need to get all modding support done and tested by then. And documentation on that modding support.

Also, an update on the Super Smash Bros. 2 clone: We have no idea if it's going to happen. It's incredibly risky to do something like it, considering we are planning to release other commercial games and Nintendo could easily sue us over the SSB2 clone.

Thanks for your patience and interest in ZSmash, and i hope i won't take much more to bring you guys the first demo!
 
Top