(IMPORTANT: I originally wrote this for Nexuiz, but it should still make sense for Xonotic)
I've thought quite a lot about how the singleplayer part of Xonotic could work, so I'll post the ideas that I've had
My singleplayer mode can be split into three sections:
Story - Basically a full campaign that has a plot behind it.
Challenges - Similar to the current singleplayer mode.
Missions - These levels will be like story maps, but each mission contains its own story.
I'll focus on the Challenges and Missions part of singleplayer here.
Finally I'll talk about the sort of things that'll be needed for this to work and why this is different from Assault.
Challenges
This section of the singleplayer would be very similar to the one that already exists. The first level would be a brief tutorial, and then the following levels would take the player through the different game modes.
After a player has completed the tutorial levels, they can start the "time trial" levels. These are tasks that the player will have to complete within a certain time limit. Time trials won't have to be completed in any particular order, so the player can choose which challenge to do.
Examples:
DM - Get 20 frags within 15 minutes.
LMS - Win in less than 5 minutes.
CTF - Make a cap in less than 30 seconds.
Race - Complete 3 laps in less than 3 minutes.
CTS - Complete a jetpack course in less than 1 minute.
Domination - Gain control of ALL control points.
Onslaught - Win in less than 5 minutes.
Minstagib - Survive for 5 minutes.
Other - Hit 10 targets with the Nex before the time runs out.
Other - Collect every item (could be coins, energy shards, bananas etc.) on a map within 1 minute.
(12/9/20) EDIT: I have coded a countdown timer for campaign (see this thread), so most of these should be possible to make.
Missions
After a player has completed the tutorial levels, they will unlock the ability to play missions. Each individual mission contains its own story, so players can play them in any order. Some missions will be more difficult than others, and the difficulty can be adjusted. (12/9/10) EDIT: However, if story mode is sufficiently developed, these concepts can be used for it instead.
Examples (I'll add more when I think of something good ):
#1. Plot - You board an enemy ship to recover an artefact from your planet that was stolen. Retrieve the artefact and destroy the ship!
Obejectives:
- Fly your spacecraft into the enemy landing bay (tZork's Raptor craft would be great for this bit See this video.)
- Find a way out of the landing bay.
- Retrieve the artefact.
- Deactivate their defence systems.
- Overload the engines
- Escape! (the engines explode in 5 minutes.)
#2. Plot: Terrorists/aliens have taken over a skyscraper and are holding some government officials hostage. It's your job to rescue them and defeat the terrorist/aliens!
Objectives:
- Keep the hostages alive!
- Restore power to the elevator system.
- Reach the top floor
- Shoot down the terrorist/alien helicopter on the roof (like a boss fight)
#3. Plot: Quark Robot Industries have created a robot army and are trying to take over the world! Infiltrate QRI HQ and shut down the robot army. (This one could be a two-part mission)
Objectives:
- Find a way into QRI HQ via the sewage system
- Break into the CEO's office
- Find important information in the office
- Use the CEO's lift to get to the secure basement levels
- Shut down the QRI mainframe (boss battle - the mainframe could attack back!)
Very important stuff!
Without the following things, there's NO WAY that story/missions will work.
Monsters:
Bots won't work, because they have exactly the same weapons, health, movement etc. as you do. If we have monsters, we'll be able to set different health levels, movement speed and attacking speed. Models wont be much of a problem, because we could use existing player models. (12/9/10) EDIT: This is an extremely important feature that WILL need coding. Without monsters, story mode will not work.
Items:
I think it would be interesting if players could pick up items that aren't used straight away. For example, a player could pick up a key that's used to unlock a door later. This could use a similar code to the one used in KH or CTF. This would be useful for the item collection time trial mentioned above. (12/9/10) EDIT: Most instances of items usage will probably not need any special code, just trigger_relays
Difficulty settings:
This won't be difficult to make, because all there needs to be is a cvar that multiplies the monster stats (health, power etc.) e.g. Normal = 1, Hard = 1.5, Insane = 2
Why Assault is different, and why it wouldn't work:
People have said that this is just like Assault. Well, it isn't! Assault is a team game, which implies that you would be facing either human-controlled or bot enemies. This is not how missions would work, because they are supposed to be singleplayer games, and we need monsters instead of bots (see above).
Assault is also time based and turn based. Each teams takes it in turn to be the attacking and defending sides, and the team who completes the objectives in the shorter amount of time wins. The missions wouldn't have any sort of timer in a map (except for objective specific time limits - see mission #1), and you don't suddenly become the defending side when you finish the objectives - there isn't a defending side! It's just you, against the monsters, with objectives that are for you and you only.
And this is why missions are not Assault maps
(Feel free to ask questions or suggest improvements )
I've thought quite a lot about how the singleplayer part of Xonotic could work, so I'll post the ideas that I've had
My singleplayer mode can be split into three sections:
Story - Basically a full campaign that has a plot behind it.
Challenges - Similar to the current singleplayer mode.
Missions - These levels will be like story maps, but each mission contains its own story.
I'll focus on the Challenges and Missions part of singleplayer here.
Finally I'll talk about the sort of things that'll be needed for this to work and why this is different from Assault.
Challenges
This section of the singleplayer would be very similar to the one that already exists. The first level would be a brief tutorial, and then the following levels would take the player through the different game modes.
After a player has completed the tutorial levels, they can start the "time trial" levels. These are tasks that the player will have to complete within a certain time limit. Time trials won't have to be completed in any particular order, so the player can choose which challenge to do.
Examples:
DM - Get 20 frags within 15 minutes.
LMS - Win in less than 5 minutes.
CTF - Make a cap in less than 30 seconds.
Race - Complete 3 laps in less than 3 minutes.
CTS - Complete a jetpack course in less than 1 minute.
Domination - Gain control of ALL control points.
Onslaught - Win in less than 5 minutes.
Minstagib - Survive for 5 minutes.
Other - Hit 10 targets with the Nex before the time runs out.
Other - Collect every item (could be coins, energy shards, bananas etc.) on a map within 1 minute.
(12/9/20) EDIT: I have coded a countdown timer for campaign (see this thread), so most of these should be possible to make.
Missions
After a player has completed the tutorial levels, they will unlock the ability to play missions. Each individual mission contains its own story, so players can play them in any order. Some missions will be more difficult than others, and the difficulty can be adjusted. (12/9/10) EDIT: However, if story mode is sufficiently developed, these concepts can be used for it instead.
Examples (I'll add more when I think of something good ):
#1. Plot - You board an enemy ship to recover an artefact from your planet that was stolen. Retrieve the artefact and destroy the ship!
Obejectives:
- Fly your spacecraft into the enemy landing bay (tZork's Raptor craft would be great for this bit See this video.)
- Find a way out of the landing bay.
- Retrieve the artefact.
- Deactivate their defence systems.
- Overload the engines
- Escape! (the engines explode in 5 minutes.)
#2. Plot: Terrorists/aliens have taken over a skyscraper and are holding some government officials hostage. It's your job to rescue them and defeat the terrorist/aliens!
Objectives:
- Keep the hostages alive!
- Restore power to the elevator system.
- Reach the top floor
- Shoot down the terrorist/alien helicopter on the roof (like a boss fight)
#3. Plot: Quark Robot Industries have created a robot army and are trying to take over the world! Infiltrate QRI HQ and shut down the robot army. (This one could be a two-part mission)
Objectives:
- Find a way into QRI HQ via the sewage system
- Break into the CEO's office
- Find important information in the office
- Use the CEO's lift to get to the secure basement levels
- Shut down the QRI mainframe (boss battle - the mainframe could attack back!)
Very important stuff!
Without the following things, there's NO WAY that story/missions will work.
Monsters:
Bots won't work, because they have exactly the same weapons, health, movement etc. as you do. If we have monsters, we'll be able to set different health levels, movement speed and attacking speed. Models wont be much of a problem, because we could use existing player models. (12/9/10) EDIT: This is an extremely important feature that WILL need coding. Without monsters, story mode will not work.
Items:
I think it would be interesting if players could pick up items that aren't used straight away. For example, a player could pick up a key that's used to unlock a door later. This could use a similar code to the one used in KH or CTF. This would be useful for the item collection time trial mentioned above. (12/9/10) EDIT: Most instances of items usage will probably not need any special code, just trigger_relays
Difficulty settings:
This won't be difficult to make, because all there needs to be is a cvar that multiplies the monster stats (health, power etc.) e.g. Normal = 1, Hard = 1.5, Insane = 2
Why Assault is different, and why it wouldn't work:
People have said that this is just like Assault. Well, it isn't! Assault is a team game, which implies that you would be facing either human-controlled or bot enemies. This is not how missions would work, because they are supposed to be singleplayer games, and we need monsters instead of bots (see above).
Assault is also time based and turn based. Each teams takes it in turn to be the attacking and defending sides, and the team who completes the objectives in the shorter amount of time wins. The missions wouldn't have any sort of timer in a map (except for objective specific time limits - see mission #1), and you don't suddenly become the defending side when you finish the objectives - there isn't a defending side! It's just you, against the monsters, with objectives that are for you and you only.
And this is why missions are not Assault maps
(Feel free to ask questions or suggest improvements )
AKA [~] John Smith on Nexuiz