Islandia, where the economy hates all players equally
Quote from The Wargaming Scribe on 10 March 2023, 11h10Quote from Porkbelly on 10 March 2023, 3h27I'll have a look when we're done. Not even sure what language this is written in.
Ooo, I have island L double-fortified with 10 men. What could possibly go wrong?
You! Men! Take those walls down! Back into the sea!!!
If the RNG is reversed, I should send one man. 1:30 is the kind of odds I like :).
Quote from Porkbelly on 10 March 2023, 3h27I'll have a look when we're done. Not even sure what language this is written in.
Ooo, I have island L double-fortified with 10 men. What could possibly go wrong?
You! Men! Take those walls down! Back into the sea!!!
If the RNG is reversed, I should send one man. 1:30 is the kind of odds I like :).
Quote from The Wargaming Scribe on 10 March 2023, 15h17Quote from Porkbelly on 10 March 2023, 3h27I'll have a look when we're done. Not even sure what language this is written in.
The map generation is BBC Basic, but the rest is Assembler.
You can check the code here :
http://bbcmicro.co.uk/explore.php?id=2290
Quote from Porkbelly on 10 March 2023, 3h27I'll have a look when we're done. Not even sure what language this is written in.
The map generation is BBC Basic, but the rest is Assembler.
You can check the code here :
Quote from The Wargaming Scribe on 10 March 2023, 20h47OK, this is hilarious :
Odds were 2:30, but I had to try as I had no better target for all my soldiers. I took the liberty to play my turn a second time exactly the same way I did the first time to capture the gif.
For the record, I also attacked 2 unarmed ships this turn, damaging none.
OK, this is hilarious :
Odds were 2:30, but I had to try as I had no better target for all my soldiers. I took the liberty to play my turn a second time exactly the same way I did the first time to capture the gif.
For the record, I also attacked 2 unarmed ships this turn, damaging none.
Quote from The Wargaming Scribe on 10 March 2023, 20h54As I see it we have two choices :
- Stop now.
- Carry on with the house rule "you can only attack if you have MORE people than the defenders (x2 if fortification level 1, x3 if fortification level 2). If we did this, it would be fair to reload the game to before Ahab lost all his troops attacking A.
As I see it we have two choices :
- Stop now.
- Carry on with the house rule "you can only attack if you have MORE people than the defenders (x2 if fortification level 1, x3 if fortification level 2). If we did this, it would be fair to reload the game to before Ahab lost all his troops attacking A.
Quote from Argyraspide on 10 March 2023, 21h02Ha ha! That's quite the bug.
Someone get Gollop on the horn, this is an outrage!
Ha ha! That's quite the bug.
Someone get Gollop on the horn, this is an outrage!
Quote from DDG Ahab on 10 March 2023, 21h43Holy edge case Batman! Here I was thinking there's no way a bug like that could have gone unnoticed and we just had strange luck. But at some point you just can't blame coincidence any more.
TBH, I don't much like the proposed house rule, even if I get to redo my turn. My preference would be just carry on and let insanity rule the last few turns. Second choice would be to declare Islandia a SNAFU and stop.
Incidentally, how do we explain the conquest of islands with zero defenders, as when Scribe took J for the most recent time? If the odds are reversed then these should be invincible. But it is both possible to take an undefended island and possible to fail to take an undefended island.
Holy edge case Batman! Here I was thinking there's no way a bug like that could have gone unnoticed and we just had strange luck. But at some point you just can't blame coincidence any more.
TBH, I don't much like the proposed house rule, even if I get to redo my turn. My preference would be just carry on and let insanity rule the last few turns. Second choice would be to declare Islandia a SNAFU and stop.
Incidentally, how do we explain the conquest of islands with zero defenders, as when Scribe took J for the most recent time? If the odds are reversed then these should be invincible. But it is both possible to take an undefended island and possible to fail to take an undefended island.
Quote from The Wargaming Scribe on 10 March 2023, 22h12Given the circumstances of Gollop’s (and all the other devs) departure of Red Shift, and that I believe (but cannot prove it) that Islandia was released after his departure, I am wondering whether it could be a “parting present” for Red Shift.
or it could be simply a bug introduced by whoever moved the code on Internet. I recently learned that the “tutorial” when launching the game was not present in the OG tape edition but added by the owner of the first BBC Micro retro site who did not want or could not upload the manuals. Same with TimeLords. Maybe he did other changes that created the issue ?
Given the circumstances of Gollop’s (and all the other devs) departure of Red Shift, and that I believe (but cannot prove it) that Islandia was released after his departure, I am wondering whether it could be a “parting present” for Red Shift.
or it could be simply a bug introduced by whoever moved the code on Internet. I recently learned that the “tutorial” when launching the game was not present in the OG tape edition but added by the owner of the first BBC Micro retro site who did not want or could not upload the manuals. Same with TimeLords. Maybe he did other changes that created the issue ?
Quote from The Wargaming Scribe on 10 March 2023, 22h14I am in favor of ending the game here. I have enough material for my article and I feel I have a good understanding of the game.
Except if Porkbelly finds out I was ungodly lucky and that the game works as designed.
I am in favor of ending the game here. I have enough material for my article and I feel I have a good understanding of the game.
Except if Porkbelly finds out I was ungodly lucky and that the game works as designed.
Quote from Argyraspide on 11 March 2023, 12h12I'm in favour of continuing, if only to fill in my graphs and tables in Excel.
And I don't think there'd be a need to adapt the rules. Just keep one unit on your island, and you're protected. If someone wants to take it, they'll attack with one unit to get a 50/50 chance. Seems fair. (Unless there's fortifications, of course)
I'm in favour of continuing, if only to fill in my graphs and tables in Excel.
And I don't think there'd be a need to adapt the rules. Just keep one unit on your island, and you're protected. If someone wants to take it, they'll attack with one unit to get a 50/50 chance. Seems fair. (Unless there's fortifications, of course)
Quote from Porkbelly on 11 March 2023, 13h27Ok, well I just spent a few hours looking at the code. It's actually in a tokenized Basic so just needed a mild thrashing with my magic spatula to reveal it's secrets. I could post the whole program if anyone is interested (it's only 200 lines of code) but the relevant portion is the combat routine... this is it. (sorry about the line numbers in hex, some kind of cryptic BBC encoding that currently eludes me).
There is a TLDR below if you want to just scroll down to the conclusion.. and I'm good to continue BTW. Waiting on Ahab now I think.
05 78 57 DEF PROC C(A%) LOCAL B%,C%,D%,E%,F%:MOVE HX%(A%),HY%(A%):GCOL 4,0:VDU 158:SOUND 1,-15,52,6:FOR B%=0 TO I%: IF I%(B%)=0NEXT:ENDPROC
05 82 5C K%(B%)=TRUE:C%=OW%(B%):MOVE X%(B%)+32,Y%(B%):D%=130:GCOL 0,D%: IF C%<0 D%=129:GCOL 0,D%:E%=N%(B%) ELSE E%=A%(C%)
05 8C 39 VDU 127:GCOL 0,130:VDU 127:PROC G(A%):VDU 151:PROC G(C%):VDU 152:FOR F%=0 TO 4999:NEXT
05 96 2A A=RND(1):B=I%(B%)/(I%(B%)+E%): IF A>B GOTO 74 7E 45
05 A0 37 GCOL 0,D%:FOR F%=155 TO 156:VDU 127,F%:PROC P:NEXT:PROC P:VDU 127:FOR F%=0 TO 4999:NEXT
05 AA 48 PROC K(1580):A%(B%)=(B-A)/B*I%(B%)+1:OW%(B%)=A%: IF C%<0 N%(B%)=N%(B%)*A/B+1
05 B4 0E PROC E(B%):NEXT:ENDPROC
05 BE 42 GCOL 0,130:VDU 8:PROC G(A%):FOR F%=153 TO 154:VDU 127,F%:PROC P:NEXT:PROC P:VDU 127:FOR F%=0 TO 4999:NEXT
05 C8 42 IF C%<0 N%(B%)=N%(B%)*(1+(A-B)/(1-B)) ELSE A%(B%)=A%(B%)*(A-B)/(1-B)+1
05 F2 12 PROC K(1570):GOTO 74 74 45Let me render this in English:
COMBAT PROC
- For each island B% being attacked (where #attackers I%(B%) > 0)
- Find the island owner C%=OW%(B%)
- If owner is native, C%<0, then #defenders %E = #natives, else #defenders %E = #island defenders A%(C%)
- A=RND(1) {this generates a real number between 0 and 1 to 10 decimal places}
- B=#attackers/(#attackers+#defenders)
- IF A > B THEN GOTO YouLose
- {YouWin}
- #yourSurvivors A%(B%) = (B-A)/B * #attackers +1 {minimum 1 survivor}
- Switch owner to you OW%(B%)=A%
- If island was native owned then adjust #natives N%(B%)=N%(B%) * A/B+1 {minimum 1 survivor}
- {YouLose}
- If island is native owned then adjust #natives N%(B%)=N%(B%)*(1+(A-B)/(1-B)) {always minimum 1}
- Otherwise adjust #survivors A%(B%)=A%(B%)*(A-B)/(1-B)+1 {minimum 1 survivor}
What I don't see anywhere in the code is that Fortifications do anything at all. There is a program variable F%(id) that holds the fort level of each island, but I don't see it being referenced anywhere.
TLDR
- forts don't seem to be taken into account, apart from purchasing and the graphics routines to draw them I don't see any reference (possibly I missed it).
- %chance of winning =#attackers/(#attackers+#defenders)
- 2 men attacking 10 has 2/12 or 16% chance of winning the battle. 1 in 6!!!
In conclusion, I don't think the combat formula is bugged, it's just that odds are much less decisive than you would expect, unless there are no defenders. Neutral islands always have natives so will be a bit of a coin toss. Actually, making two attempts at an island using smaller numbers would be safer than trying to overwhelm, considering that defenders will be diminished if the first attempt fails. The bug is that those expensive forts should be making quite a crucial difference and they are not doing that.
Ok, well I just spent a few hours looking at the code. It's actually in a tokenized Basic so just needed a mild thrashing with my magic spatula to reveal it's secrets. I could post the whole program if anyone is interested (it's only 200 lines of code) but the relevant portion is the combat routine... this is it. (sorry about the line numbers in hex, some kind of cryptic BBC encoding that currently eludes me).
There is a TLDR below if you want to just scroll down to the conclusion.. and I'm good to continue BTW. Waiting on Ahab now I think.
05 78 57 DEF PROC C(A%) LOCAL B%,C%,D%,E%,F%:MOVE HX%(A%),HY%(A%):GCOL 4,0:VDU 158:SOUND 1,-15,52,6:FOR B%=0 TO I%: IF I%(B%)=0NEXT:ENDPROC
05 82 5C K%(B%)=TRUE:C%=OW%(B%):MOVE X%(B%)+32,Y%(B%):D%=130:GCOL 0,D%: IF C%<0 D%=129:GCOL 0,D%:E%=N%(B%) ELSE E%=A%(C%)
05 8C 39 VDU 127:GCOL 0,130:VDU 127:PROC G(A%):VDU 151:PROC G(C%):VDU 152:FOR F%=0 TO 4999:NEXT
05 96 2A A=RND(1):B=I%(B%)/(I%(B%)+E%): IF A>B GOTO 74 7E 45
05 A0 37 GCOL 0,D%:FOR F%=155 TO 156:VDU 127,F%:PROC P:NEXT:PROC P:VDU 127:FOR F%=0 TO 4999:NEXT
05 AA 48 PROC K(1580):A%(B%)=(B-A)/B*I%(B%)+1:OW%(B%)=A%: IF C%<0 N%(B%)=N%(B%)*A/B+1
05 B4 0E PROC E(B%):NEXT:ENDPROC
05 BE 42 GCOL 0,130:VDU 8:PROC G(A%):FOR F%=153 TO 154:VDU 127,F%:PROC P:NEXT:PROC P:VDU 127:FOR F%=0 TO 4999:NEXT
05 C8 42 IF C%<0 N%(B%)=N%(B%)*(1+(A-B)/(1-B)) ELSE A%(B%)=A%(B%)*(A-B)/(1-B)+1
05 F2 12 PROC K(1570):GOTO 74 74 45
Let me render this in English:
COMBAT PROC
- For each island B% being attacked (where #attackers I%(B%) > 0)
- Find the island owner C%=OW%(B%)
- If owner is native, C%<0, then #defenders %E = #natives, else #defenders %E = #island defenders A%(C%)
- A=RND(1) {this generates a real number between 0 and 1 to 10 decimal places}
- B=#attackers/(#attackers+#defenders)
- IF A > B THEN GOTO YouLose
- {YouWin}
- #yourSurvivors A%(B%) = (B-A)/B * #attackers +1 {minimum 1 survivor}
- Switch owner to you OW%(B%)=A%
- If island was native owned then adjust #natives N%(B%)=N%(B%) * A/B+1 {minimum 1 survivor}
- {YouLose}
- If island is native owned then adjust #natives N%(B%)=N%(B%)*(1+(A-B)/(1-B)) {always minimum 1}
- Otherwise adjust #survivors A%(B%)=A%(B%)*(A-B)/(1-B)+1 {minimum 1 survivor}
What I don't see anywhere in the code is that Fortifications do anything at all. There is a program variable F%(id) that holds the fort level of each island, but I don't see it being referenced anywhere.
TLDR
- forts don't seem to be taken into account, apart from purchasing and the graphics routines to draw them I don't see any reference (possibly I missed it).
- %chance of winning =#attackers/(#attackers+#defenders)
- 2 men attacking 10 has 2/12 or 16% chance of winning the battle. 1 in 6!!!
In conclusion, I don't think the combat formula is bugged, it's just that odds are much less decisive than you would expect, unless there are no defenders. Neutral islands always have natives so will be a bit of a coin toss. Actually, making two attempts at an island using smaller numbers would be safer than trying to overwhelm, considering that defenders will be diminished if the first attempt fails. The bug is that those expensive forts should be making quite a crucial difference and they are not doing that.
Quote from Porkbelly on 11 March 2023, 13h56Here's something I found in the code that I didn't see in the instructions.
You can "Blockade" an island by bumping into it with a Battleship or Steamship. I'm not yet sure if that needs to be at the port or just anywhere on the coast. It will prompt with a Blockade? (same as it does for Repairs? or Exploration?). Anyway, blockading the island at any point during the turn sets a flag that will prevent the owner from receiving any income from that island. I also haven't checked if crippled warships can blockade. In any case this is certainly a good tactical option be aware of.
Here's something I found in the code that I didn't see in the instructions.
You can "Blockade" an island by bumping into it with a Battleship or Steamship. I'm not yet sure if that needs to be at the port or just anywhere on the coast. It will prompt with a Blockade? (same as it does for Repairs? or Exploration?). Anyway, blockading the island at any point during the turn sets a flag that will prevent the owner from receiving any income from that island. I also haven't checked if crippled warships can blockade. In any case this is certainly a good tactical option be aware of.
Quote from DDG Ahab on 11 March 2023, 17h58Thanks for that writeup, but there's one thing I don't get. I attacked Scribe's undefended island some time ago and lost. After I lost, it had one defender. How can that be? Your formula predicts my chance of winning should be n/(n+0) = 1. All I can think is that for combat purposes, undefended means the natives are the defenders.
The blockade rule also might explain why I barely made any cash last turn, but I feel like both of my islands are underperforming.
Thanks for that writeup, but there's one thing I don't get. I attacked Scribe's undefended island some time ago and lost. After I lost, it had one defender. How can that be? Your formula predicts my chance of winning should be n/(n+0) = 1. All I can think is that for combat purposes, undefended means the natives are the defenders.
The blockade rule also might explain why I barely made any cash last turn, but I feel like both of my islands are underperforming.
Quote from The Wargaming Scribe on 11 March 2023, 18h14For the blockade, I had never a query to blockade you. Your low revenue may come from the fact that you repaired two ships that turn.
Given the new analysis by Porkbelly (I don’t consider the fort bug showstopper) and the fact that Argyraspide wants to finish the game, I believe we should finish. If Porkbelly accepts - he had a big loss.
For the blockade, I had never a query to blockade you. Your low revenue may come from the fact that you repaired two ships that turn.
Given the new analysis by Porkbelly (I don’t consider the fort bug showstopper) and the fact that Argyraspide wants to finish the game, I believe we should finish. If Porkbelly accepts - he had a big loss.
Quote from Argyraspide on 11 March 2023, 19h00Also, there has to be something wrong with ship purchase, because I did buy ships the last 2 turns, and none of them showed up.
Also, there has to be something wrong with ship purchase, because I did buy ships the last 2 turns, and none of them showed up.
Quote from Porkbelly on 11 March 2023, 20h15Yes, I'm happy to keep going, there's not many turns left. All those men on island L were a bunch of scoundrels anyway, much better off without them. I am of course going to try and blockade L this turn. 🙂
Ahab, if you meant island A, I think those were all natives, or did you mean island M? You're right the formulas indicate that attack against an owned island with no troops should always succeed, hmm. And I'm not sure about why purchased ships might not show up... just note that there is a delay of one turn before new builds arrive.
Yes, I'm happy to keep going, there's not many turns left. All those men on island L were a bunch of scoundrels anyway, much better off without them. I am of course going to try and blockade L this turn. 🙂
Ahab, if you meant island A, I think those were all natives, or did you mean island M? You're right the formulas indicate that attack against an owned island with no troops should always succeed, hmm. And I'm not sure about why purchased ships might not show up... just note that there is a delay of one turn before new builds arrive.
Quote from The Wargaming Scribe on 11 March 2023, 20h41Quote from Porkbelly on 11 March 2023, 20h15Yes, I'm happy to keep going, there's not many turns left. All those men on island L were a bunch of scoundrels anyway, much better off without them. I am of course going to try and blockade L this turn.
Ahab, if you meant island A, I think those were all natives, or did you mean island M? You're right the formulas indicate that attack against an owned island with no troops should always succeed, hmm. And I'm not sure about why purchased ships might not show up... just note that there is a delay of one turn before new builds arrive.
It was on Island J that I owned. He attacked with 2 soldiers against 0 and he lost. I ended with one soldier (logical given the “minimum =1” for the survivors in the code).
Quote from Porkbelly on 11 March 2023, 20h15Yes, I'm happy to keep going, there's not many turns left. All those men on island L were a bunch of scoundrels anyway, much better off without them. I am of course going to try and blockade L this turn.
Ahab, if you meant island A, I think those were all natives, or did you mean island M? You're right the formulas indicate that attack against an owned island with no troops should always succeed, hmm. And I'm not sure about why purchased ships might not show up... just note that there is a delay of one turn before new builds arrive.
It was on Island J that I owned. He attacked with 2 soldiers against 0 and he lost. I ended with one soldier (logical given the “minimum =1” for the survivors in the code).
Quote from DDG Ahab on 11 March 2023, 20h57Quote from The Wargaming Scribe on 11 March 2023, 18h14For the blockade, I had never a query to blockade you. Your low revenue may come from the fact that you repaired two ships that turn.
I didn't repair any ships turn 7, and unless I forgot one I only repaired one in turn 6, before you sank it.
Quote from The Wargaming Scribe on 11 March 2023, 18h14For the blockade, I had never a query to blockade you. Your low revenue may come from the fact that you repaired two ships that turn.
I didn't repair any ships turn 7, and unless I forgot one I only repaired one in turn 6, before you sank it.
Quote from Porkbelly on 12 March 2023, 18h58Just tested Blockade against island L and it seems to be working. So, no cookies for you this turn.
Note that you do need bump into the port area, it won't work just anywhere.
Just tested Blockade against island L and it seems to be working. So, no cookies for you this turn.
Note that you do need bump into the port area, it won't work just anywhere.
Quote from The Wargaming Scribe on 13 March 2023, 14h01Quote from Porkbelly on 12 March 2023, 18h58Just tested Blockade against island L and it seems to be working. So, no cookies for you this turn.
Note that you do need bump into the port area, it won't work just anywhere.
Do you know if you need to blockade at the end of the second "movement phase" or if blockading in the first movement phase has an impact ?
Quote from Porkbelly on 12 March 2023, 18h58Just tested Blockade against island L and it seems to be working. So, no cookies for you this turn.
Note that you do need bump into the port area, it won't work just anywhere.
Do you know if you need to blockade at the end of the second "movement phase" or if blockading in the first movement phase has an impact ?
Quote from DDG Ahab on 14 March 2023, 22h14Another island falls at improbable odds. I don't get it - this many successes in a row would be strange even if combat was a purely 50/50 shot.
Another island falls at improbable odds. I don't get it - this many successes in a row would be strange even if combat was a purely 50/50 shot.