Oblivion: Creating Alternative Start Mods

Alternate start mods can be a great way to liven up the beginning of the game, or to do quick testing starts without having to go through the entire tutorial dungeon every time.

Unfortunately creating them can be a frustrating experience to get right due to the intricacies involved. In order to aid others in doing so with a minimum of hassle, I will list the minimum steps that were needed to produce the Alternative Beginnings mod. Referred to in this tutorial as "ALB" from now on.

Markers and Locations

The CGPlayerStartMarker is a hardcoded marker the game expects to move the player to at the start. Due to where it is located, it is not possible to move the marker out of the prison dungeon. However, the prison dungeon CAN be modified and this marker moved to where you'd like the player to appear. It's usually best to construct whatever modifications you want in an isolated part of the ImperialDungeon01 cell. Consider this cell free reign for your mod, because by their very nature, alternate start mods are not compatible with each other.

In your modified area, you will need at minimum some way to allow the player to:

1. Access the race menu if they want to.
2. Access the birthsign menu.
3. Access the class menu.
4. Proceed from there into the main game.

How you go about this can vary widely, but those elements must be available.

You also need to keep in mind there is a serious bug which will almost certainly cause a CTD if the player is able to access the race menu again after using the class menu. It is therefore advisable to make sure this cannot be done.

Quests

At a bare minimum, you must alter the CharacterGen quest. Specifically, stages 5 and 88 both need to be altered in some way. In each case, the result scripts need some tweaking to prevent them from doing some of the mundane tasks.

In stage 5, the result script looks like this in vanilla Oblivion:
; in chargen
setinchargen 1
; set quest delay
set charactergen.fQuestDelayTime to .001
set MQ01.fQuestDelayTime to .1
; disable map markers
;ChorrolMasterMapMarker.disable
startquest MQ01
set MQ01.timer to 0
set MQ01.stage to 5
; Emperor, Blades ignore friend hits in combat
UrielSeptimRef.SetIgnoreFriendlyHits 1
RenoteRef.SetIgnoreFriendlyHits 1
GlenroyRef.SetIgnoreFriendlyHits 1
BaurusRef.SetIgnoreFriendlyHits 1
player.moveto CGPlayerStartMarker


For ALB, stage 5 has been changed to read as follows:
; in chargen
setinchargen 1
; set quest delay
set charactergen.fQuestDelayTime to .001
set MQ01.fQuestDelayTime to .1
; disable map markers
;ChorrolMasterMapMarker.disable
;startquest MQ01
set MQ01.timer to 0
set MQ01.stage to 5
StopQuest Tutorials
player.moveto CGPlayerE3Marker


It may be subtle, but the only important thing done here was to comment out the startquest MQ01 command. MQ01 is the tutorial quest for the prison dungeon and it contains no game critical functions, and so can be left off. I have also added the StopQuest Tutorials command to bring the secondary tutorials quest to a halt. It also contains no game critical functions.

Note that the game is hardcoded to force the race picking menu before turning over the controls to you. Keep that in mind.

Now on to stage 88. In vanilla Oblivion, CharacterGen stage 88 contains the following result script:
; finished with Baurus's speech to player
setstage MQ02 10
setstage MQ02 20
addtopic AmuletofKingsTopic
addtopic WeynonPrioryTopic
addtopic OrderofTalosTopic
addtopic JauffreTopic
addtopic UrielSeptimTopic
set BaurusRef.chargenOver to 1
autosave


In ALB, this stage has been changed to this:
set BaurusRef.chargenOver to 1
setinchargen 0
stopquest charactergen
CGAssassinFinal.kill
setessential UrielSeptim 0
setquestobject UrielSeptim 0
UrielSeptimRef.kill
setessential Renote 0
setquestobject Renote 0
RenoteRef.kill
setessential Glenroy 0
setquestobject Glenroy 0
GlenroyRef.kill


You can insert more commands. The first 3 are crucial to keep the game from performing unnecessary operations as you play. The rest is optional, though recommended because it's possible that those NPCs might show up somewhere later they're not supposed to be. Which could be especially bad in the case of the assassin if the player is in a populated area.

You will then need to either cut up the remainder of CharacterGen from stages 6 to 87, or write up your own quest with its own stages, scripts, and other components. Only your imagination restricts what you can come up with and how elaborate you get with it.

Initiating the Main Quest

At some point after entering the game world, it will be desirable to start the Main Quest. How you go about setting this up is entirely up to you, but in order for it to make the most sense, the "Deliver the Amulet" (MQ02) quest is the most logical entry point.

Stages 10, 20, and 25 of MQ02 are prime targets for rewriting the beginning of the main quest. Since it would be assumed that the player has not witnessed the Emperor's assassination nor met Baurus in the dungeon, stage 10 and 20 should be considered free reign to write entirely new journal entries. Stage 25 is completely unnecessary and can therefore be safely used as well. Don't worry about the result script there, those commands have already been dealt with.

In ALB, I instead chose to insert a new stage between 25 and 30 when the letter is taken from the adventurer's body. The written details in the letter allow you to then seamlessly insert yourself into the prisoner's role. In that stage, I gave it the following result script:
addtopic AmuletofKingsTopic
addtopic WeynonPrioryTopic
addtopic OrderofTalosTopic
addtopic JauffreTopic
addtopic UrielSeptimTopic
showmap weynonpriorymapmarker
set ALBPalaceCourierQuest.NewsDelivered to 2


The addtopic commands should look familiar. I transplanted them from stage 88 of CharacterGen. The showmap command merely logs Weynon Priory on the map, though the player still has to walk there. The last command is specific to ALB and tells the Geldall's Manor start to end the quest where the player is supposed to go see Chancellor Ocato.

For ALB, I chose to plant the body of a dead adventurer at Fort Ash who is the prisoner you would have been if the tutorial dungeon had been used. On this adventurer's body is the Amulet of Kings, and a note from Baurus to Jauffre detailing what happened. The poor sap got himself killed trying to reach Weynon Priory. One can roleplay it as the annoying highwayman's fault, or the fault of goblins in the immediate area.

Another example of how MQ02 was edited, in the "Alternative Start - Arrive by Ship" mod by Robert Evrae, stages 10 and 20 are used to deliver the main quest in the form of a dream the player has before arriving at port. Since the player has to use a bed to finish the character generation sequence, this fits in well. The Amulet of Kings is placed on a rat in the starting sewers, and stays there until the player decides to go retrieve it. An extra stage is added between 20 and 25 to update the quest when the player takes the amulet from the rat.

Let your imagination run wild here, there's almost no limit to the possibilities.
.........................
"It is pointless to resist, my son." -- Darth Vader
"Resistance is futile." -- The Borg
"Mother's coming for me in the dragon ships. I don't like these itchy clothes, but I have to wear them or it frightens the fish." -- Thurindil

Well. I guess that's that then.

       
« Cowboys & Aliens
Nuke Libya? »

Posted on Jul 31, 2011 1:32 am by Samson in: | 3 comment(s) [Closed]
Comments
Anonymous [Anon] said:
Comment #1 Aug 1, 2011 4:31 pm
Good tips, except for the fact that it's entirely possible to start in a new cell with no need to edit the initial dungeon at all. You just need to change the destination of stage 5 moveto command (player.moveto mynewstartingpoint). Regards.

       
I wonder if it would be possible to make one where you could start as a completely random character. Like a one button and done thing.

       
Quickstart. Yeah, I reckon that would be scriptable (not by me).

       
<< prev 1 next >>
Comments Closed
Comments for this entry have been closed.
Anonymous
Register

Forgot Password?

SuMoTuWeThFrSa
 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31