Boudicca's Rebellion - Creation Thread

Here's the scenario files - note there's still a lot of clutter (old testing saves etc.) but if anyone would like to play the scenario they can feel free. Note that there isn't much of a readme yet so a few things:

I lost, so congratulations. The scenario seems winnable, but you can't play sloppy and expect to win, even after you gather most of your forces at Watling Street. Is there a proper 'you lose' event?

I noticed a few things:
1. The Legacy Event Engine update window shows when the scenario starts. To avoid this, when you load your workon saved game, select the "Yes, Clear Data from Legacy Events" option. Then, save as a scenario.

2. Your 'set the tone' music event at the start of the scenario clashed with the game music. Based on experience with OTR, add a second track of the same length, but silent. Use gen.playMusic with the silent track, and civ.playSound with the music.

3. You may wish to forbid the sale of city improvements in this game. I sold a port in Londinium (I think) to fund a transport to take the 2 Auxilia from France across the Channel. You may also want to change the initial production in most cities. They were set to produce Auxilia, but that didn't appear in the build list. For that matter, is there much point in getting gold besides rushing a couple units? At least one event has a gold penalty, yet with so little to spend, there doesn't seem much point. I suppose it is worthwhile for the sake of example, however.

4. Use the text.addToArchive (or text.displayNextOpportunity) for some of your text boxes, particularly those that involve instructions to the player. I nearly forgot how far Suetonius had to go east.

5. You may want to make some garrison unit for the Icenii. Otherwise, once Watling Street happens, the other cities will be empty and available for a stray unit to capture. The Watling Street event excludes units with 0 attack value from being teleported, so that would be convenient to use.
 
I'll make all of these changes the next time I'm building. As far as a "you lose" event, I dont really have one. You only have 30 turns to secure the objective cities and in my playtests the battle usually takes you to 20-24 or so before you can expand.

As far as building things or making money, no, there's really not much point. This scenario plays out over a month or so... Most stuff that could be built would be done with the aim of sharing examples, only, frankly.
 
I'll make all of these changes the next time I'm building. As far as a "you lose" event, I dont really have one. You only have 30 turns to secure the objective cities and in my playtests the battle usually takes you to 20-24 or so before you can expand.

Interesting, I had lost Watling Street by turn 11. Maybe I could have delayed the battle a bit longer to gather my troops, though I ended up losing most of the stuff that wasn't sent to fight Druids, so there wasn't much more to gather.

As far as building things or making money, no, there's really not much point. This scenario plays out over a month or so... Most stuff that could be built would be done with the aim of sharing examples, only, frankly.

Not a problem. Just wanted to make sure I didn't miss anything.
 
For Watling St were you using the legion's ranged attacks to wear down the Britons, or attacking directly?
 
For Watling St were you using the legion's ranged attacks to wear down the Britons, or attacking directly?

Attacking directly. I didn't realize (or forgot) that they had a munition. I suspect that I would have been better off just leaving all the units fortified, and letting the Icenii throw themselves at me.
 
It's alive!!!!! I can finally work more than just a few moments each morning! The power of ethernet has returned to me! I'll get back to work on Boudicca now.

upload_2021-1-8_17-40-15.png
 
Hi, running into some trouble with the archive system. This:

Code:
if turn == 1 then 
gen.playMusic("themeSilent.wav")
civ.playSound("theme.wav")
text.addToArchive(func.splitlines(object.xIntroText1))
text.addToArchive(func.splitlines(object.xIntroText2))
text.addToArchive(func.splitlines(object.xIntroText3))
text.addToArchive(func.splitlines(object.xIntroText4))
end

Leads to this:

Code:
64, table: 06C14E00
File number 1 event ending at line 10 successfully parsed.  Event number is 1.
D:\Test of Time\Scenario\Boudicca\LuaCore\text.lua:304: attempt to get length of a nil value (local 'archiveTable')
stack traceback:
    D:\Test of Time\Scenario\Boudicca\LuaCore\text.lua:304: in function 'text.addToArchive'
    ...ime\Scenario\Boudicca\LuaTriggerEvents\triggerEvents.lua:160: in function 'triggerEvents.onTurn'
    D:\Test of Time\Scenario\Boudicca\events.lua:126: in function <D:\Test of Time\Scenario\Boudicca\events.lua:119>
 
