It's me, the porting-this-gametype-to-SRB2 enthusiast. I get bored frequently.
To open this thread, I bring you a WIP of what I'm going to call Payload mode for now. You know, that gametype from FPS games which involve two teams and an object to push across a map. It varies in objective and mechanics across different games, and this test in particular is based on Siege Mode from Paladins. I may add more modes to it in the future, but I stuck with this one for now due to my experience with it.
Although Paladins has a bonafide Payload mode which involves two teams switching sides to push a payload across a map, Siege works a little differently. It involves two phases: one in which both teams have to compete to capture a point by standing in it, filling a progress bar which will not deplete whatsoever. If members of both teams are standing in the point, none of the teams will make progress as long as their opponents aren't removed from the point. When a team manages to capture the contesting point, they score 1 point and the payload spawns. The capturing team is then required to push the payload to the enemy base within a time limit, by which they score one more point if they succeed. If the enemy team manages to stop them, that team will score one point (except if they already have 3 points). The first team to score 4 points wins the match.
Not all mechanics at play in Paladins' Siege are implemented yet (no overtime and no comeback mechanics for now) but it follows its basics to keep testing pure from the very start. Additionally, you will notice that rings are no longer the players's health: the player will be surrounded by bumpers, with a max of 3 for Sonic and Tails and 4 for Knuckles, which will disappear as the player gets hurt, while rings merely serve as ammo.
If you feel like making a map for this mode, a few assets have been prepared for you to use in Zone Builder which can be found in payload.wad. There is also a sample map (payloadtest.wad) in which you can observe the basic idea of what a map in this mode should be structured like.
Assets:
As you can observe in the sample map's MAINCFG lump, maps for this mode must be marked as both CTF and Custom to be recognized by the mod, and thus will only function correctly in CTF.
Assets (payload.wad)
Sample map (payloadtest.wad)
Again, this is a work in progress, thus very barebones and most probably riddled with glitches. I welcome anyone who is interested to test this mode for feedback because they can only arise from hands-on testing and I'm still a lone learning coder. So if you get to make something of this mess, please share your experience and report all the glitches you find, your questions, coding advice (PLEASE), occasional quality of life suggestions and maybe hate mail as well.
I may use this thread to showcase some of my other stuff, but since I only felt compelled to make it to find testing help for this mode only, this is what it's gonna be about for the while. Thanks for tagging along! ☆
To open this thread, I bring you a WIP of what I'm going to call Payload mode for now. You know, that gametype from FPS games which involve two teams and an object to push across a map. It varies in objective and mechanics across different games, and this test in particular is based on Siege Mode from Paladins. I may add more modes to it in the future, but I stuck with this one for now due to my experience with it.
Although Paladins has a bonafide Payload mode which involves two teams switching sides to push a payload across a map, Siege works a little differently. It involves two phases: one in which both teams have to compete to capture a point by standing in it, filling a progress bar which will not deplete whatsoever. If members of both teams are standing in the point, none of the teams will make progress as long as their opponents aren't removed from the point. When a team manages to capture the contesting point, they score 1 point and the payload spawns. The capturing team is then required to push the payload to the enemy base within a time limit, by which they score one more point if they succeed. If the enemy team manages to stop them, that team will score one point (except if they already have 3 points). The first team to score 4 points wins the match.
Not all mechanics at play in Paladins' Siege are implemented yet (no overtime and no comeback mechanics for now) but it follows its basics to keep testing pure from the very start. Additionally, you will notice that rings are no longer the players's health: the player will be surrounded by bumpers, with a max of 3 for Sonic and Tails and 4 for Knuckles, which will disappear as the player gets hurt, while rings merely serve as ammo.
If you feel like making a map for this mode, a few assets have been prepared for you to use in Zone Builder which can be found in payload.wad. There is also a sample map (payloadtest.wad) in which you can observe the basic idea of what a map in this mode should be structured like.
Assets:
Thing type 2001: Contesting point
This is an invisible object whose radius determines the contesting radius for the game's first phase. Standing inside this will score points for your team, except if opponents are inside this radius as well. The more players of the same team, the faster the capture, which will raise up to three players. The payload will spawn as soon as one team scores 100 points. You will only need one of these per map, and it must be placed on its center.
Thing type 2002 and 2003: Red Waypoint and Blue Waypoint
These objects are also invisible and determine the path the payload will follow across the map depending on which team managed to capture the point. The thing's angle determines the waypoint's order, starting from 1, which is the first waypoint from the contesting point. When the payload reaches the last waypoint of its sequence, the pushing team scores 1 point, unless they're already at 3 points. One sequence from each of these types must be placed on your map, and they must be identical and symmetrical to the map's orientation for balance: Red Waypoints must make a path into the Blue base, and Blue Waypoints make their way into the Red base.
Linedef types 800 and 801: Block Blue/Red Team
When applied to FOFs, these types will bounce off players of the opposite team, or any player during pre-round. They will also block all kinds of thrown rings from passing through. Useful for closing off each team's spawn points. These linedef specials are optional, but highly recommended to keep players from roaming free when and where they shouldn't. It's also recommended to make these FOFs at least 60 fracunits thick so Sonic can't abuse his thok to pass through.
Additionally, you will notice that the test map's LUA_TEST script contains three variables you can use to customize how these items will behave in your map.
payload.radius determines how wide the contesting point will be in the three axes. The payload's contesting radius will always be half this distance. If not specified, this will default to 360 fracunits.
payload.speed sets how fast the payload will move when escorted. When the enemy team is pushing it back, it will always be half this speed. Sets to 2 if not specified.
payload.pushtime determines how much time the pushing team will have to push the Emerald to the enemy base, and at the same time, how much time the stalling team has to hinder the pushing team to stop them, in seconds. Defaults to 180 seconds, or 3 minutes, if not specified.
There are also two variables which are read-only, but you can use them to customize how your map behaves through Lua. payload.phase informs the phase the game is in. 0 is for the pre-round phase, 1 is for the capturing phase, 2 is for the pushing phase, 3 is for the round result announcement phase and 4 is for when the game is over and the winners are announced, while payload.domteam informs which player is currently capturing the objective or pushing the payload. These are used in the sample map's script to make the point's translucent floor glow in the dominating team's color. Don't change these manually, since you will most definitely break the game by doing it.
This is an invisible object whose radius determines the contesting radius for the game's first phase. Standing inside this will score points for your team, except if opponents are inside this radius as well. The more players of the same team, the faster the capture, which will raise up to three players. The payload will spawn as soon as one team scores 100 points. You will only need one of these per map, and it must be placed on its center.
Thing type 2002 and 2003: Red Waypoint and Blue Waypoint
These objects are also invisible and determine the path the payload will follow across the map depending on which team managed to capture the point. The thing's angle determines the waypoint's order, starting from 1, which is the first waypoint from the contesting point. When the payload reaches the last waypoint of its sequence, the pushing team scores 1 point, unless they're already at 3 points. One sequence from each of these types must be placed on your map, and they must be identical and symmetrical to the map's orientation for balance: Red Waypoints must make a path into the Blue base, and Blue Waypoints make their way into the Red base.
Linedef types 800 and 801: Block Blue/Red Team
When applied to FOFs, these types will bounce off players of the opposite team, or any player during pre-round. They will also block all kinds of thrown rings from passing through. Useful for closing off each team's spawn points. These linedef specials are optional, but highly recommended to keep players from roaming free when and where they shouldn't. It's also recommended to make these FOFs at least 60 fracunits thick so Sonic can't abuse his thok to pass through.
Additionally, you will notice that the test map's LUA_TEST script contains three variables you can use to customize how these items will behave in your map.
payload.radius determines how wide the contesting point will be in the three axes. The payload's contesting radius will always be half this distance. If not specified, this will default to 360 fracunits.
payload.speed sets how fast the payload will move when escorted. When the enemy team is pushing it back, it will always be half this speed. Sets to 2 if not specified.
payload.pushtime determines how much time the pushing team will have to push the Emerald to the enemy base, and at the same time, how much time the stalling team has to hinder the pushing team to stop them, in seconds. Defaults to 180 seconds, or 3 minutes, if not specified.
There are also two variables which are read-only, but you can use them to customize how your map behaves through Lua. payload.phase informs the phase the game is in. 0 is for the pre-round phase, 1 is for the capturing phase, 2 is for the pushing phase, 3 is for the round result announcement phase and 4 is for when the game is over and the winners are announced, while payload.domteam informs which player is currently capturing the objective or pushing the payload. These are used in the sample map's script to make the point's translucent floor glow in the dominating team's color. Don't change these manually, since you will most definitely break the game by doing it.
Assets (payload.wad)
Sample map (payloadtest.wad)
Again, this is a work in progress, thus very barebones and most probably riddled with glitches. I welcome anyone who is interested to test this mode for feedback because they can only arise from hands-on testing and I'm still a lone learning coder. So if you get to make something of this mess, please share your experience and report all the glitches you find, your questions, coding advice (PLEASE), occasional quality of life suggestions and maybe hate mail as well.
I may use this thread to showcase some of my other stuff, but since I only felt compelled to make it to find testing help for this mode only, this is what it's gonna be about for the while. Thanks for tagging along! ☆
Last edited: