Jump to content
The Dark Mod Forums

Campaign Mode


MajorLunaC

Recommended Posts

I would like to suggest a "Campaign Mode", where basically multiple maps are linked together and have some interaction. Sounds complex, but it can be made relatively simply. Basically, it would act something like Fable doorways, where a doorway just loads a certain new map (Mission). The interactivity would come in with text files that pertain to a map (i.e. A-Night-To-Remember.inter), which is read as an auto-execute file when that map is loaded. It starts out empty, but any map can append to that file when there exists a certain trigger or event. This would allow campaigns/missions that span several maps.

As for the saves, while in Campaign Mode, all map saves are redirected to a directory specific to a campaign. So when you have a "Dark Forest" campaign, all individual map saves go in "Dark-Forest-Campaign/Save-A/". All the maps would really then have only 1 save, and all the individual map saves are copied in bulk to "Dark-Forest-Campaign/Save-B/" when you save in the second slot. These would also, of course, include the interactive files mentioned. I'm not exactly sure how the load would choose the right map save to load, but I think a separate "Dark-Forest-Campaign.inter" could log that.

This would permit entire storylines to be produced that can have multiple endings, with the illusion of being in a much larger landscape. I think this could help with immersion into the game. What do you think?

Link to comment
Share on other sites

The ability to string missions together into a campaign already exists, though it doesn't work quite the way you describe. Not many mappers have made use of it yet.

Link to comment
Share on other sites

It doesn't really make sense to bundle missions together that have nothing to do with each other. You can play them after each other anyways. And as Spring said, it is already possible to setup campaigns, but normally mappers are releasing one mission after another and bundling them together in the end is quite some additional work, and doesn't always make sense gameplay-wise.

 

And what you say about it beeing easy to implement is simple wrong! I read this quite often from people who obviously never digged into this kind of stuff, and it gets annoying. Don't get me wrong, I don't want to pun you, but if you don't exactly know how to implement something you shouldn't make any claims about the complexity.

 

An example: When the game starts it loads the stock TDM data as well as the custom data of the active FM (which can contain several maps). Due to the way the engine works every switch to another FM requires a restart. Avoiding this would mean to load several FM's at the same time, which would require an engine change and a way to prevent conflicts between both FM's.

 

I don't see any reason why we should implement this, if the player can simple select and play a new mission once he or she is done with the last one.

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

I agree, that usually it makes no difference between campaign and single mission. One point, that improves with the campaigns is that the loot you collect can be transfered to the next mission. That way loot collecting does not seem so needless and the player actually profits from collecting more loot. Is there a way, that you can access the final save of a mission so that you can read out the loot and transfer it to another level?

Link to comment
Share on other sites

Is there a way, that you can access the final save of a mission so that you can read out the loot and transfer it to another level?

I'd like to expand on that question:

Is there a way one could release one mission, then string a second one to it at a later point as a campaign, and still use a savegame of the first mission to get quite quickly to the second one?

(I thought of a possible workaround, but it would be nicer if missions could be expanded directly into campaigns)

Link to comment
Share on other sites

What you can do is string the FMs together as a campaign the way Spring mentioned. There's a tutorial on it in the wiki I'm sure. This is the beauty of an open game. A map is yours to tweak and mod, for your own local use anyway.

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

An example: When the game starts it loads the stock TDM data as well as the custom data of the active FM (which can contain several maps). Due to the way the engine works every switch to another FM requires a restart. Avoiding this would mean to load several FM's at the same time, which would require an engine change and a way to prevent conflicts between both FM's.

 

I don't see any reason why we should implement this, if the player can simple select and play a new mission once he or she is done with the last one.

 

If I understand you right, that's what I meant. It would literally be a blurry water-like/portal-like doorway (maybe with a screenshot image on it) that when you contact it, it completely ends and shuts down the entire current mission (restart, yes, fine), unloading all resources (maybe producing an auto-save just before) and loading a completely new mission from scratch, and you're waiting at a loading screen the whole map-change time. Quite literally, you're hiding the menu and screen to Load a New Mission, and just auto-starting a new mission in a list, instead of manually exiting the current mission and then going to the menu and then starting the new mission. It's an in-game trigger to automatically save and end/exit the current mission, and then automatically start a new mission from scratch. In NO WAY do you EVER load 2 maps/FMs at once. It's all an illusion, NOT the heavy-duty continuous loading of something like Gears of War or Just Cause 2.

 

The real complication comes from managing the save files and interactive files, from what I see. Maybe I'm missing something in the logic or I didn't explain clearly enough?

 

Assuming you can string missions together, is it 2-way or linear switching of missions? I'm guessing linear, meaning once you finish a mission, it's over and you can't go back. It doesn't mean as much if you can't reload a previously defined save state of a mission and can't add triggers that change the behavior from mission to mission.

