• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 03:15
CEST 09:15
KST 16:15
  • 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
Serral wins HomeStory Cup 2914Serral wins Maestros of the Game 243ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12
Community News
IntoTheTV X SOOP SC2 League : Weekly & Monthly4Clem: "I don't have that much hope in Blizzard"2ZeroSpace Early Access is Now Live!21Weekly Cups (July 13-19): Terran & Protoss rise; Zerg falters2Balance hotfix patch 5.0.16b (July 16)90
StarCraft 2
General
Balance hotfix patch 5.0.16b (July 16) How would you feel about frequent/monthly balance patches for SC2? Reynor: GSL Loss Wasn't About Preparation Format Clem: "I don't have that much hope in Blizzard" Weekly Cups (July 13-19): Terran & Protoss rise; Zerg falters
Tourneys
IntoTheTV X SOOP SC2 League : Weekly & Monthly INu's Battles#18 - Cure, herO, Rogue & ByuN RSL Revival: Season 6 - Qualifiers and Main Event Master Swan Open (Global Bronze-Master 2) WardiTV Summer Cup 2026
Strategy
[G] Having the right mentality to improve
Custom Maps
[M] (2) Industrial Park New Map Maker - Looking for Advice - Love or Hate
External Content
Mutation # 535 Assembly of Vengeance The PondCast: SC2 News & Results Mutation # 534 Burning Evacuation Mutation # 533 Die Together
Brood War
General
BW General Discussion How Famous was FlaSh before his Debut? Animated Gateway BGH Auto Balance -> http://bghmmr.eu/ HORROR STARCRAFT MOVIE
Tourneys
Small VOD Thread 2.0 Escore Tournament - Season 3 [Megathread] Daily Proleagues [IPSL] Spring 2026 Grand Finals - This Weekend!
Strategy
Simple Questions, Simple Answers PvT advise for noobs Fighting Spirit mining rates Creating a full chart of Zerg builds
Other Games
General Games
ZeroSpace Early Access is Now Live! General RTS Discussion Thread Path of Exile Nintendo Switch Thread Diablo IV
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
TSM pausing esports and CLG Dead
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread TL Mafia Power Rank NeO.D_StephenKing vs This Guy From 1 Million Dance Vanilla Mini Mafia
Community
General
US Politics Mega-thread Artificial Intelligence Thread Russo-Ukrainian War Thread How to buy a book - shipping from Korea to Europe The Games Industry And ATVI
Fan Clubs
The IdrA Fan Club The HerO Fan Club!
Media & Entertainment
Anime Discussion Thread Series you have seen recently... Movie Discussion! [Req][Books] Good Fantasy/SciFi books
Sports
2024 - 2026 Football Thread TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion MLB/Baseball 2023 McBoner: A hockey love story
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Simple Questions Simple Answers FPS when play League Of Legend on laptop
TL Community
Northern Ireland Global Starcraft The Automated Ban List
Blogs
How Games can Help with Majo…
TrAiDoS
Hello guys!
LIN1s
ASL S22 English Commentary…
namkraft
Poker (part 2)
Nebuchad
An Exploration of th…
waywardstrategy
Customize Sidebar...

Website Feedback

Closed Threads



Active: 4142 users

The Big Programming Thread - Page 491

Forum Index > General Forum
Post a Reply
Prev 1 489 490 491 492 493 1032 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
sluggaslamoo
Profile Blog Joined November 2009
Australia4494 Posts
Last Edited: 2014-06-16 06:25:30
June 16 2014 06:24 GMT
#9801
On June 16 2014 15:08 Ghin wrote:
I tried learning Python on whatever sites were on the first page of Google. I spent a couple hours every day for 3 weeks and never really got to a point I could do anything except add simple numbers and look stuff up in documentation. Oh, also I can put lots of semicolons and parenthesis in.

To be honest, this thread isn't at all helpful for someone who knows nothing about programming. It's really hard to look through 500 pages and try to guess which of you are bronze league retarded theorycrafters when I have no knowledge of programming to help me decide that. I don't think it was intended to be helpful to noobs, so I'm fine with that.

It seems like none of the sites are focused towards making some simple games, which is what I want to do with it. If I could get to the point where my drawings are up on the screen, I think that might motivate me more. At this point, I don't know if it would be better to keep slamming my head into the wall trying to figure it out or just give up and find some random nob to work with.


If its python you're interested in try pygame.

http://www.pygame.org/

First learn how to render a sprite on screen in the game loop. Then learn how to render a tilemap by loading a txt file. Then learn how to move a sprite on the map using arrow keys. That's what I usually did when starting on any new 2d graphics library.

If this is too difficult try writing a very simple console game in python first and learn how data structures and functions work.
Come play Android Netrunner - http://www.teamliquid.net/forum/viewmessage.php?topic_id=409008
Ghin
Profile Blog Joined January 2005
United States2391 Posts
June 16 2014 06:41 GMT
#9802
Thanks, I'll try it out.

I'm not interested in Python particularly, it just seems to be what people suggest to start with. Of course this could be like the proverbial noob suggesting Protoss because "ezmode 1a race lol ez huehue."

I also tried learning Javascript, which grammatically made slightly more sense to me than Python, and C++ which seems a bit like talking to a pedantic 3rd grade English teacher who pretends not to understand because you used the word 'can' instead of 'may.' C++ seems more likely to cause my computer to explode because I didn't put a semicolon at the end of a line.
Legalize drugs and murder.
meatpudding
Profile Joined March 2011
Australia520 Posts
June 16 2014 06:51 GMT
#9803
Sounds like you're up to your eyeballs already, but you could try checking out Flixel. It's a free game library written with action script, although I believe you don't actually need a copy of Flash to use it. I've heard pretty good things about it.

Python is really easy to learn and use. I think that python.org is actually a good resource for picking it up. The Pygame library is definitely usable but a little lacklustre imo.

Game making in c++ is definitely the way to go if you want maximum quality in terms of features and performance, and gives you the most control over your code. All you need is a couple of years to write it and the patience to debug everything.

Javascript is ok, I've used js + html to make simple games before.
Be excellent to each other.
sluggaslamoo
Profile Blog Joined November 2009
Australia4494 Posts
June 16 2014 07:15 GMT
#9804
On June 16 2014 15:41 Ghin wrote:
Thanks, I'll try it out.

I'm not interested in Python particularly, it just seems to be what people suggest to start with. Of course this could be like the proverbial noob suggesting Protoss because "ezmode 1a race lol ez huehue."

I also tried learning Javascript, which grammatically made slightly more sense to me than Python, and C++ which seems a bit like talking to a pedantic 3rd grade English teacher who pretends not to understand because you used the word 'can' instead of 'may.' C++ seems more likely to cause my computer to explode because I didn't put a semicolon at the end of a line.


While there are probably easy game authoring tools out there, you might want to consider that things like this require a certain investment of time before you can get to the juicy bits.

We are so used to getting everything on demand that we want something straight away, get used to taking small steps to achieve your goal.

Just go with a really simple console game to begin with. Yes it may not be what you want, keep your goal in mind, and realise that this is just a stepping stone.

Use whatever language you want, if javascript makes sense to you the most then use javascript. Get used to understanding how to write simple algorithms, if statements, working with variables, etc.

If you want to write a simple tile based game, you will need a basic understanding of datastructures. Such as arrays and objects. A decent developer could hack one up from scratch in a day or two, but I would suspect a beginner would take more like a month so just be prepared.
Come play Android Netrunner - http://www.teamliquid.net/forum/viewmessage.php?topic_id=409008
Ghin
Profile Blog Joined January 2005
United States2391 Posts
June 16 2014 07:29 GMT
#9805
Thanks for the advice.

I actually have a copy of Flash, but the GUI makes me want to shove nails into my face. It reminds me of someone making a caricature of a Mac using, left-handed, libertarian, vegetarian hipster. It has so many sliders and menus that could easily be replaced by a 2- or 3-digit number. However, I will say that it is great for animating things. It's really easy when you can select areas of a drawing and put in joints or areas that will bend with a few clicks of the mouse.

I made a simple platform game on Flash but the characters would move through the walls about 20% of the time. I couldn't figure out why that was and the 2 or 3 examples of code I found online did the same thing. I got the feeling that the problem was with Flash and not with my terrible code.

I do want to have maximum quality in terms of features and performance, and I tried downloading a compiler, SDL, and some other libraries to do something with C++. I messed around with some tutorials, but none of them I found were in a style that made sense to me. I did find a really good C++ tutorial online, and I learned some of the grammar and punctuation, but it was geared towards writing console-style programs. It's way too much theory for someone like myself who can barely program a simple calculator.

