Peter G (sinetimore) wrote,
Peter G

You Gotta Know When To Code 'Em, Know When To Modem....

I've been experimenting more with the Pascal programming language for my game designs, and I have to say, it is a very impressive bit of kit.

It feels pretty intuitive, almost like C++, but with a lot of the dirty work taken care of for you.  For example, if you want to do stuff with the text mode screen under C++, you need to find a Curses library like PDCurses (public domain) or NCurses (GPL), install it correctly, and deal with the extra, non-standard commands.  Pascal, it's under the CRT stock library that comes with the compiler, and you don't have to mess with anything.  I've only been doing some cursory testing with it, but already, I'm at a point where I can start making text-mode games like I used to make under BASIC on my IBM PCjr. from so long ago.  (The coders I hang out with have been giving me shit.  "Most people start with Pascal and work up to C++, not the other way around.")

I've noticed that a lot of the programming languages have evolved to a point of similarity.  They are all structured now instead of the line numbers that inspired so many bad habits in the days of BASIC.  Even modern BASICs have gone structured, can pass arguments between modules, etc.  The question, at least at the moment, is the syntax.  Pascal has a common mentality with C++, so it feels more like a sidestep.  FreeBASIC feels like a step backwards to me.

The biggest problem with FreeBASIC, and the reason I'm not giving it serious consideration at the moment, is how it lacks two things:  1) decent documentation (I eventually found a manual, but it isn't well organized and trying to print it out took over a ream of paper and it still wasn't finished, and that was after reformatting it with 6 point type!) and 2) clarity over the licenses.  The compiler is covered by the GPL, like Open Lazarus (Pascal).  The libraries, all but one are covered by the LGPL.  One library, for graphics, is GPL'ed.  And no one on the forums or IRC channel could answer my questions about what it would take to be compliant.

Fortunately, I ran into a guy online who was an expert on the GPL and LGPL and he explained how to stay legal with the licenses.  But he's not connected with FreeBASIC.  Tt's their project, they should know this stuff.  Lazarus has an entire section of their faq, with one of the first links pointing to it, to answer all your questions about being legal, what you have to do and what it means if you do whatever.  Python has an entire section on their site, with a link on the first page, telling you everything you can do and what you need to do to be legal.  Runtime Revolution (a.k.a. Transcript) has a section telling you everything you can do and what you need to be compliant.  RealBASIC does, too.  Not only does FreeBASIC have no such section of their site, but the people in the forums who will answer questions get quite a bit of it wrong.  One guy even said, "Don't worry about the GPL, the coder for the engine isn't going to sue you."  That's not good enough for me.  Considering how much I urge respect and support of the GPL, for me to simply use GPL'ed code and not care if I'm compliant or not would make me a total hypocrite, and I refuse to do that.

I've suspended development on Germ Warfare for a while.  Once I get the basics of Pascal down and can play with it, I'll seek out a frame buffer library and see what I can do gamewise.  If it works, I might just skip devving Germ Warfare on Game Editor and just jump straight to Pascal.  We'll see what happens.  Game Editor can still come in handy for demos, while Pascal is for when it's time to get serious (the bindings that let you incorporate Java, Python, and C++ is a huge perk, as well).

Like Velocity Girl sang, "Half the, half the fun is getting there...."
Tags: art, computers, digital rights, foss, germ warfare, linux, open source, video games
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded