• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 11:26
CEST 17:26
KST 00:26
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL20] Ro24 Preview Pt2: Take-Off7[ASL20] Ro24 Preview Pt1: Runway132v2 & SC: Evo Complete: Weekend Double Feature4Team Liquid Map Contest #21 - Presented by Monster Energy9uThermal's 2v2 Tour: $15,000 Main Event18
Community News
Weekly Cups (Aug 18-24): herO dethrones MaxPax6Maestros of The Game—$20k event w/ live finals in Paris30Weekly Cups (Aug 11-17): MaxPax triples again!13Weekly Cups (Aug 4-10): MaxPax wins a triple6SC2's Safe House 2 - October 18 & 195
StarCraft 2
General
Aligulac - Europe takes the podium A Eulogy for the Six Pool Geoff 'iNcontroL' Robinson has passed away Weekly Cups (Aug 18-24): herO dethrones MaxPax 2v2 & SC: Evo Complete: Weekend Double Feature
Tourneys
Esports World Cup 2025 WardiTV Mondays Maestros of The Game—$20k event w/ live finals in Paris RSL: Revival, a new crowdfunded tournament series Sparkling Tuna Cup - Weekly Open Tournament
Strategy
Custom Maps
External Content
Mutation # 488 What Goes Around Mutation # 487 Think Fast Mutation # 486 Watch the Skies Mutation # 485 Death from Below
Brood War
General
ASL Season 20 Ro24 Groups Flash On His 2010 "God" Form, Mind Games, vs JD No Rain in ASL20? Joined effort [ASL20] Ro24 Preview Pt2: Take-Off
Tourneys
[ASL20] Ro24 Group F [ASL20] Ro24 Group D [Megathread] Daily Proleagues [IPSL] CSLAN Review and CSLPRO Reimagined!
Strategy
Simple Questions, Simple Answers Fighting Spirit mining rates [G] Mineral Boosting Muta micro map competition
Other Games
General Games
Nintendo Switch Thread General RTS Discussion Thread Stormgate/Frost Giant Megathread Dawn of War IV Path of Exile
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
Russo-Ukrainian War Thread US Politics Mega-thread Things Aren’t Peaceful in Palestine The year 2050 European Politico-economics QA Mega-thread
Fan Clubs
INnoVation Fan Club SKT1 Classic Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Manga] One Piece [\m/] Heavy Metal Thread
Sports
2024 - 2026 Football Thread Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
High temperatures on bridge(s) Gtx660 graphics card replacement Installation of Windows 10 suck at "just a moment"
TL Community
The Automated Ban List TeamLiquid Team Shirt On Sale
Blogs
RTS Design in Hypercoven
a11
Evil Gacha Games and the…
ffswowsucks
Breaking the Meta: Non-Stand…
TrAiDoS
INDEPENDIENTE LA CTM
XenOsky
[Girl blog} My fema…
artosisisthebest
Sharpening the Filtration…
frozenclaw
ASL S20 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1229 users

legend of zelda math problem

Blogs > calgar
Post a Reply
1 2 Next All
calgar
Profile Blog Joined November 2007
United States1277 Posts
December 23 2011 23:37 GMT
#1
I'm no good at math but I was curious to know the expected value of a mini game in the new Legend of Zelda: Skyward sword. It's sort of like mine sweeper and you get money for every safe square you pick. It has several modes, but the basic one is set up like this:

-the board for the game, "thrill digger", is a 5x4 grid, and you choose squares in the grid
-4 bombs are randomly placed in the grid, game ends when you hit a bomb
-you get rupees based on how many bombs are adjacent to that safe square you choose
-1 rupee for a square with no adjacent bombs (these help narrow where the bombs are though)
-5 rupees for a square with 1 or 2 adjacent bombs
-20 rupees for a square with 3 or 4 adjacent bombs
-the game costs 30 rupees to play

