• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 11:13
CEST 17:13
KST 00:13
  • 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
Classic wins Code S Season 2 (2025)12Code S RO4 & Finals Preview: herO, Rogue, Classic, GuMiho0TL Team Map Contest #5: Presented by Monster Energy5Code S RO8 Preview: herO, Zoun, Bunny, Classic7Code S RO8 Preview: Rogue, GuMiho, Solar, Maru3
Community News
Weekly Cups (June 9-15): herO doubles on GSL week2Firefly suspended by EWC, replaced by Lancer12Classic & herO RO8 Interviews: "I think it’s time to teach [Rogue] a lesson."2Rogue & GuMiho RO8 interviews: "Lifting that trophy would be a testament to all I’ve had to overcome over the years and how far I’ve come on this journey.8Code S RO8 Results + RO4 Bracket (2025 Season 2)14
StarCraft 2
General
HIRE A HACKER TECHY FORCE CYBER RETRIEVAL TO RECOV The SCII GOAT: A statistical Evaluation Classic wins Code S Season 2 (2025) TL Team Map Contest #5: Presented by Monster Energy Weekly Cups (June 9-15): herO doubles on GSL week
Tourneys
EWC 2025 Regional Qualifiers (May 28-June 1) SOOPer7s Showmatches 2025 RSL: Revival, a new crowdfunded tournament series Sparkling Tuna Cup - Weekly Open Tournament $5,100+ SEL Season 2 Championship (SC: Evo)
Strategy
How did i lose this ZvP, whats the proper response Simple Questions Simple Answers [G] Darkgrid Layout
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 478 Instant Karma Mutation # 477 Slow and Steady Mutation # 476 Charnel House Mutation # 475 Hard Target
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ ASL20 Preliminary Maps StarCraft & BroodWar Campaign Speedrun Quest BW General Discussion FlaSh Witnesses SCV Pull Off the Impossible vs Shu
Tourneys
The Casual Games of the Week Thread [BSL 2v2] ProLeague Season 3 - Friday 21:00 CET Small VOD Thread 2.0 [BSL20] GosuLeague RO16 - Tue & Wed 20:00+CET
Strategy
Simple Questions, Simple Answers I am doing this better than progamers do. [G] How to get started on ladder as a new Z player
Other Games
General Games
Nintendo Switch Thread Stormgate/Frost Giant Megathread Path of Exile Beyond All Reason What do you want from future RTS games?
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
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread UK Politics Mega-thread Echoes of Revolution and Separation
Fan Clubs
SKT1 Classic Fan Club! Maru Fan Club
Media & Entertainment
[Manga] One Piece Korean Music Discussion
Sports
2024 - 2025 Football Thread TeamLiquid Health and Fitness Initiative For 2023 NHL Playoffs 2024 Formula 1 Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
How Pro Gamers Cope with Str…
TrAiDoS
StarCraft improvement
iopq
Heero Yuy & the Tax…
KrillinFromwales
I was completely wrong ab…
jameswatts
Need Your Help/Advice
Glider
Trip to the Zoo
micronesia
Customize Sidebar...

Website Feedback

Closed Threads



Active: 32560 users

[Mahjong]Tenhou Thread - Page 16

Forum Index > General Games
Post a Reply
Prev 1 14 15 16 17 18 49 Next All
JSH
Profile Blog Joined July 2009
United States4109 Posts
Last Edited: 2012-10-08 18:23:14
October 08 2012 17:16 GMT
#301
This is where it got hazy

[image loading]

edit: I is dumb
"It's called a miracle because it doesn't happen" - Just like my chances of reaching C- on ICCUP
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
Last Edited: 2012-10-21 18:11:41
October 08 2012 21:45 GMT
#302
Wow, this went way smoother than expected:

[image loading]
Yeah I picked one of those hands with a LOT of possible discards.


Whenever you have to discard something, you can now look at an Uke-Ire analysis of all discards that don't increase your Shanten. Would be easy to include Shanten increasing discards too, but then the amount of data becomes retarded... If you guys think it's worth having, I should easily be able add a toggle for displaying all/only good discards.

ReplayAnalyzer:
see post on next page for new version

I also did some refactoring, hopefully I didn't reintroduce old bugs...
That 2000+ lines function for analyzing the hand sure needed it. And the remainder of it still needs it.
If you have a good reason to disagree with the above, please tell me. Thank you.
Rhaegar99
Profile Blog Joined September 2008
Australia1190 Posts
Last Edited: 2012-10-09 07:43:40
October 09 2012 07:23 GMT
#303
On October 09 2012 02:16 JSH wrote:
This is where it got hazy

