Primary tabs

Comments by User

Wednesday, January 15, 2014 - 07:47

Fun! It has the appearance of isometric though it's geometrically exact hexagons.

-- hendrik


Wednesday, January 23, 2013 - 13:14

I check my email every day, and I've set the relevant forums to notify me when anything is posted.  So, indirectly, I do check this forum every day.  My hat is off to the judges; they must be having a difficult time.  I can't imagine how they can get it all done quickly.  I'm now retired, and I can't imagine having the time to get all these games running mysef.  All I can advise them is, take your time, do it right.

I'm patient.

From time to time I play my game for a few minutes (it takes maybe ten minutes) and enjoy myself.  Maybe I'll get around to developing my game further someday.  If so, where should I post it when it's more ready?  And does anyone have any recommendations what else I should do with it?



Tuesday, September 18, 2012 - 11:07

Let me thank you for all the work you are doing on the judging, especially given the unexpected magnitude of the task.

As I also tell people who  do stuff for me, take your time, do it right!

And I hope you're having fun.


Tuesday, August 28, 2012 - 15:28

png_loader is used on line 656 of

I don't need the loaders for svg or jpeg.  I hadn't heard about genimg_loader.  It sounds interesting.

Debian has an online index,, where you can search for packages by the names of  files they contain.  Does Fedoora have something similar?  If not, the Debian index might give you clues where to look.

Wander definitely does us Unix, on line 33, to get the date and time to initialize the seed of the random number generator.  You probably could cut out this code and use a default seed instead.  But then you'll always get the same island to explore, which could get boring.

You might, for exapmle, replace

let date = (Unix.gmtime (Unix.time())) in

    Random.init (date.tm_sec + 60 * (date.tm_mon + 60 * (date.tm_hour + 24 * (date.tm_mday + 31 * date.tm_mon))));



and then recompile the game every time you run it, putting in a different number for 68346.

As the comment in the code says, Ocaml's spec says that you should just be able to say


but I found that not to work.  But maybe I used it wrong.  I'll investigate.

But you get the complaint about Unix on line 1, it might be that the library GL uses Unix itself.  If so, I'm surprised you got to build ocaml-glMLite.  Or maybe ocaml always complains about libraries on line 1, wherever they are opened.

Let me know how you get on.  I don't have a Fedora system here to try anything on.


Thursday, August 23, 2012 - 21:58

It really is somethng you learn with experience.

Example: after you've written your first game, and are writing your second, you'll see places where you say, gee, I wish I could reuse that piece of code from the first game but it has so much specific stuff from the first game embedded in it.

You could treat the situation as  hopeless, and forego a learning opportunity.

Or, you could go back to that  first game, and try to separate the part that you want to reuse from the specifics of the first game. In so doing, you'll end up with some code you can use in the second game.  But don't stop there.  Rewrite the first game in such a way that you *can* use the same revised code in the both the first and second games.

Doing this is a first lesson in identifying modules.  Repeat as necessary.

It's said that for any specific piece of reusable code, it will take at least three uses (thus two reuses) before you get the interfaces right.

It may seem like more work this way, but you'll develop a reusable codebase that will make later work easier and easier.

The technique works for large programs, too.  If you find yourself writing similar code (and especially if you find youself copying and modifying a bunch of code) stop and see if you can carve out a module/function/macro/procedure/inheritable-class/template/whatever that you could use twice with different parameters.  If you can, you'll save on debugging, because your bugs won't be copied from one place to the other and you won't have to track them down twice.

Wednesday, August 15, 2012 - 23:15

WANDER: Bug found.

I've been informed of a bug in my game by someone who got it running.  At approximately line 656 in file, there is the line


Png_loader.load_img (Filename "/home/hendrik/dv/fun/wander/tiles.png")


containing the complete path to the file tiles.png in my development environment.  It would probably work better for you as just


Png_loader.load_img (Filename "tiles.png")


assuming your current directory is the obvious one. I hope this doesn't  invalidate my entry.


-- hendrik


Wednesday, August 8, 2012 - 20:57


Yes, it does require glMlite, a decent binding of OpenGL for OCAML.  It's also a free library, available under the MIT licence. Is that a problem? You can get source code from

The version I submitted does work, and has been tested on an i386 Debian testing system.



Sunday, August 5, 2012 - 23:03

my submission tothe contest, Wander, was written in Ocaml.  Except for the fact that I  had to learn Ocaml on a deadline and that I *really* wasn't used to its style of syntax and error messages, it was a delight to use.


Sunday, July 29, 2012 - 17:22

I'm using GPL2+ in my project so that it will be compatible with more other free software.  At some point I'll probably add other licences for the same reason.  Maybe MIT or one of the BSD licences.

I've had a lot of trouble with some software that was released with an extremely free licence way back in the 90's, before the world had standardized on the small number of common licenses we have now.  It turns out not to be compatible with the GPL2 or 3, and it's a constant nuisance almost every time I want tto use it.  The company that produced it and more-or-less gave it away has undergone a series of takeovers, and no one we can find has the slightest interest in the project any more.  We cannot find anyone to relincence it.  The result is permanant incompatibility.


Sunday, July 29, 2012 - 17:08

I have no problem either with  deadline extension.  I'm pretty well able to submit now, but am doing a bit of playtesting.  That said, there are several improvements I could make.  Perhaps, if you implement the extra points for being on time,  could I submit now for extra points and let my on-time submission compete with my late one (that gets no extra points)? 

Though  have to admit, I was looking forward to being done this Tuesday!

But I'd be delighted if in the interim two weeks or so people would try out my game and give me feedback!  There is a link in a recent message in the thread where I say I am learning opengl and ocaml.  So far I am happy with these tools.