Last time updated: April 6th, 2025
InformationA local-multiplayer episode that you can play with your friends. It features 2 minigames - Battle Blitz and Race Rivals
Battle Blitz - A modern version of the SMBX 1.3 Battle Mode, where this time you are able to customize your user experience however you like. That includes custom lives count for each player, start-up power-up selections, all vehicles options, support for duplicate characters and an ability to change your players costume.
Race Rivals - Somewhat similar to Mario Kart, this is a minigame where you must stay ahead of your opponent in time or reach the finish line first. This acts more like speedrunning levels where your goal is to be as fast as possible. Similarly to Battle Blitz, this minigame is also highly configurable, featuring some basic power-up options for good balance, timer settings that let you set the amount of time you have to finish any level (disabling the timer is also an option) and duplicate characters are also supported as well as an option to change your players costume.
Development periods
This is my first episode that I've ever made and also my first time using LunaLua. Since 2018, I wanted to create a similar project like this, but mainly focused on reviving the old battle mode, which is now called Battle Blitz as a finished minigame (more information about this in the Note section). Race Rivals on the other hand, wasn't even planned until late 2024. This minigame was my side-project while I worked on Battle Blitz, so I started making 2 minigames at the same time. Lastly, I decided to merge those two minigames in an episode together, making this episode exist in the first place.
Older versions
If you want to install the latest release, the download button above is the correct link (you can still download the latest version here, it will be placed on top of the list). This list will change every time Dueling Trials receives an update. Newer versions will be placed on top and older versions will be placed on the bottom of the list. Here are all the versions placed in order:
Changelog
Below is a list of what has changed over the past few versions. This will also receive changes every time the episode updates. Here are the changes:
Preview
Some screenshots:
Custom levels support
This episode supports adding custom content, including scripting in LunaLua, meaning you can create both custom Battle Blitz and Race Rivals levels. The way you add your levels is really simple; just drag and drop the level you want to add in the right folder or save your new level in that right folder and that's it. Battle Blitz levels go in the "levels-battle-blitz" folder and Race Rivals levels go in the "levels-race-rivals" folder. No need to make something like a config file and then edit it or anything similar, the game already recognizes all the levels in the folder.
[!] WARNING:
When creating your Race Rivals level, make sure to warp between sections in order. This means that both players >must< start from section 0 and then if you want you can continue to warp to multiple sections from 0 to 20, starting from section 0, then to section 1 until the last section 20. This keeps track of which player is farther than the other player. Using more sections is optional, but if you are going for more sections, have this in mind. If you do end up messing with sections in your levels and didn't go in order, the game will not track the distance between players accurately, therefore potentially announcing the false winner of the race.
[!] INFORMATION:
When creating your Race Rivals level, to prevent the player from getting stuck below any surface place while bouncing from the bottomless pits, make sure to place 4 blocks below any surface place, so the player can't get stuck. People usually put 2 blocks below a block to prevent the player from skipping a part of the level, however in Race Rivals, 2 blocks are not enough. Place 4 blocks if you want your level to be functional and fun to play. As for the top part of levels, 2 blocks should be fine.
Custom Battle Blitz and Race Rivals levels only support the ".lvlx" format. Now, I can name a bunch of reasons why I first of all didn't even bother adding support for ".lvl" format and why it's outdated right now. It is always recommended to use the ".lvlx" format to experience the true SMBX2 beta 5 version in your levels and this doesn't only apply for Dueling Trials. Not to mention that a good amount of features are disabled in the ".lvl" format.
If you encounter any issues while playing the episode or especially when you're scripting something, you can try to delete every "progress.json" file you see in the episode. Those files can sometimes mess with the game and cause unexpected bugs. As of update v1.2, save files do not mess with the episode anymore, meaning any issues with the save files have been fixed.
Note
The biggest plan for Dueling Trials was to make it support actual multiplayer, but I decided to take a break from this project and learn more about Lua in the meantime, so I can make a stable multiplayer version of this episode later. Now, someone already implemented this before I could do it myself (MrDoubleA in his Battle Arena project), however it's worth noting that I started this project long before anyone else, even when I didn't know any Lua I still managed to pull off a somewhat functional battle system with almost 100% layers and events only. It may sound too good to be true, but yes, no Lua was used whatsoever, except for 1 line of text in one of the latest updates I made and in the actual latest update I used a little Lua for better lives detection, but that's literally all. Every other version didn't have any Lua scripts (you can find my old project here if you're interested to see its build and how exactly I did this). Not to be confused with the upload date and my account creation date, this old project was sitting on my computer for a long time because I didn't think it was worth uploading it to the public, but after some time I changed my mind. Also, I never had a forums account, however I was still active in the SMBX community since 2014.
Some levels in Race Rivals may be weird to play to say at least. I wasn't sure from the start how this minigame would even turn out in terms of good gameplay/experience, so expect some mini exploits and weird gameplay. This isn't a major bug or anything, it's just a situation that can happen if you and your opponent play the minigame perfectly. One example of those situations is when you arrive to the POW generators, you will take some time to break the wall to continue on your way and in the meantime, your opponent can catch up to you.
As for the bugs, any major bugs shouldn't occur. If some small bugs appear, they shouldn't be a problem for me to fix. This version should also be a stable first release and the episode will continue to receive updates if this goes well and gets attention from a decent amount of people. Also, if someone decides to take a look at any of my codes, just remember that not everything is perfect there and you may encounter some awkward parts.
Credits
-Menu backgrounds sourced via Pinterest
-Graphics made by Witchking666, h2643, PROX, DARKMECHA and Sednaiur
-Music and sound effects not by Zenetal (more credits are in specific folders)
-Bouncy pits created by Rixitic and KBM-Quine
-Boost Block made by AndrewPixel/Akromaly
-Modern Reserve Box created by KBM-Quine
More credits can be found in the episode and specific levels
Stuff by me:
-The entire episode and almost all the scripts are by Zenetal
-Small graphics patches/extensions done by Zenetal
-Every battle and race level made by Zenetal
Special thanks:
Big thank you to all the people in the Codehaus discord server who helped me a little with some parts of the code (MrNameless, Marioman2007, MrDoubleA, KBM-Quine, and Supermario1313)