MSWL Olmec PBEM Soccer Game GPL'ed
zeb writes "MSWL is one of the most popular PBEM football (soccer for North Americans) game, which is itself a variation of a game of postal soccer invented by Alan Parr in England around 1970. In this game, each manager has to organise his team, manage fatigue, train his players and trade them.
Olmec is a game engine written by Alla Sellers. It helps the commissioner (game master) to simulate the games and publish the results. Allan has decided to release the source code of Olmec under the GPL, so that everyone can enhance the program.
The actual version of Olmec is written in Visual Basic and uses MS Access as a database. The author suggests Olmec could be rewritten in a multiplatform language, for example Java, using MySQL as the database. This task is made easy because of the rich documentation about the game engine (PDF format)."
Yeah, write it in Java, and then anyone who has trouble installing the VM will never be able to run it.
If your game cannot be installed by a complete moron, chances are, it won't get popular enough to acheive any kind of critical mass. Yeah, VB and Access are a piss-poor choice of design language here, but Java is just asking for nobody to ever run the game. Even if they already have a VM installed, you have to make sure it's the RIGHT VM (Yeah, MS's fault) and that you don't have a funky enivronment variable munging up your classpaths.
My suggestions?
For sheer compatibility's sake, the game should be written in ANSI C and use a non-platform specific database format (Dare I say it? XML delimited data?) to keep its data in.
The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!
It isn't Microsoft's fault that Sun's VM sucks.
It isn't HP's fault that Sun's VM sucks.
It isn't IBM's fault that Sun's VM sucks.
It is Sun's fault that their VM sucks.
Yes, I'm a skeptic of the modern theory that one's problems can be blamed on anyone other than yourself.
Nice mod. Reverse psychology works every time, eh? It's not a matter of being GPL'd, it's a matter of being open sourced. Isn't /.'s fault people chose the GPL over any other thing.
/. on the simple basis that it's a formally closed source game that's open sourced. Got anything better?
Personally I think it's worthy of
I installed Netscape 7.1, never had to know or do anything about the JVM. Why? Because it has a decent installer. You can't blame Java for problems caused by bad installers.
A developer could wite a Java application, build the '.jar' file, then tell the user "you're on your own". Or that developer can build a platform specific installer that checks for the proper JVM and install it if needed.
There are programs out there that take either approach.
Even if they already have a VM installed, you have to make sure it's the RIGHT VM...
No the application's installer needs to make sure you have the right JVM
(Yeah, MS's fault) and that you don't have a funky enivronment variable munging up your classpaths.
I work with Java frequently, I can't remember the last time I had to set, or find out anything about the CLASSPATH environment variable.
CLASSPATH was an issue maybe *years* ago around Java 1.1, but has has been fixed for a long while. Part of the reason is that nowadays a Java developer can put just about all the resources he/she needs in a '.jar' file, which is a zip file with a meta information. The jar file acts likea mini file hierarchy within a single file, making software distrubution and resolving runtime dependencies easy.
Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
So I actually downloaded the code to see what's up and I'd say that the chances
that someone is going to rewrite this in Java are pretty damn low. Think whatever
you want to think about Visual Basic but this code is almost entirely uncommented,
and whatever language you are writing in that's a crime.
In fact a lot of the comments are... commented out code.
Here's a quick sample which actually has comments in it, one of which is a totally
useless explanation of what the "Randomize" function does in Visual Basic, the second
is just about is pointless.
(If you are not initiated into the VB way of doing things: a ' starts a comment)
'Randomize Random Number Function
Randomize
'Set Vis Team Home Bonus
VisTeam.HomeBonus = 0
If GstrMatchType = "Neutral" Or _
GstrMatchType = "SONeutral" Or _
GstrMatchType = "C1Neutral" Or _
GstrMatchType = "C1SONeutral" Or _
GstrMatchType = "C2Neutral" Or _
GstrMatchType = "C2SONeutral" Then
HomeTeam.HomeBonus = 0
Else
If GstrHB = "S" Then
If HomeTeam.HomeBonus <= 8 Then
HomeTeam.HomeBonus = 8
ElseIf HomeTeam.HomeBonus > 8 Then
If HomeTeam.HomeBonus > 13 Then
HomeTeam.HomeBonus = 13
End If
Call CheckHomeBonus(HomeTeam)
End If
ElseIf GstrHB = "A" Then
If HomeTeam.HomeBonus <= 3 Then
HomeTeam.HomeBonus = 3
ElseIf HomeTeam.HomeBonus > 3 Then
If HomeTeam.HomeBonus > 8 Then
HomeTeam.HomeBonus = 8
End If
Call CheckHomeBonus(HomeTeam)
End If
End If
End If
Call MatchRevenue(VisTeam, HomeTeam)
This sort of code is a pet peeve of mine. Just because it's been released under
the GPL means nothing if others can't actually work on the code and make sense of it.
The story says that the extensive manual will help (which it will a little), but some
explanation of the actual code is vital for any open source project to survive beyond
a few programmers initiated into the dark secrets of the code.
If we want open source to thrive we need to start having some standards of coding
so that others can use the code. Companies do this internally for a reason: they know
that they are going to hire new people who are going to need to look at the existing code.
Why do so few project bother with comments? It's almost as if the Open Source Initiative
should have a quality stamp that gets given to projects that actually care about their
longevity.
John.
Soccer is pretty godawful boring already. Now you're supposed to play by mail?
Can we, please, stop arguing the language anything is done. Language is not important - I have created high performance systems in Algol, Fortran, MUMPS, assembler ( several ), VB, Pascal, REXX, PL/I, "C", C++, APL, you name it.. Even Tcl/Tk, Python, Java, Cobol - who cares.. The important thing is that someone is giving a system for us ! Don't complain that and have a nice day..
Didn't take long to slashdot that site. Maybe next time we can just post his credit card so that we can just charge the amount we just put on his bandwidth bill?