Have you used any atypic languages for game programming yet?
Hey guys,
I was wondering what languages you use for programming games (that are bigger than one-weekend projects) - besides C, C++, ObjC, C#, Java and Python.
Has anyone programmed a game in D (or any other mid- or low-spread language like delphi, ruby, perl, go, scala, OCaml, haskell, ...) yet? I saw SFML has D bindings already.
I'm not sure if I should include Lua in the list, because that one is mostly used to extend games, not to program games. But if you did so, I'd love to hear about your experience too!
Also, has anyone used some of the inherently parallel languages like Erlang, Oz or Go for making a game server yet?
If any of these applies to you, I'd be interested to hear how it worked out, or not :-)
PS: Sorry if I forgot to list [your favourite language here], there are just so many of them!
I have used Lua to write games rather than to extend games, as have a lot of other people, thanks to the glorious framework that is LÖVE.
But apart from that, no, not really. ;)
While I never got around to making a game, I did hack on game input for Factor and did some code to rip Abuse graphics, so at least it is in the right domain ;).
Overall my impression of Factor is that it is conceptually very simple and expressive, but code that does not lend itself well to the concatenative paradigm tends to be harder to read than in mainstream languages even with a bit of experience.
Oh, it is also one of the best dynamic language implementations around and has a kick-ass REPL.
Very interested to hear about experiences with ML-family languages (F# included).
PS: most languages make it easy enough to bind C (or JVM or .NET) libraries
Interestingly, I just read that Factor was first designed as a scripting language for a game, which made it even more interesting to me :) But I have not used it (yet).
I never "really" used any of the ML-family languages either.
From what I found browsing the web during the last weeks, I could not find any real game server in a language other than the "big" ones I mentioned in the OP.
It seems to me that the "nice" networking of some languages (like D, Oz, Erlang, ...) become less "nice" if the client is not in the same language :(
If anyone sumbles upon something resembling that, I would love you to post a link here!
I believe Naughty Dog used a lisp variant and 3D0 used a Forth, more specifically pforth, which is open source now.
and that is as far as I can contribute.
There is a company writing a cloud based gameserver in Erlang, I don't remember the name of the top of my head.
Google:
unity3d photon erlang
That should get you the results.
ABA Games has several games written in D, with sources.
I have used OCaml for my LPC entry. Before that, I used it for another game, which still lacks a little bit to be annouced yet.
OCaml worked fine for me. Especially for a time-limited contest like the LPC, the ability to get things done quickly and with few bugs is priceless.
From the top of my head, there is another LPC entry using OCaml and two other entries using Haskell. And a few using python or ruby, but that was less unexpected.
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.
-- hendrik
My game and its server are coded in FreeBASIC, a modern BASIC dialect.
The server makes heavy use of CUDA for GPGPU parallel tasks to handle the game universe.
http://opengameart.org/content/bitbrawl My LPC entry was written in Haskell.
The code is a bit hacky right now, but I plan to clean it up and also do future game development in Haskell.