[image loading]

edit: I is dumb


This is one of those tricky spots where both decisions are not bad.

You cant hold onto the 8p else you'll either be furiten from the 5p or 7p, or you'll be waiting on the last 8p to complete your pair. With the 6p discard from west, 6p and 9p are now (very) safe tiles to discard meaning that if east is bailing, they will come out sooner rather than later, giving you less outs to win. Because of this, it can makes your pin tiles hard to complete.

You should be able to know that you will almost never come last. West almost has to riichi to have a decent chance to come 3rd and since hes not, its easy to say hes not in tenpai. South can't have a baiman since he discarded the dora 4p and he riichi while only 2100 points behind, indicating he has a shitty hand, either 1 han or non pinfu. No real tells on east but he needs a haneman to drop you which is highly unlikely without a riichi. Another plus to push is that west must push, making it a bit easier to complete your hand.

For now I'll probably discard the 8p first since there are also 3 blockers on both 7p and 8p, and wait for the next draw.
Rhaegar99
Profile Blog Joined September 2008
Australia1190 Posts
Last Edited: 2012-10-09 07:39:29
October 09 2012 07:35 GMT
#304
On October 09 2012 06:45 spinesheath wrote:
Wow, this went way smoother than expected:

[image loading]
Yeah I picked one of those hands with a LOT of possible discards.


Whenever you have to discard something, you can now look at an Uke-Ire analysis of all discards that don't increase your Shanten. Would be easy to include Shanten increasing discards too, but then the amount of data becomes retarded... If you guys think it's worth having, I should easily be able add a toggle for displaying all/only good discards.

ReplayAnalyzer:
http://www.mediafire.com/?lrca64m5qbsupmo

I also did some refactoring, hopefully I didn't reintroduce old bugs...
That 2000+ lines function for analyzing the hand sure needed it. And the remainder of it still needs it.


Your program looks pretty damn good. Remember you can't always rely on just shanten. This example you have is a good spot for shooting for a bluff half flush even though a yakuhai would be faster. Not sure if the bluff will work on the lower lobbies though.

You know what would be awesome though is instead of it analyzing replays, have it such that you can input tiles manually so that it can be used during a game. It'll probably considered cheating but if your not that great with tile efficiency, a program like that may be able to help you learn faster.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
Last Edited: 2012-10-09 10:53:25
October 09 2012 08:04 GMT
#305
Thanks, WPF makes it rather easy to make it look good though :p


Well of course shanten and more importantly uke-ire isn't everything. After all we're shooting for highest expected value (at least in the first few hands of a hanchan), and that adds the value of a hand into the equation.

Still, shanten/uke-ire is something that you can analyze clearly and correctly, while expected value depends on a lot of estimations like the time you have to fiddle with a hand before you have to bail or someone else wins etc. Uke-ire obviously also depends on the tiles that you expect someone else to be holding.

Still, this is some precise information that is important whenever you are pushing a hand. Sometimes the right discard (for pure speed) isn't all that obvious too, so checking your replays can show you where your discards were bad. Watching a replay like this certainly is a better learning experience than just watching a replay on the Tenhou client.


To use it during a game, having to input the tiles manually is too slow, kinda. There also is Tenhou's uke-ire calc at http://tenhou.net/2/?q=468m1156778p345s1p where you can input any hand you like and it will do the same thing I do with replays. Except for considering visible tiles though.

Technically, I should be able to write a Tenhou client which works like the online client or the windows client, but ALSO does analysis on the fly which helps you out. I already discussed this a bit with a friend actually. However, I personally do consider it cheating and I am not one to cheat or help people cheat in a game against human opponents. I still can't say I discarded the idea completely.

Anyways, this would be a seperate project. I could reuse lots of code so it shouldn't be too hard, but it would have to wait for a while.


What I can and most likely will do is add a standalone uke-ire calc to the ReplayAnalyzer. It's still kind of like cheating, but at least you're dropping your attention to insert the data, and you won't get the visible tiles subtracted automatically. Just the raw data for your current hand.



Just to make sure:
I am Furiten even if the tiles I discarded wouldn't give me a Yaku, right? They only need to complete my 4 melds + 1 pair?
For example:
Discarded 1m
Hand 23m 234 666p 345s 77s
I can't Ron a 4m for Tanyao then, even though the 1m wouldn't give me the Yaku?
If you have a good reason to disagree with the above, please tell me. Thank you.
JSH
Profile Blog Joined July 2009
United States4109 Posts
Last Edited: 2012-10-11 02:07:45
October 11 2012 00:49 GMT
#306
[image loading]

5 renchan~
lol
"It's called a miracle because it doesn't happen" - Just like my chances of reaching C- on ICCUP
Yorbon
Profile Joined December 2011
Netherlands4272 Posts
Last Edited: 2012-10-11 01:36:30
October 11 2012 01:34 GMT
#307
Hi all,

I'm just getting into mahjong. I think i know the basic rules a bit and now i am trying to find an easy way to practice. I was thinking about an offline game against ai or something like that to start. Is that a good start-up plan? Or are there other things recommendable?

I'd love to hear some advice on how to start playing.
Thanks in advance.

btw, i became interested in it via the anime akagi; part of what i know also comes from there. Is there anything about the anime i need to know with regard to normal gameplay? (besides that there are different variants of mahjong and not to bet my own life..)
JSH
Profile Blog Joined July 2009
United States4109 Posts
October 11 2012 02:03 GMT
#308
Mmm best way once you know the basic rules is to just play
AI is good to start with if you're still having trouble with the basic rules (ie Yaku)

Try to focus on making hands and making the most efficient discards
Play on Tenhou, create an account and try to level it up for a goal
Try to reach 1Dan

And always have Yaku~
"It's called a miracle because it doesn't happen" - Just like my chances of reaching C- on ICCUP
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
October 11 2012 07:02 GMT
#309
I played a lot vs bots here: http://www.gamedesign.jp/flash/mahjong/mahjong_e.html
before I went on to playing on Tenhou. I think it's a good idea until you get a firm grip on the rules. Now those bots are still likely to murder you if you are a beginner.

Go to http://www.osamuko.com/list-of-mahjong-articles-in-english-by-xkime/ and read up on Tile Efficiency, and the top block of links titled ReachMahjong.
Here is some more information on both offense and defense: http://justanotherjapanesemahjongblog.blogspot.de/

Tile efficiency is pretty much the most important skill to learn early on. Later on you can sacrifice efficiency for other causes, but you better be well aware of how much you sacrifice and if it's worth it.
If you have a good reason to disagree with the above, please tell me. Thank you.
Wesso
Profile Joined August 2010
Netherlands1245 Posts
October 11 2012 07:59 GMT
#310
On October 11 2012 16:02 spinesheath wrote:
I played a lot vs bots here: http://www.gamedesign.jp/flash/mahjong/mahjong_e.html
before I went on to playing on Tenhou. I think it's a good idea until you get a firm grip on the rules. Now those bots are still likely to murder you if you are a beginner.

Go to http://www.osamuko.com/list-of-mahjong-articles-in-english-by-xkime/ and read up on Tile Efficiency, and the top block of links titled ReachMahjong.
Here is some more information on both offense and defense: http://justanotherjapanesemahjongblog.blogspot.de/

Tile efficiency is pretty much the most important skill to learn early on. Later on you can sacrifice efficiency for other causes, but you better be well aware of how much you sacrifice and if it's worth it.


Those bots are killing me, Thirteen Orphans within the first 8 games..
Yorbon
Profile Joined December 2011
Netherlands4272 Posts
October 11 2012 13:08 GMT
#311
On October 11 2012 16:02 spinesheath wrote:
I played a lot vs bots here: http://www.gamedesign.jp/flash/mahjong/mahjong_e.html
before I went on to playing on Tenhou. I think it's a good idea until you get a firm grip on the rules. Now those bots are still likely to murder you if you are a beginner.

Go to http://www.osamuko.com/list-of-mahjong-articles-in-english-by-xkime/ and read up on Tile Efficiency, and the top block of links titled ReachMahjong.
Here is some more information on both offense and defense: http://justanotherjapanesemahjongblog.blogspot.de/

Tile efficiency is pretty much the most important skill to learn early on. Later on you can sacrifice efficiency for other causes, but you better be well aware of how much you sacrifice and if it's worth it.
Thanks for the tips!
JSH
Profile Blog Joined July 2009
United States4109 Posts
Last Edited: 2012-10-12 01:48:12
October 12 2012 01:46 GMT
#312
Question:
[image loading]

Should I pass or take the guaranteed second
It's a pretty good wait, so I have a pretty good chance of winning again, perhaps to 1st or 2nd place
But I would have to win again, in the next two rounds