I think my plan will be to try to make some garbage games with Python first. When I actually understand that, I'll switch to C++ and learn the more complicated concepts like programming for efficiency and performance. C++ seems much more in depth than Python. It seems like I would have to write several lines to do what Python does in 1 line, but the C++ lines would be more accurate. As far as spending my time goes, learning Python first to understand basic programming concepts seems quicker. I imagine I won't spend as much time writing and/or staring blankly at the code while wondering why the program won't start if I go with Python.
Legalize drugs and murder.
artynko
Profile Joined November 2010
Slovakia86 Posts
June 16 2014 07:53 GMT
#9806
On June 16 2014 16:29 Ghin wrote:
I won't spend as much time writing and/or staring blankly at the code while wondering why the program won't start if I go with Python.

You do this even when you have been making your living by programming for years.

If you want to make a "good" game the language isn't really important, in the end you will have to use openGL or DirectX and the majority of your coding will go into that. Python is nice when you want something that is syntactically easy, but for a new programmers the issue is rarely syntax, it is understanding OO and basic alghoritmhs. Just pick something you would like to create and start coding, you will have to delete and rewrite it many many times anyway.
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2014-06-16 09:43:50
June 16 2014 09:42 GMT
#9807
Thanks for thoughts about age's method(s) as part of a Person class! It's been helpful!

Obviously, validation is important even in such classes. Is duplication a "necessary evil"? What I mean is this: if you have a method there to check for, say, negatives, that's ok. But what if you need the same check in another class? Do you have to go with a bit of code duplication? It probably concerns a very small fraction of code but I'd like to know if that's the way.
sluggaslamoo
Profile Blog Joined November 2009
Australia4494 Posts
June 16 2014 10:02 GMT
#9808
On June 16 2014 16:29 Ghin wrote:
Thanks for the advice.

I actually have a copy of Flash, but the GUI makes me want to shove nails into my face. It reminds me of someone making a caricature of a Mac using, left-handed, libertarian, vegetarian hipster. It has so many sliders and menus that could easily be replaced by a 2- or 3-digit number. However, I will say that it is great for animating things. It's really easy when you can select areas of a drawing and put in joints or areas that will bend with a few clicks of the mouse.

I made a simple platform game on Flash but the characters would move through the walls about 20% of the time. I couldn't figure out why that was and the 2 or 3 examples of code I found online did the same thing. I got the feeling that the problem was with Flash and not with my terrible code.

I do want to have maximum quality in terms of features and performance, and I tried downloading a compiler, SDL, and some other libraries to do something with C++. I messed around with some tutorials, but none of them I found were in a style that made sense to me. I did find a really good C++ tutorial online, and I learned some of the grammar and punctuation, but it was geared towards writing console-style programs. It's way too much theory for someone like myself who can barely program a simple calculator.

I think my plan will be to try to make some garbage games with Python first. When I actually understand that, I'll switch to C++ and learn the more complicated concepts like programming for efficiency and performance. C++ seems much more in depth than Python. It seems like I would have to write several lines to do what Python does in 1 line, but the C++ lines would be more accurate. As far as spending my time goes, learning Python first to understand basic programming concepts seems quicker. I imagine I won't spend as much time writing and/or staring blankly at the code while wondering why the program won't start if I go with Python.


The problem you have is probably because the character actually did not hit the wall, it skipped right over it. This is a common problem a lot of newish game developers face. Basically between the two frames where the object should have hit the wall, it actually didn't. For example, if a wall is one pixel wide, and a character moves at 3 pixels per frame then there is a high chance that the character will never collide with the wall.

What you need to do is use interpolation. You need to check whether the character should have hit the wall in between frames.
Come play Android Netrunner - http://www.teamliquid.net/forum/viewmessage.php?topic_id=409008
sluggaslamoo
Profile Blog Joined November 2009
Australia4494 Posts
Last Edited: 2014-06-16 10:05:24
June 16 2014 10:03 GMT
#9809
On June 16 2014 18:42 darkness wrote:
Thanks for thoughts about age's method(s) as part of a Person class! It's been helpful!

Obviously, validation is important even in such classes. Is duplication a "necessary evil"? What I mean is this: if you have a method there to check for, say, negatives, that's ok. But what if you need the same check in another class? Do you have to go with a bit of code duplication? It probably concerns a very small fraction of code but I'd like to know if that's the way.


Use a validation library if possible otherwise create your own for common validations that are flexible. Yes there would be a bit of duplication for every field that needs to be validated, though they should be one liners, I can't think of another way to do it. Unless you want to inherit a class that contains validations for subclass fields but that would be horrible.

You want something like this.

http://guides.rubyonrails.org/active_record_validations.html
Come play Android Netrunner - http://www.teamliquid.net/forum/viewmessage.php?topic_id=409008
Rollin
Profile Joined March 2011
Australia1552 Posts
June 16 2014 15:23 GMT
#9810
On June 16 2014 16:29 Ghin wrote:
I think my plan will be to try to make some garbage games with Python first. When I actually understand that, I'll switch to C++ and learn the more complicated concepts like programming for efficiency and performance. C++ seems much more in depth than Python. It seems like I would have to write several lines to do what Python does in 1 line, but the C++ lines would be more accurate. As far as spending my time goes, learning Python first to understand basic programming concepts seems quicker. I imagine I won't spend as much time writing and/or staring blankly at the code while wondering why the program won't start if I go with Python.

Learning how to use a feature (over)laden and complex language c++ effectively takes years of practice. If you're just looking to make a couple of simple games you're better off sticking with a simpler language and library for it. If you want to take the long road and do anything programming related for the rest of your life though, c/c++ is a good idea even if you don't end up using it in the long run.
Throw off those chains of reason, and your prison disappears. | Check your posting frequency timeline: http://www.teamliquid.net/mytlnet/post_activity_img.php
Mindcrime
Profile Joined July 2004
United States6899 Posts
June 16 2014 17:24 GMT
#9811
Does anyone have any experience with Crystal Reports or know of any decent documentation for its Visual Studio plugin? All I want to do is be able to pass it an object or list and have it plug in the properties into a report. I found a 700 page "user's guide", but it didn't contain one bit of code.

:[
That wasn't any act of God. That was an act of pure human fuckery.
Ame
Profile Joined October 2009
United States246 Posts
June 17 2014 08:00 GMT
#9812
For messing around with game making without programming background, would it be worth just jumping in with Unity or acquiring a copy of Gamemaker from mysterious sources?

It's probably a lot easier to just start dragging and dropping things where you want it. Eventually you'll get far enough to where you want to implement something that is too complicated/annoying to do with drag/drop, after which you can look into the scripting language and have short term goals for learning. Then you might want to do more, learn more, etc.

(D- theorycrafting)
saddaromma
Profile Joined April 2013
1129 Posts
Last Edited: 2014-06-17 13:34:49
June 17 2014 13:34 GMT
#9813
On June 17 2014 17:00 Ame wrote:
For messing around with game making without programming background, would it be worth just jumping in with Unity or acquiring a copy of Gamemaker from mysterious sources?

It's probably a lot easier to just start dragging and dropping things where you want it. Eventually you'll get far enough to where you want to implement something that is too complicated/annoying to do with drag/drop, after which you can look into the scripting language and have short term goals for learning. Then you might want to do more, learn more, etc.

(D- theorycrafting)


I find myself more comfortable with Unity, but both unity and gamemaker are fine for beginners. You'd eventually need to start programming ('scripting' is more suitable term btw). There is nothing difficult about scripting as long as you can understand what variables and functions are, which I am pretty sure 5th grader can figure out. You don't necessarily need to dwelve into complicated stuff like classes/interfaces/memory handling. Both engines have free versions, so go ahead try them.
Cyx.
Profile Joined November 2010
Canada806 Posts
June 17 2014 13:42 GMT
#9814
On June 16 2014 16:29 Ghin wrote:
I made a simple platform game on Flash but the characters would move through the walls about 20% of the time. I couldn't figure out why that was and the 2 or 3 examples of code I found online did the same thing. I got the feeling that the problem was with Flash and not with my terrible code.

Slugg already said this but just in case... This definitely wasn't a Flash problem =P I've had the exact same problem many times over with several languages, Python to C++.
Ethenielle
Profile Blog Joined December 2005
Norway1006 Posts
June 17 2014 20:48 GMT
#9815
I'm on and off writing my own rendering engine(mostly off, pixel perfect shadows and, well, shadows in general piss me off). Anyway, for the classes I expose to the engine user I want them to not know anything about the engine itself, because that would show the user internal stuff(for example the light struct that gets copied to the shader, functions that update projection matrices etc).

So far what I've done is create one completely public class that I expose to the user and one internal class for the engine that the user will never notice(pimpl'd away), which is responsible for updating the engine-relevant variables.

Unfortunately that means I have to add a callback to my exposed classes, so that my internal classes also get updated whenever the user changes something.

I'm not very happy with this solution, because the whole double class with callback thing feels messy... do any of you guys have ideas for improvement/a better solution?
Theres a fine line between fishing and just standing on the shore like an idiot.
netherh
Profile Blog Joined November 2011
United Kingdom333 Posts
June 17 2014 21:50 GMT
#9816
On June 18 2014 05:48 Ethenielle wrote:
I'm on and off writing my own rendering engine(mostly off, pixel perfect shadows and, well, shadows in general piss me off). Anyway, for the classes I expose to the engine user I want them to not know anything about the engine itself, because that would show the user internal stuff(for example the light struct that gets copied to the shader, functions that update projection matrices etc).