All the things you mentioned in this post are complete with the exception of the text add to archive. I also made a tweak to the Catus event to teleport him to Gaul rather than simply deleting him.

Bearing in mind that this is a template scenario designed to ship with this to give some examples that people can copy, past, and tweak, I do not "need" any new events for the scenario to function, so I guess we should just take a look at if there's anything we really feel ought to have an example as it might be confusing, and create an event for that.

Other than that I need a short readme and can do some more work on the designer's readme for the template.
 
You need more arguments for text.addToArchive:
-- text.addToArchive(tribe or TribeID,messageBody,messageTitle,archiveTitle)-->void

Try
text.addToArchive(object.tRomans,object.xIntroText1,"Introduction","Introduction")

You can also combine all the text into one
Code:
message = object.xIntroText1.."%PAGEBREAK"..object.xIntroText2.."%PAGEBREAK"..object.xIntroText3.."%PAGEBREAK"..object.xIntroText4
text.addToArchive(object.tRomans,message,"Introduction","Introduction")
 
Trying to wrap this up with the add to archive's but when I test it and go to "next" I get this error:

Code:
64, table: 05D4D030
File number 1 event ending at line 10 successfully parsed.  Event number is 1.
...est of Time\Scenario\Boudicca\LuaCore\generalLibrary.lua:2738: The Global table can't accept values for indices that don't already exist.  Key value is: chosenOption
stack traceback:
    [C]: in function 'error'
    ...est of Time\Scenario\Boudicca\LuaCore\generalLibrary.lua:2738: in metamethod '__newindex'
    D:\Test of Time\Scenario\Boudicca\LuaCore\text.lua:510: in function 'text.displayArchivedMessage'
    (...tail calls...)
    ...Time\Scenario\Boudicca\LuaRulesEvents\keyPressEvents.lua:32: in field '?'
    ...Time\Scenario\Boudicca\LuaRulesEvents\keyPressEvents.lua:98: in function 'keyPressEvents.doKeyPress'
 
Hi John,

I've finally gotten around to trying out Boudicca. I have a specifc question in the spoiler which I hope you can help me understand.

Note: For those who haven't tried the scenario yet you should avoid reviewing the spoiler as it reveals some crucial game events

Spoiler Game events revealed. :

In my first play test, I had sent the vast majority of my force to capture Mona Insula, which I did by the second or third turn. But the time it took to load them back onto the ships, re-land them in England, march them to Viroconium, gather the bulk of my 2 legions there and then move on towards Verulamium it was already too late as by the time I came within six tiles of that city I was confronted by a wall of Iceni troops.

The matter wasn’t helped by the fact that I handled the IX legion poorly, spoon feeding them into the battle against Iceni troops around Longthorpe which brought about their relatively quick demise, causing even more rebels to join the rebellion.

Realizing I was fighting a losing battle I decided to start a 2nd game

This time around, I just landed the troops that were already on ships along with the Siege Tower and immediately sent the bulk of my other troops eastward including Suetonius.

By turn 5, as I came within 5 tiles of Verulamium, I received the following message:

upload_2021-2-22_17-58-10.png


As indicated, battleground tiles appeared on the map, and I decided to withdraw my troops back westward to tile (55,103) to make my last stand. Once in place, on turn 9, I pressed ‘3’ both when Suetonius was active and not and nothing appears to happen.

I’m I doing something wrong. Why don’t the Iceni seem to respond?


Let me know if you require further information or a save game
 
Thanks, that worked.

Spoiler A few extra questions. :

It's now turn 19 and I'm not sure what is the next step. I activated the Iceni on turn 9 and have basically been holding my ground on tile (55,103) and killing any and all of their units that have come within one to two tiles of this location.

I'm I supposed to wrack up a certain body count before they break? Do I need to move forward to capture Londinium?

 
Spoiler :
You need to kill the Iceni and recapture the cities they took as well as their own. Killing Boudicca prevents new recruits from rallying to her cause.
 
Hi John,

So on my third attempt I was able to garner a decisive victory by defeating Boudicca and recapturing my lost cities and overtaking all the Iceni towns.