I still have my dealer turn left as last round
But hmm
I ended up just taking the second, but what would you guys do?
"It's called a miracle because it doesn't happen" - Just like my chances of reaching C- on ICCUP
Caller
Profile Blog Joined September 2007
Poland8075 Posts
October 12 2012 03:15 GMT
#313
the second was fine as quite frankly you wouldve been in a shit furiten as a result
Watch me fail at Paradox: http://www.teamliquid.net/forum/viewmessage.php?topic_id=397564
Rhaegar99
Profile Blog Joined September 2008
Australia1190 Posts
October 12 2012 03:42 GMT
#314
Either is fine but if your gonna shoot for first, your gonna have to change your hand first to increase your chances. Chi with 7m8m and discard the 8p. Youll be tenpai once you draw another man or an honor. Your hand dosnt smell of a flush cause of your early 1m discard. Insta 7800!
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
Last Edited: 2012-10-16 12:13:59
October 12 2012 20:00 GMT
#315
New version of Firefox, still the wrong discard bug. I really need to play on a different browser...
Yeah, seems fine on Opera...

Man what the hell is this. Closed Chinitsu, pretty much at least one enemy gets one every single Hanchan. Given that the it statistically only happens in less than 1% of the hands...?

I really wish my luck was a bit more evenly distributed...
[image loading]

I got like no Ura Dora at all in the last dozen games, and then I get 5 when I didn't even need a single one? Seriously.

I have now officially lost count of the number of Kokushi Musou I have attempted in the last couple of days. At least 4. 9 or 10 tiles with starting hand each time. Of course none of my attempts was successful.
If you have a good reason to disagree with the above, please tell me. Thank you.
Rhaegar99
Profile Blog Joined September 2008
Australia1190 Posts
October 14 2012 06:22 GMT
#316
yea i play on explorer now lol
everythings all good
Yorbon
Profile Joined December 2011
Netherlands4272 Posts
Last Edited: 2012-10-17 15:29:28
October 17 2012 15:27 GMT
#317
About a week after beginning playing, i thought it was time for some kind of update.
First i read the blogs by xkime as recommended by spinesheath, without really getting it. I just grinded a lot of games against bots, with very volatile results. I read the blogs again with some game experience and it seemed to be a lot more understandable than first. After trying again, my 2nd try against the bots gave this result, which makes me rather proud, if i may say so.
http://imgur.com/P4Url ( <-- copy paste link)

I still don't care much about the discard tiles of my opponents, i'm still too busy with my own hand. ):
My first priority atm is tile efficiency, building a basic hand and trying too estimate whether to call on a discard or not.

I hope to keep this up :D

edit: oops, the image seems to be too large.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
October 17 2012 17:03 GMT
#318
On October 18 2012 00:27 Yorbon wrote:
I still don't care much about the discard tiles of my opponents, i'm still too busy with my own hand. ):
My first priority atm is tile efficiency, building a basic hand and trying too estimate whether to call on a discard or not.

That's fine, it takes a while to get the hang of analyzing your own hand. Especially when you get these huge blobs of tiles of a single suit it can get pretty darn confusing.


By the way, how does everyone here count the Shanten of their hands (4 meld 1 pair hands only, chiitoitsu + kokushi is obvious)?
Since I've been developing this Algorithm for Shanten/Uke-Ire, I've approached it from a couple of different angles (I still want to improve the speed of the Algorithm, lots of redundant stuff going on...).
For me the easiest method I have found is:

8 - (2 * called melds) - (2 * closed melds) - (taatsu + toitsu)
melds + taatsu can't be greater than 4 and with toitsu it can be 5 at most.

Another approach was to simply count the useless tiles, but that confuses me all the time for some reason.

Sadly you can't be greedy with the closed melds:
245568m159p1589s
If you use the Shuntsu 456, it's a 5 Shanten hand. If you split it 24 55 68 it's 4 Shanten instead...
If you have a good reason to disagree with the above, please tell me. Thank you.
Rhaegar99
Profile Blog Joined September 2008
Australia1190 Posts
October 18 2012 07:07 GMT
#319
mmm I dont usually count shantens when I play lol. There really isnt a need or isnt even important until someone riichis, and by that time your either close so its quite simple to count, or too far away so theres no point in counting.

As for an algorithm I think it'll be pretty dam hard. Correct me if Im wrong but even the method you havnt dosnt work for all cases. Like say 2468m2468p2468s + a honor. Thats 4shanten whereas your algorithm will give you 2shanten. Ukeire is more important though so I would say to focus on that instead.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
October 18 2012 07:28 GMT
#320
On October 18 2012 16:07 Rhaegar99 wrote:
mmm I dont usually count shantens when I play lol. There really isnt a need or isnt even important until someone riichis, and by that time your either close so its quite simple to count, or too far away so theres no point in counting.

As for an algorithm I think it'll be pretty dam hard. Correct me if Im wrong but even the method you havnt dosnt work for all cases. Like say 2468m2468p2468s + a honor. Thats 4shanten whereas your algorithm will give you 2shanten. Ukeire is more important though so I would say to focus on that instead.