Link to comment
Share on other sites

 


If I understand you right, that's what I meant. It would literally be a blurry water-like/portal-like doorway (maybe with a screenshot image on it) that when you contact it, it completely ends and shuts down the entire current mission (restart, yes, fine), unloading all resources (maybe producing an auto-save just before) and loading a completely new mission from scratch, and you're waiting at a loading screen the whole map-change time. Quite literally, you're hiding the menu and screen to Load a New Mission, and just auto-starting a new mission in a list, instead of manually exiting the current mission and then going to the menu and then starting the new mission. It's an in-game trigger to automatically save and end/exit the current mission, and then automatically start a new mission from scratch. In NO WAY do you EVER load 2 maps/FMs at once. It's all an illusion, NOT the heavy-duty continuous loading of something like Gears of War or Just Cause 2

Even this is not easy to implement. And the portals you mention would be needed to be added to the missions by the mappers.

 


Assuming you can string missions together, is it 2-way or linear switching of missions? I'm guessing linear, meaning once you finish a mission, it's over and you can't go back. It doesn't mean as much if you can't reload a previously defined save state of a mission and can't add triggers that change the behavior from mission to mission.

Doom 3 supported multi-way level changes. The current campaign setup isn't designed for that I guess, so I don't know whether it could be achieved. A classical linear campaign like in the original games is no problem, though.

  • Like 1

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

Yes, the portal you'd add yourself in DR, like a trigger brush that triggers a script.

 

You would have to save the previous world's state to reload it when you go back. I'd think about it like reloading a saved game, except the current player attributes, health and inventory, are kept. Pretty sure that'd take sourcecode changes.

 

If it's one way, then the portal just triggers mission end, and let the campaign code work. Maybe you can script the gui to skip intervening stuff to make it as 'seamless' as you can. Still a long load wait.

 

I'm sure if you're very determined, you can find a way to do it. Good luck!

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

Would be interesting to test whether a briefing video could be played on the loading screen, to disguise the loading (or part of it). On the other hand one have to make sure than that the briefing video is played til the end even if the loading is finished.

 

The optimal change would be if TDM would be capable of loading stuff even if in a mission, so you could start the next level without much loading. But I guess this would require a huge amount of code changes and may not be affordable.

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

You would have to save the previous world's state to reload it when you go back. I'd think about it like reloading a saved game, except the current player attributes, health and inventory, are kept. Pretty sure that'd take sourcecode changes.

 

As far as I know, when you wrap multiple missions up for a campaign you have shared script files and can also store e.g. accomplished mission objectives. So you it should be possible, to read out the current player life, inventory, etc (albeit being a lot of variables and thus a quite long script, but once written it can be used for each portal), store it in some file and then apply it after loading the game. But this creates new problems (or at least more computing work): This workaround would apply each time a save from this mission is loaded. That way you would also have to store all data with each savegame the player makes. And I don't know what happens on map start. It might make problems if the script would run there, because the values I mentioned would not be defined and if you define them manually you would have to skip the shop, because you don't know what the player buys.

This was what I myself had planned, when I thought about including a city hub into a campaign (like in TDS), from where you can access different missions. I also wanted to skip the shop at map start and include shops and fences in there, because I liked the way it worked in TDS. But since I quite recently started mapping, I did not follow it so far. At least not until I have some more mapping experience.

  • Like 1
Link to comment
Share on other sites

Well, that's what I was hoping the interactive files for each map would help with. The script would store the current values, and on portal contact, the current values are written to the auto-executing interactive file for the next map, which is then executed. The auto-executed interactive files would just assign certain variables that the save takes into account foremost. (Pardon my brainless pseudocode) Say something like "sv_health 50%", "sv_sneak_attribute 9", etc. Likely, the interactive auto-executed files would be stored in a similar format as the save files, but I don't think cheating is that big of a worry in a single-player game.

 

The loading time really doesn't bother me much. Even many modern games have long loading screens, and older ones had plenty long ones too. It's an acceptable mechanic, as "Teleportation Time". As for the video, you can just add a [Continue...] button that you can press any time after the loading is done. Wait if you want to watch, or skip it and go. That's how I've seen it solved in many games.

 

But yeah, overall, this does still sound like a lot of coding even at minimal, and all the pretended/illusion workarounds.

Link to comment
Share on other sites

Here is the Wiki page for campaigns, written by greebo quite a while ago.

 

IIRC, TDM campaigns don't let you create a hub where you can go back and forth between maps. The original map-switching code that was in place before greebo did his campaign work allowed you to go back and forth, but there were problems. In his update, he didn't work on these problems, in the belief that a campaign always went forward.

 

The mechanics of carrying loot and weapons and inventory forward has already been worked out, and the rules are on the Wiki page. Earlier missions can affect how later missions are set up, depending on your actions in those earlier missions.

 