So far what I've done is create one completely public class that I expose to the user and one internal class for the engine that the user will never notice(pimpl'd away), which is responsible for updating the engine-relevant variables.

Unfortunately that means I have to add a callback to my exposed classes, so that my internal classes also get updated whenever the user changes something.

I'm not very happy with this solution, because the whole double class with callback thing feels messy... do any of you guys have ideas for improvement/a better solution?


A pseudo-code example might help make it clear what you're doing now, but it sounds like your classes are doing too much. I.e. a "light" class exposed to the user shouldn't contain any code for doing the actual rendering of the light. It should be purely a data structure containing whatever variables are needed, and a lighting subsystem should do the actual rendering.
Ethenielle
Profile Blog Joined December 2005
Norway1006 Posts
June 18 2014 16:41 GMT
#9817
That's what I'm doing, but the internal classes have to know whenever the user changes something in the public class, thus the callbacks. Which I don't like.. the user shouldn't know about that, either.
Theres a fine line between fishing and just standing on the shore like an idiot.
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
June 18 2014 19:01 GMT
#9818
Have you tried the Observer pattern or is this what you mean by "callback"?
mcc
Profile Joined October 2010
Czech Republic4646 Posts
June 18 2014 19:38 GMT
#9819
On June 19 2014 01:41 Ethenielle wrote:
That's what I'm doing, but the internal classes have to know whenever the user changes something in the public class, thus the callbacks. Which I don't like.. the user shouldn't know about that, either.

But that does not seem to necessitate callbacks. Your description is kind of confusing since the problem you describe and the solution you employed seem to not match. Maybe some clearer description of the problem and some code examples to illustrate ?
netherh
Profile Blog Joined November 2011
United Kingdom333 Posts
June 18 2014 19:39 GMT
#9820
On June 19 2014 01:41 Ethenielle wrote:
That's what I'm doing, but the internal classes have to know whenever the user changes something in the public class, thus the callbacks. Which I don't like.. the user shouldn't know about that, either.


What I described didn't involve internal classes or callbacks, so I think I need a concrete example to understand what you're doing now, and what you're trying to change about it.
Prev 1 489 490 491 492 493 1032 Next
Please log in or register to reply.
Live Events Refresh
Next event in 2h 45m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nina 158
StarCraft: Brood War
GuemChi 2978
BeSt 1778
Leta 247
Hm[arnc] 218
Dewaltoss 80
Mind 56
Bale 44
ZergMaN 31
Counter-Strike
summit1g8182
Sick115
Other Games
ceh9512
WinterStarcraft470
Happy366
C9.Mang0347
RuFF_SC251
Trikslyr17
Organizations
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 13 non-featured ]
StarCraft 2
• Berry_CruncH326
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• lizZardDota2147
League of Legends
• Rush1685
Upcoming Events
Escore
2h 45m
CrankTV Team League
3h 45m
WardiTV Summer Champion…
4h 45m
Big Brain Bouts
8h 45m
Soulspirit vs goblin
TriGGeR vs Bunny
OSC
14h 45m
Korean StarCraft League
19h 45m
Afreeca Starleague
20h 45m
RSL Revival
1d 1h
Serral vs SHIN
herO vs Solar
Online Event
1d 7h
Replay Cast
1d 16h
[ Show More ]
RSL Revival
2 days
Clem vs ByuN
Rogue vs Lambo
OSC
2 days
WardiTV Weekly
3 days
Sparkling Tuna Cup
4 days
INu's Battles
4 days
Cure vs herO
ByuN vs Rogue
PiGosaur Cup
4 days
The PondCast
5 days
Kung Fu Cup
5 days
Patches Events
5 days
Replay Cast
6 days
CrankTV Team League
6 days
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2026-07-22
HSC XXIX
Eternal Conflict S2 E3

Ongoing

CSL 2026 Summer (S21)
KCM Race Survival 2026 Season 3
Escore Tournament S3: W4
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
SCTL 2026 Spring
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026

Upcoming

ASL S22 SEASON OPEN Day 2
Escore Tournament S3: W5
ASL Season 22: Qualifier #1
ASL Season 22: Qualifier #2
CSLAN 4
ASL Season 22
Blizzard Classic Cup 2026
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
Light Tournament 2026
Eternal Conflict S2 Finale
ESL Pro League Season 24
Stake Ranked Episode 4
Logitech G Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
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 © 2026 TLnet. All Rights Reserved.