Nope, my algorithm yields 4 shanten for that too, notice the "melds + taatsu <= 4" part. It's 6 taatsu, but only 4 of them are counted, so I end up with 8 - 4 = 4.
Uke-Ire is defined as tiles which can be used to improve the Shanten of your hand. The Uke-Ire algorithm basically calls the Shanten algorithm up to 34 times, once for each type of tile you could draw. Because the Shanten algorithm also works on 14 tile hands (Shanten = -1 in case of a winning hand, ignoring Yaku of course), I don't have to select a discard either.

My Algorthms work, except for a few bugs here and there most likely (I have hints on at least 2 bugs). I just don't like the speed yet because I want to do deeper analysis (more than 1 turn ahead) as well as analysis of a big number of hands at once. It's not exactly slow, but it's not instant, so it's gonna add up fast.

I do usually count shanten (well only recently). If it's too high (and the value of the hand doesn't look like it's gonna make up for it) I'm not gonna bother with the hand and prepare for Betaori. It also helps decide between Chiitoitsu and regular hands.
If you have a good reason to disagree with the above, please tell me. Thank you.
Prev 1 14 15 16 17 18 49 Next All
Please log in or register to reply.
Live Events Refresh
SOOP Global
15:00
#22
FuturE vs MaNa
Harstem vs Cham
LaughNgamezSOOP
LiquipediaDiscussion
Road to EWC
14:00
Global Qualifier - Day 1
Ryung vs HeRoMaRinELIVE!
Astrea vs Lambo
goblin vs GuMiho
ByuN vs TBD
ewc_black1566
ComeBackTV 793
WardiTV620
Rex183
CranKy Ducklings98
3DClanTV 97
Liquipedia
SC Evo League
12:00
#14
BRAT_OK 100
MindelVK60
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Hui .269
Rex 183
BRAT_OK 100
ProTech93
MindelVK 60
StarCraft: Brood War
Britney 43971
Rain 4761
Bisu 1892
Horang2 1743
Flash 1246
Hyuk 1230
Zeus 1159
EffOrt 1057
Mini 742
Soulkey 327
[ Show more ]
BeSt 244
GuemChi 222
actioN 183
Mind 152
PianO 75
Mong 68
[sc1f]eonzerg 51
ToSsGirL 48
sSak 45
Rock 19
SilentControl 14
Terrorterran 12
JulyZerg 12
IntoTheRainbow 9
Dota 2
Gorgc7070
qojqva1593
LuMiX1
Counter-Strike
allub279
Super Smash Bros
C9.Mang0418
Heroes of the Storm
Khaldor537
Other Games
singsing2062
B2W.Neo1894
ceh9676
Lowko409
KnowMe144
Trikslyr32
Organizations
Dota 2
PGL Dota 2 - Main Stream16470
PGL Dota 2 - Secondary Stream7479
Other Games
EGCTV613
BasetradeTV44
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 14 non-featured ]
StarCraft 2
• Adnapsc2 20
• Dystopia_ 4
• Migwel
• AfreecaTV YouTube
• intothetv
• sooper7s
• Kozan
• IndyKCrew
StarCraft: Brood War
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• Ler62
League of Legends
• Nemesis5464
• Jankos3418
Upcoming Events
PSISTORM Gaming Misc
32m
BSL: ProLeague
2h 47m
Sziky vs JDConan
Cross vs MadiNho
Hawk vs Bonyth
Circuito Brasileiro de…
4h 47m
Sparkling Tuna Cup
18h 47m
Road to EWC
22h 47m
BSL: ProLeague
1d 2h
UltrA vs TBD
Dewalt vs TBD
Replay Cast
2 days
Replay Cast
4 days
The PondCast
4 days
Replay Cast
5 days
Liquipedia Results

Completed

Acropolis #3 - GSC
2025 GSL S2
Heroes 10 EU

Ongoing

JPL Season 2
BSL 2v2 Season 3
BSL Season 20
Acropolis #3
KCM Race Survival 2025 Season 2
NPSL S3
Rose Open S1
CSL 17: 2025 SUMMER
Copa Latinoamericana 4
NPSL Lushan
Championship of Russia 2025
RSL Revival: Season 1
Murky Cup #2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025
YaLLa Compass Qatar 2025
PGL Bucharest 2025

Upcoming

CSLPRO Last Chance 2025
CSLPRO Chat StarLAN 3
K-Championship
uThermal 2v2 Main Event
SEL Season 2 Championship
Esports World Cup 2025
HSC XXVII
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
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.