There's no mechanism for starting a campaign with a mission other than the first. So if a campaign of 4 missions is released, and the first 2 missions had been previously released as singles, there's no way to start the campaign at mission 3; you have to start with mission 1. For this reason, campaigns that are released in this manner (singles first, a campaign later) might offer a single campaign and separate missions, so the folks who don't want to repeat can start where they left off (but w/o any of the features that campaigns bring to the table).

 

No Honor Among Thieves is the first released campaign, but its 3 missions were previously released as singles. It's worth replaying from the beginning, however, since there were a lot of fixes applied, and the maps were brought up-to-date with newer assets. Not to mention the campaign features.

 

There is a multi-mission campaign being built by a group of people, but that has seen many people drop off and we don't know when it will be released. None of its missions have been released as singles, though there was talk about doing so, if for no reason other than to start publishing the fine work that went into the campaign.

 

I know of no plans to create hubs or any other features not discussed on the Wiki page.

 

If anyone knows anything different about any of this, feel free to correct me.

 

 

  • Like 1
Link to comment
Share on other sites

So, if I understand it correctly, the main problem at this point is, that you have to set a specific order in which the missions are played, if you want to create a campaign. This is why MajorLunaC's suggestion with "portals" does not work. But a city hub should still be possible, as long as the linearity is not broken. So, I could make one city map (with tht shops etc), just copy/paste it and use it in between the different missions, for the player to sell loot and buy equipment. Additionally, I could insert some side missions or buildings to explore etc.

Link to comment
Share on other sites

I scripted out a campaign that was pretty much like that, yeah, little interlude FMs between the big action FMs for the player to do random stuff, like the non-action interludes in Deus Ex or Viet Cong, often in and around a home-base like place. That's the ideal way to do it IMO, given what we have to work with.

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

But a city hub should still be possible, as long as the linearity is not broken. So, I could make one city map (with tht shops etc), just copy/paste it and use it in between the different missions, for the player to sell loot and buy equipment. Additionally, I could insert some side missions or buildings to explore etc.

 

I don't know if this is easily possible, but I do know that a city hub like this has been requested a lot of times here already :)! You could handle starting seperate missions by selecting them on a board at a fence or something similar, like e.g. RAGE did do it. If someone would build a city map like this, it could include some training missions itself and could move the whole now external FM interface inside the game world. Then any discussions whether TDM is a game or a toolset would be moot for ever. So go ahead and build this city hub and I'm sure when it's good enough, people will think about including it ;)!

Edited by wesp5
  • Like 1
Link to comment
Share on other sites

Just like grayman I can only advise to read the Wiki article about campaigns. The main problem with "picking your missions" is, that in order to wrap your campaign you have to define which map is played when (in the article example: Mission 1: red; Mission 2: blue; Mission 3: green). In order to get the "picking your mission" feature, you would have to change the order of the missions. Also, you would have to be able to read out, which postition you are currently on. As long as you are not able to do that (and my scripting skills are way too low to know if you can manipulate data like that), you will have to stick with a fixed order of missions. As demagogue said, it is possible to make these small interludes without problem (btw. what was the name of your campaign? I would like to play it and see for myself), but still they have to be in the given order.

Link to comment
Share on other sites

So, if I understand it correctly, the main problem at this point is, that you have to set a specific order in which the missions are played, if you want to create a campaign. This is why MajorLunaC's suggestion with "portals" does not work. But a city hub should still be possible, as long as the linearity is not broken. So, I could make one city map (with tht shops etc), just copy/paste it and use it in between the different missions, for the player to sell loot and buy equipment. Additionally, I could insert some side missions or buildings to explore etc.

There is no limitation in how often a mission is used in a campaign sequence imho, so you could reuse it and use persistant args etc... to create the difference.

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

@Destined, it's just the script and maps for a campaign. As is typical for these kinds of projects people dream about, it may be more ambitious than I can do for now.

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
    • Petike the Taffer

      Maybe a bit of advice ? In the FM series I'm preparing, the two main characters have the given names Toby and Agnes (it's the protagonist and deuteragonist, respectively), I've been toying with the idea of giving them family names as well, since many of the FM series have named protagonists who have surnames. Toby's from a family who were usually farriers, though he eventually wound up working as a cobbler (this serves as a daylight "front" for his night time thieving). Would it make sense if the man's popularly accepted family name was Farrier ? It's an existing, though less common English surname, and it directly refers to the profession practiced by his relatives. Your suggestions ?
      · 9 replies
    • nbohr1more

      Looks like the "Reverse April Fools" releases were too well hidden. Darkfate still hasn't acknowledge all the new releases. Did you play any of the new April Fools missions?
      · 5 replies
×
×
  • Create New...