I have to say this is a particularly difficult scenario to win. It reminds me of your “Germanicus on the Rhine” which I have as of yet to defeat and I see you recently updated to lua. I might just try to have another go at that one as I’m not pleased that my legion standards are still in the clutches of those Germanic tribes.

Here is a brief recap on my three different attempts

(NOTE: Once again for those who haven’t yet played the scenario and don’t wish to be influenced please avoid the spoiler section).

Spoiler Game play tips. :
As you already know on my:

First attempt: I failed because I lingered too long around Mona Insula and couldn’t muster the strength to push back the Iceni hordes that were blocking the approaches to Verulamium and thereby trigger the Iceni reaction.

Second Attempt: having succeeded in triggering the Iceni reaction event, I decided to make my stand on the battleground tile at (55,103). But once the barbarian hordes arrived to confront me, I couldn’t truly move forward against the endless tide of enemy units and reach or confront Boudicca herself until it was too late to have any chance to mop up the survivors and move on to recapture my lost and the Iceni cities.

Final Attempt: I decided to be a little bolder and this time, leave only a small force of 3 Cohorts, some Auxiliary units along with Suetonius on tile (55,103) and place 10 Cohorts, most of my missile and cavalry units 3 tiles ahead on tile (59,105). This would either turn out to be another Custer’s last stand or allow me to confront and kill Boudicca earlier.

In the meantime, I had garrisoned my entire IX legion in the town of Longthorpe and it managed to survive intact despite multiple attacks from the Iceni up to this period.

On turn 10, Suetonious made his rally call and between turns 11 to 14 my exposed force had to successively endure, 59, 52, 80 and 42 attacks from Iceni troops. By turn 14, many of my Custer’s force cohorts were down to 1/3 strength when Boudicca finally showed up and managed to kill off 3 of them but was seriously injured in the process herself. On that turn, I was able to send Suetonious along with his Cohorts from tile (55,103) to join Custer’s group and kill Boudicca.

After that point, it was a question dispatching the many wounded Iceni in the area, while healing my main force as quickly as possible to be able to push on to recapture the enemy cities. This process was aided by my sending the bulk of my IX legion from Longthorpe and a couple of Cohorts from the XX legion stationed in Clevum to help in the mopping up operation and the final big push.


As usual your selection of graphics and map created are first class. It makes playing the scenario that much more enjoyable.

Once again you’ve implemented some very interesting ideas with lua. The way you gather the Iceni once Suetoniuos has laid down his challenge; and the consequences of Boudicca’s defeat are very interesting. The promotion of the Evocati is also an interesting concept for a scenario design; though I believe it’s probably a slightly varied implementation to the Carrier loses from Midway?

I didn’t see Prof. Garfield’s comments about forbidding the sale of city improvements prior to playing the game but I very rarely use this tactic in most of the scenarios I play as I don’t find it realistic anyway. Therefore it didn’t make any difference in my play through. I was still able to purchase maybe 4 or 5 Auxilia during the course of my last game just through the general taxes and though not much in terms of overall reinforcements they were a welcome addition nonetheless. But as the Prof. says preventing the sale of improvements can easily be done through the rules.txt file.

With regards his comments about garrisoning Iceni towns, except for Londinium, in the final phase of my campaign I had to fight to capture all the other cities under their control and even repel a number of Chariot attacks along the way. So though the final resistance wasn’t ‘fierce’, it wasn't entirely a push over either.

I'm not sure, is the Archived Message feature activated for this particular scenario? When I click on '1' I never seem to be able to access any type of message.

upload_2021-2-24_17-45-21.png


Overall, my only caveat is that the game is perhaps a little too scripted and it doesn’t leave the player with many strategic or intermediate level choices, though I do understand the particular nature of this campaign might have made it difficult for you to have done otherwise.

I believe part of the reason why you designed this scenario was for other less experienced members to use it as an example for the lua modular approach. To date I’ve haven’t delved too deep into the many lua files but plan on reviewing in more detail the Designer Readme document you provided as a first step.

I haven’t included a casualties list this time around because I believe the numbers can vary greatly depending on many different factors and therefore might not have been very useful to you.

I have included my last turn’s save game in case you are interested.

Another excellent work by a truly gifted duo of designer/developer!

Congratulations to you both,
 

Attachments

Last edited:
Back
Top Bottom