So what I've figured is that you have a 20% chance to lose right off the bat on your first pick. This means you need to average 37.5 rupees in your other games to break even. The most money you could make is, I think, 108? That's with the 4 bombs in a line, maximing the number of 20 rupee squares to 4.

My strategy so far has been to pick the corners because if its blue then I will narrow down bomb locations until I have to guess.

*****
Cyber_Cheese
Profile Blog Joined July 2010
Australia3615 Posts
December 24 2011 01:00 GMT
#2
Interesting, at first glance it doesn't sound profitable.
The moment you lose confidence in yourself, is the moment the world loses it's confidence in you.
ReketSomething
Profile Blog Joined November 2008
United States6012 Posts
December 24 2011 01:40 GMT
#3
I played this game about 50 times for hours and hours and I more or less came out even (making no obvious mistakes)

I only made about 200 profit because of a couple of games where I hit it big. Most of the time I break even though.
Jaedong :3
n.DieJokes
Profile Blog Joined November 2008
United States3443 Posts
December 24 2011 01:47 GMT
#4
This looks like a fun problem, if no one answers it by the time I finish my take home exam I'll give it a crack
MyLove + Your Love= Supa Love
bananaman533
Profile Joined June 2010
86 Posts
December 24 2011 01:50 GMT
#5
You have to include that if you get all the non-bomb squares, the guy who runs the minigame gives you something (I got a small blue feather, sells for 100 rupees). Idk if you win that every time or if its just a one time thing though.
]343[
Profile Blog Joined May 2008
United States10328 Posts
Last Edited: 2011-12-24 01:59:02
December 24 2011 01:57 GMT
#6
lol, my friend played this and made quite a profit? because there are random (3-4, I think) silver rupees worth 100.

unless you changed it for the purposes of the math problem (?) for your problem as it stands, I suspect the best solution is "by computer" (because as a combinatorics problem, it's quite ugly D: too many cases)
Writer
Iranon
Profile Blog Joined March 2010
United States983 Posts
Last Edited: 2011-12-24 02:37:26
December 24 2011 02:31 GMT
#7
On December 24 2011 08:37 calgar wrote:
I'm no good at math but I was curious to know the expected value of a mini game in the new Legend of Zelda: Skyward sword. It's sort of like mine sweeper and you get money for every safe square you pick. It has several modes, but the basic one is set up like this:

-the board for the game, "thrill digger", is a 5x4 grid, and you choose squares in the grid
-4 bombs are randomly placed in the grid, game ends when you hit a bomb
-you get rupees based on how many bombs are adjacent to that safe square you choose
-1 rupee for a square with no adjacent bombs (these help narrow where the bombs are though)
-5 rupees for a square with 1 or 2 adjacent bombs
-20 rupees for a square with 3 or 4 adjacent bombs
-the game costs 30 rupees to play

So what I've figured is that you have a 20% chance to lose right off the bat on your first pick. This means you need to average 37.5 rupees in your other games to break even. The most money you could make is, I think, 108? That's with the 4 bombs in a line, maximing the number of 20 rupee squares to 4.

My strategy so far has been to pick the corners because if its blue then I will narrow down bomb locations until I have to guess.


Cool problem, but unfortunately I highly doubt there's a legit solution to finding an optimal strategy or even expected value without exhaustive computer search through all 4845 possible positions (which isn't very many at all, computer-wise, but clearly too many to attack by hand, even counting symmetry).

As a quick note, your 108 best case is wrong. You get 108 for the arrangement

ooxoo
ooxoo
ooxoo
ooxoo

where o is empty and x is a bomb, but

ooooo
oxoxo
oxoxo
ooooo

gives 110, and what I think is best is

ooooo
xxxxo
ooooo
ooooo

which gives 120. Worst case is obviously 0 if you hit a bomb straight off the bat, but worst case if you clear the board is 32:

xoooo
xoooo
xoooo
xoooo

Might edit more stuff in later -- cooking things for Christmas and browsing TL in my sporadic downtime.
ohokurwrong
Profile Blog Joined November 2011
Brazil283 Posts
December 24 2011 02:32 GMT
#8
side note how is the game getting it for xmas (saw brother with it, clearly my gift from him)
Adeny
Profile Blog Joined January 2009
Norway1233 Posts
December 24 2011 02:37 GMT
#9
Questions:

Do bombs on the diagonals count as "adjacent"?
Do you get to know how many points your square gave, ala minesweeper? Or do you not know until after?
Telegnosis
Profile Joined June 2011
United States49 Posts
December 24 2011 02:47 GMT
#10
On December 24 2011 11:31 Iranon wrote:
Worst case is obviously 0 if you hit a bomb straight off the bat, but worst case if you clear the board is 32:

xoooo
xoooo
xoooo
xoooo



That board would yield 62 for a full clear, worst should be:

xxooo
xxooo
ooooo
ooooo

for 36.
TL gives excellent advice 99% of the time. The problem is no one listens to it. - Plexa
Iranon
Profile Blog Joined March 2010
United States983 Posts
December 24 2011 02:50 GMT
#11
On December 24 2011 11:47 Telegnosis wrote:
Show nested quote +
On December 24 2011 11:31 Iranon wrote:
Worst case is obviously 0 if you hit a bomb straight off the bat, but worst case if you clear the board is 32:

xoooo
xoooo
xoooo
xoooo



That board would yield 62 for a full clear, worst should be:

xxooo
xxooo
ooooo
ooooo

for 36.


Oops - good catch. I had that 36 board in my post originally and edited it out sticking the wrong one in there.
calgar
Profile Blog Joined November 2007
United States1277 Posts
Last Edited: 2011-12-24 03:00:25
December 24 2011 02:53 GMT
#12
On December 24 2011 10:50 bananaman533 wrote:
You have to include that if you get all the non-bomb squares, the guy who runs the minigame gives you something (I got a small blue feather, sells for 100 rupees). Idk if you win that every time or if its just a one time thing though.
You can win the goddess plume and the blue bird feather also if you perfect clear, but that's a side note since I was more curious about the rupee value. If you consider the added bonus at the end then yeah it probably makes it more profitable.

There are actually 3 different difficulties, beginner, intermediate, and expert. The example problem I outlined is the beginner version. Medium and expert cost more rupees, have bigger grids, more bombs, but also negative rupees. Silver is from intermediate/expert and would be a '5' or '6' in minesweeper with 5 or 6 bad holes around it. I've played the beginner version mostly because it was cheaper, and after about 12 games I came out on top by 30 or so. I had a bad streak where I lost in 1 or 2 digs for 4 games but then I made 70, 80, and 100 also.

On December 24 2011 11:32 ohokurwrong wrote:
side note how is the game getting it for xmas (saw brother with it, clearly my gift from him)
It's pretty awesome, I've put in about 10 hours and had a blast. I read in a Game Informer article that the game designers consider it the best zelda they've made because it is so complete and stretches the boundaries with motion controls, sound (30 full orchestra songs?!), and storytelling.

On December 24 2011 11:37 Adeny wrote:Questions:
Do bombs on the diagonals count as "adjacent"?
Do you get to know how many points your square gave, ala minesweeper? Or do you not know until after?
As the king moves, they say. One square in any direction, horizontal, vertical, or diagonal counts. Since there are only 4 bombs in this version the most you can have is 20 rupees from having 3 or 4 bombs around the square in any variation.

You find out the value of the square after you dig it. It's like minesweeper, though, but the information provided isn't conclusive. Like, if you dig and you get a 5 rupee, you know that there is a dangerous square around it, but there could be 2, or just 1. Hope that helps.

edit: Good catch on 120 iranon. So 120 at best, and 32 at worst if you can full clear.
Adeny
Profile Blog Joined January 2009
Norway1233 Posts
December 24 2011 03:13 GMT
#13
Running it 100,000 times and just picking blindly, I get an average score of 11. That doesn't feel like it's correct though, but I checked manually and I get the right scores for the right boards. What am I missing? C# code here (albeit very messy, it's 4am and christmas, I don't feel like thinking) http://pastie.org/3065188
calgar
Profile Blog Joined November 2007
United States1277 Posts
Last Edited: 2011-12-24 03:27:37
December 24 2011 03:26 GMT
#14
On December 24 2011 12:13 Adeny wrote:
Running it 100,000 times and just picking blindly, I get an average score of 11. That doesn't feel like it's correct though, but I checked manually and I get the right scores for the right boards. What am I missing? C# code here (albeit very messy, it's 4am and christmas, I don't feel like thinking) http://pastie.org/3065188
Hm, is that just blind picking? edit - ah yeah, it is. Well if every square is randomly picked then that sounds like it makes sense. The trick here is that strategy would let you get much higher than that on average, though. Ie... if you run into a 20 rupee, then you automatically have a very good idea where 3 (or 4) of the bombs are, and can pick through the rest of the board. I have no idea how to program that though pfft..
Adeny
Profile Blog Joined January 2009
Norway1233 Posts
Last Edited: 2011-12-24 03:40:39
December 24 2011 03:36 GMT
#15
On December 24 2011 12:26 calgar wrote:
Show nested quote +
On December 24 2011 12:13 Adeny wrote:
Running it 100,000 times and just picking blindly, I get an average score of 11. That doesn't feel like it's correct though, but I checked manually and I get the right scores for the right boards. What am I missing? C# code here (albeit very messy, it's 4am and christmas, I don't feel like thinking) http://pastie.org/3065188
Hm, is that just blind picking? edit - ah yeah, it is. Well if every square is randomly picked then that sounds like it makes sense. The trick here is that strategy would let you get much higher than that on average, though. Ie... if you run into a 20 rupee, then you automatically have a very good idea where 3 (or 4) of the bombs are, and can pick through the rest of the board. I have no idea how to program that though pfft..


Yup just completely at random.

So let's talk strategy. First of, the corners are, on average, just as risky as the mid squares, but give far fewer points.
If we pick a square and get 1 rupee, we know that all squares around it are safe. This works recursively until we run out of squares that give 1 rupee (that are connected at least).
For squares that give 5 or 20 I think it's better to avoid all adjacent squares temporarily and pick at random again.
If we run out of squares that are 1. not adjacent to a 1-rupee square, and 2. not a corner, we need to weigh the risk of picking corner vs. the risk of picking next to a square that gave 5 or 20 rupees. We need to take 2 things in cosideration: How many squares could be bombs around the square we are considering to pick, and how likely is it that the square we are picking is a bomb. I think that covers everything, need some time to work on the specifics.

Edit: By corner I mean corner/edge.
Iranon
Profile Blog Joined March 2010
United States983 Posts
Last Edited: 2011-12-24 04:05:14
December 24 2011 04:01 GMT
#16
On December 24 2011 12:13 Adeny wrote:
Running it 100,000 times and just picking blindly, I get an average score of 11. That doesn't feel like it's correct though, but I checked manually and I get the right scores for the right boards. What am I missing? C# code here (albeit very messy, it's 4am and christmas, I don't feel like thinking) http://pastie.org/3065188


Nice, someone with programming knowledge. Depending on how you implemented things, you could simulate optimal decision-making by, when you're going to pick the next square,

- look at the previously chosen squares (now tagged as either 1, 5, or 20)
- check a database of all possible games and flag the ones which have those numbers in those locations, say there are N
- assign each of the 20 squares a probability of being a bomb by counting up how many of those N instances have a bomb there and dividing by N (ignore the squares you've chosen so far, of course)
- randomly choose one of the squares with the lowest probability as above

Of course, there's a bit more to it, namely it would be nice to replace the probability mentioned above with some sort of weighted average of the probability of it not being a bomb and the score it gives you, but that should be good enough to out-logic most human players.

Edit: as the above post points out, yeah, it would save you some time to recursively check all squares around a discovered 1, but you don't need to bother if you do the above (you'd eventually recurse through all those squares, as they'd get probability 0)
Primadog
Profile Blog Joined April 2010
United States4411 Posts
December 24 2011 04:03 GMT
#17
This is just minesweeper, no?
Thank God and gunrun.
Iranon
Profile Blog Joined March 2010
United States983 Posts
Last Edited: 2011-12-24 04:08:19
December 24 2011 04:05 GMT
#18
On December 24 2011 13:03 Primadog wrote:
This is just minesweeper, no?


It's minesweeper with a scoring system instead of just a fastest time to clear. So yeah, an implementation of an optimal minesweeper strategy would give you the best shot at clearing the board, and clearing the board gives you the best possible score, but sometimes in minesweeper there are logical dead ends where any of 2-3 squares could be a bomb and otherwise you're stuck -- here there's some extra mechanics going on which make some of those squares potentially better than others, since even if they're equally likely to be a bomb they might not be equally likely to score 1 or 5 or 20....
Primadog
Profile Blog Joined April 2010
United States4411 Posts
Last Edited: 2011-12-24 04:56:46
December 24 2011 04:50 GMT
#19
Rewording the OP as following:

Assuming all puzzles are solvable, 'perfect' play, and ignoring value of user time, is playing "thrill digger" profitable?

  • aka, is expected value E of the game greater than the cost of the game?
  • As calgar stated, to break even, E must exceed 37.5 (cost of the game 30 / 80% autolose rate)
  • The number of maps possible is a simple combination problem (20 pick 4), so 20! / 4! / 16! = 4845 maps possible
  • As Telegnosis stated, the minimum final score is 36:
    xxooo
    xxooo
    ooooo
    ooooo

    Let's call this formation min. There're 3 other version of this map possible, one for each corner. So four cases of Score(min) = 36.
  • The following formation scores 63 points:
    xxooo
    xoooo
    ooooo
    xoooo

    Let's call this formation b. There're 3 other version of this map possible, one for each corner. So four cases of Score(b) = 63



We need to find whether E > 37.5
  • The expected value of all cases of Score_b and all cases of Score_min is (4 x 36 + 4 x 63 ) / (4+4) = 49.5, which is more than 37.5.
  • All other map formulations besides Score(min) and Score(b) score higher than 37.5.
  • Therefore the expected value of the game must exceed 37.5.


Therefore, given the above assumptions, thriller digger is always profitable.
Thank God and gunrun.
igotmyown
Profile Blog Joined April 2009
United States4291 Posts
Last Edited: 2011-12-24 05:20:46
December 24 2011 04:57 GMT
#20

o o o o o
o o x o x
x o x o o
o o o o o

1 5 5 5 5
5 20 x 20 x
x 20 x 20 5
5 5 5 5 1

132

In normal minesweeper, I pick the corner because the first pick is always safe, and if I get a 1, I have a 1 in 3 chance (assuming the geography doesn't hurt the odds.
Then
1 1 means the cell to the right is safe, and below that is safe, so you start with 4 squares.
1 x means there's (x-1) bombs on the right

Now
1 1 A
B
if A = B, then since they share the same squares except the 3 below, you can clear the 3 bottom adjacent squares to B
so you could have
1 1 A
A
C D E
C, D E are clickable, and moreover, C can be compared to the 1 two above it. If C=1, then you can clear all squares below and to the side of it.

If A or B is clear, then you've cleared at least 2 to 6 more squares.
If B>A, then there are B-A mines bottom adjacent to B

So if we change this strategy to the short side:
1 .5
1 .5 (B-A)/3
A B (B-A)/3
? ? (B-A)/3
which is decent information

If the corner is 2 or more, then you have better odds anywhere the 2 mines aren't.
1 2 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 8h 34m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Lowko378
ProTech97
StarCraft: Brood War
Britney 39006
Calm 9564
Bisu 2401
Rain 1760
Horang2 1526
Sea 1383
Flash 979
actioN 960
Mini 868
Jaedong 772
[ Show more ]
EffOrt 553
Larva 547
Barracks 370
Hyuk 216
ggaemo 208
BeSt 198
Soulkey 143
Mong 133
Soma 124
Snow 77
TY 66
PianO 65
Hyun 64
Killer 49
ToSsGirL 47
JYJ47
Sharp 40
ajuk12(nOOB) 30
Free 24
Shine 19
JulyZerg 17
Rock 17
soO 16
zelot 16
Sacsri 13
HiyA 12
IntoTheRainbow 11
Aegong 10
scan(afreeca) 10
Terrorterran 9
Yoon 8
ivOry 7
SilentControl 7
Beast 2
Dota 2
Gorgc6707
Dendi1004
syndereN393
XcaliburYe199
Counter-Strike
fl0m3404
olofmeister2421
flusha160
Other Games
hiko956
FrodaN598
Fuzer 310
crisheroes236
RotterdaM183
KnowMe94
markeloff56
Trikslyr40
QueenE20
Organizations
StarCraft: Brood War
Kim Chul Min (afreeca) 10
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• iHatsuTV 17
• intothetv
• AfreecaTV YouTube
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• C_a_k_e 2755
• WagamamaTV482
League of Legends
• Nemesis6030
• TFBlade394
Upcoming Events
Replay Cast
8h 34m
The PondCast
18h 34m
WardiTV Summer Champion…
19h 34m
herO vs MaxPax
Clem vs Classic
Replay Cast
1d 8h
LiuLi Cup
1d 19h
MaxPax vs TriGGeR
ByuN vs herO
Cure vs Rogue
Classic vs HeRoMaRinE
Cosmonarchy
2 days
OyAji vs Sziky
Sziky vs WolFix
WolFix vs OyAji
BSL Team Wars
2 days
Team Hawk vs Team Dewalt
BSL Team Wars
2 days
Team Hawk vs Team Bonyth
SC Evo League
2 days
TaeJa vs Cure
Rogue vs threepoint
ByuN vs Creator
MaNa vs Classic
Maestros of the Game
3 days
ShoWTimE vs Cham
GuMiho vs Ryung
Zoun vs Spirit
Rogue vs MaNa
[ Show More ]
[BSL 2025] Weekly
3 days
SC Evo League
3 days
Maestros of the Game
4 days
SHIN vs Creator
Astrea vs Lambo
Bunny vs SKillous
HeRoMaRinE vs TriGGeR
BSL Team Wars
4 days
Team Bonyth vs Team Sziky
BSL Team Wars
4 days
Team Dewalt vs Team Sziky
Monday Night Weeklies
5 days
Replay Cast
5 days
Sparkling Tuna Cup
5 days
Liquipedia Results

Completed

CSLAN 3
uThermal 2v2 Main Event
HCC Europe

Ongoing

Copa Latinoamericana 4
BSL 20 Team Wars
KCM Race Survival 2025 Season 3
BSL 21 Qualifiers
ASL Season 20
CSL Season 18: Qualifier 1
Acropolis #4 - TS1
CSL Season 18: Qualifier 2
SEL Season 2 Championship
WardiTV Summer 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
BLAST.tv Austin Major 2025

Upcoming

CSL 2025 AUTUMN (S18)
LASL Season 20
BSL Season 21
BSL 21 Team A
Chzzk MurlocKing SC1 vs SC2 Cup #2
RSL Revival: Season 2
Maestros of the Game
EC S1
Sisters' Call Cup
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
MESA Nomadic Masters Fall
CS Asia Championships 2025
Roobet Cup 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.