Scripting, Forth, Lua, Python, perl, pygame and Land
2005-09-23
I think I finally settled down on the "scripting language" issue. Creating my own uber-cool language, using a simple forth like language, using Lua - so many possibilities, and all with advantages and drawbacks. I actually created 3 own languages and a VM in the last couple of years, and also implemented some Forthes (because it is really cool in a crazy way, ask Madgarden :) ). Never got to try out Lua (yet).But, the solution to it all is for now, I think, python. I originally discovered python as a good bash/perl replacement for short shell jobs. While bash can do simple things, and perl can even do complicated things fairly quickly - in python I can do it even faster and, I can re-use a script I did even months later. Something impossible with perl per definition.
Soon after I realized how easy it was to write small helper apps in python, where I would have used C before. After also using it a bit for Gimp and Blender scripting, I had to realize that python also beats PHP several lengths at web scripting. This whole site runs on python, for example - and has nice, readable, modular code.
So, I guess it was just a matter of time that I'd also try it for games coding :) Since python itself is interpreted and therefore too slow for low level tasks, still need something to do the core stuff. pygame has not enough features and is really slow, and also as Allegro developer, the choice is clear: something Allegro based. And of course, since I'm right now working on Land, I simply make python the scripting language to use with land. That way I still need to finish land, but will also make it useable from python now - if nothing else, it will be a good test-case how to access Land from outside C.
Now, the real news, I started a little example game yesterday. It is a quite simple RTS game, and expected to be finished in a few days at most. It uses pygame, just because I wanted to try it out, but will be translated back to Land later. That also will allow it then to use a 3D landscape instead of the flat board it uses currently, and run at much higher performance.
ABPS
Allefant2
Allefant3
Allefant4
Allefant5
Allefant7
Battery
BlitzHack
BloboTron
Bob'n'Rob
Command Code
Donkey
Doomed
Dragonfly
Dungeon Simulator
EggHack
Evil
Feud
Flowers
Forest
Forest Explorer
FruitWorm
Garbage
GnomeGuard
Hare
Hedgehog
Hydra
Insanity
JetFighters
Kaos
Kings
Krampus18
Lawn
Lunte
Magnetotron
MarsFight
Nefertem
The Magical Flower
Owl
Photon
PI
PumpkinForest
Quest
Red, White & You
Santa Express
Shopkeeper
SIC
Snow Hill
SoF
Squiddle
Submarine
Swarm
Teacher
Tom
Troll
20000
Ultimatum
Velocity
Wave Rider
Wesnoth GFX Test
Witch
X
xmas
Yellow and Dangerous
Zombie Master
Zoo
Galaxy
HexMap
IsometricProjection
Land
VSync
Woosls
rm -rf wordpress
Allegro 5 regression testing
the end of END_OF_MAIN
Mini LDs
Shedskin
Retrohack