I'd like to pose a companion question to Pompei2's question:
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!
If you haven't yet used an atypic or rare language for a bigger project yet, would you consider any for your next project?
Or if you could have used a different language in your project which language would you have used?
And why? Any features you missed? Something that could have been easier?
Brainstorming, speculations, awesome examples and multiple answers encouraged.
I've written student assignments in Delphi/OpenGL with BASS for audio because it's not too much work porting from Flash, and I never learned C academically.
I'm trying to get to grips with LÖVE ( a2D engine for LUA scripts) but I can't get used to the workflow of working straight from a text editor! I guess I choose it because of how easy it is to interface with audio, gamepads, etc as I'm usually looking to get straight into coding the game logic!
- Tom
Currently working on a Rogue-Like that uses JavasScript and the HTML5 CANVAS tag. Certainly not unique, but not exactly the most common of language choices. I'll be tossing a post over in the procedural section with more details. But in general it has been working well. There's been a lot of lessons learned since I come from a C#/C++ background, but I can see the strengths of the language. Going to try and leverage the dynamic nature of objects as much as I can in the engine.
Hi Languard,
I'm interested to hear more about your game. Have you seen Cardinal Quest? What is going to be unique about your game?
Gaurav
HTML5 Canvas Old School RPG
HTML5 Canvas Old School RPG
Sorry for dropping off radar like that. Between grading finals/projects and prepping to go to Taiwan for the whole summer, life got insane.
My primary goal right now with WebRogue is to experiement mainly. I want to integrate it into Facebook and see how I can work traditional rogue-like elements with modern social gaming. I also want to experiment with having just the front end in HTML5 and the backend, heavy-duty procedural stuff in Google AppEngine using python. Not to mention I want to start collecting prodcedural algorithms into a library of sorts that my students (and others) can access.
For the game itself, I've roughly settled on an exploration theme. You explore caves to find locator fragments that lead to watch towers from an ancient civilization. Those contain map orb fragments that lead to outposts. From there you can find fragments that will lead to abonded cities and temples. The ultimate goal is find the capital which will have the greates treasures and the greatest foes.
Why? Because collectors, governments and museums pay really well for stuff from this lost civilization.
I haven't, simply because it's hard enough making a game in a well known & widely documented language with many libraries. I've dabbled in many languages, but I've always found myself coming back to C++ because of the great libraries that have been written for it and because I know it. That's the other factor: few people have time to learn a whole new language to communicate exactly the same message as they could already communicate in their known language.
The only language I've used besides C & C++ for any practical application is Python because it's so easy to learn and use. It's probably as close as you can get to coding in pure English (of the languages I've tried, anyway).
I dont see myself ever using D. I wouldnt bother learning delphi personally i would just learn c# if i was going that route. I like the mainstream languages. c++, python, lua, objective c. actually out of the 4 i only know c++. Scripting languages seem neccessary for anything useful though. I bought a lua and python book. Lua was a little strange to me coming from such a strict language like c++. speaking of which I need to buckle down and finish those up.
during my time with c++ I really havent created anything that could not have been done with an easier language. thats kinda depressing really.
Nikki and the Robots is written in Haskell.
Gods and Idols is written in FreeBASIC
Most of my recent titles are written in Javascript, some with canvas, some (like my unfinished roguelike) with more traditional displays. I also have a couple of titles in Java ME. Wrote a Reversi game in Tcl/Tk, too, but that was back in 2000. Wouldn't do it again. And I ported one of my games from JS/canvas to C++/OpenGL, but that was a one-off experiment (which went exceptionally well).
In the way of exotic languages, I happen to be interested in interactive fiction. I've written real, if small, games in Inform 6 and more recently TADS 3. And I'm not sure it counts, but right now I'm porting a game to a Web-based system of my own built around the Mold templating language.
If you ask me, I'd say making games is a game in itself, so if you want to play at making a game in an exotic language, go right ahead. Just make sure other people can play the game, too. Unless you're making the game just for yourself, but what would be the point?
ABA Games has several games written in D, with sources.
Sushi Quest is written in pascal, but using some uncommon language is usually a problem (I had to write lots of bindings to libraries myself, and reivent the wheel lots of time).
Javascript ftw!
http://myplayground.tomrochette.com/coderush/
I don't know if I'd really call javascript rare these days. :)
no, but at least atypic :D
I can attest that Javascript is still an atypical choice for roguelikes, relative to other languages. But otherwise HTML5 is taking hold.
Speaking of that, good work Budha! It's moving smoothly, and I was able to figure out the gameplay in a coule of attempts. Couldn't hear the sound, though (on FF13 under Linux, and yes, it works fine generally). Do you have any yet?
when compared to C# http://csharp.net-informations.com c++ is very hard to study. So go with a .Net languages like c# or vb.net , if you are a beginner.
chris.
http://net-informations.com
I always thought Processing would be a cool game programming language. I also think Free Pascal/Delphi would be cool, but I think that's more common.
Syrsly
Twitch Streamer, Web/Game Developer, & Artist
syrsly.com - contact me for commissions, thanks!
You could use an IDE if you want. FlashDevelop has very good tools for non-AS3 projects. I also recommend looking at Programmer's Notepad.
Syrsly
Twitch Streamer, Web/Game Developer, & Artist
syrsly.com - contact me for commissions, thanks!
If you choose a language to make your game, please check it's free (as in free software) and portable.
Please stop using Flash/.NET/Delphi or at least use their free counterpart (HTML5, Mono, Lazarus).
Devnewton, Flash (as in AS3) is free software. It is not entirely open source, but most of the language/player is open source, and there are plenty of free, open-source alternatives to the Flash IDE and SDK. I use FlashDevelop with the open Flex SDK for AS3 projects. Haxe is capable of also being compiled to Flash formats (FP9+ or Air), and it is completely open source and free. I prefer Haxe for game dev for many technical reasons, but unfortunately, I have very little experience with it, and it is harder to get installed than the Flash environment, so I use Flash out of convenience for now. I see nothing wrong with using commercial tools for game dev, but keep in mind that Flash has free tools all over the place. You do not have to resort to using HTML5, and honestly, I see very little reason to switch.
Throwing more fuel on the fire, I think Mono was great at one time but was ditched a long time ago and has not been kept at the same level of updates as .NET. I am familiar with Lazarus, and when I say Delphi, I pretty much mean Pascal. Notice how I said "Pascal/Delphi"? Most of Delphi's features are also found in Pascal, and Pascal is a lot more friendly to beginners.
Syrsly
Twitch Streamer, Web/Game Developer, & Artist
syrsly.com - contact me for commissions, thanks!
A-hem! Flash may be free as in beer, but it's most definitely not open. Key points of the specification are secret, so open source implementations must make do with reverse engineering... which is specifically prohibited by the Flash EULA! Luckily, that particular provision is null and void in the EU, but what about the rest of the world? Also, what are the preferred codecs in Flash? H.264 and MP3, which are patent-encumbered! Net result: alternate implementations don't stand a chance. So much for openness.
Mono is in a similar situation: the parts of the CLR spec that are open are largely useless by themselves, and the rest must be clean-room reimplemented... which was a legal gray area until the Google-Oracle trial. And compatibility with .NET was always shaky at best even for those open parts of the spec. Even before the bad moves that shook the public's trust in Mono, it didn't stand a chance to compete.
Also, technically Delphi is an IDE. The language is called Object Pascal. So yeah.
No, there's nothing wrong with using commercial tools to develop commercial games, but open source games need open tools/platforms. Which Flash and .NET simply aren't. And even for commercial games, you might want to consider the risks of tying yourself up to a platform that could be yanked from under your feet. *cough* XNA *cough*
Happy coding.
D is a great programming language for games IMO. Its fast and easy to learn, yet very flexible(whatever you can do in C, you can do in D, it also supports linking of C libraries :D). I worked on a homebrew game for PSP using D(D1) a few years back, and I liked using D for it
My recent LPC entry ('Dungeon Tactics') has 100% of it's game logic written in Lua. State management, movement, pathfinding, combat resolution, menu interface, application control, everything.
The engine itself ('XenosEngine') was written in c++ of course; it largley consists of thin lightweight lua wrappers around 3rd party libs, with a simplistic API and homogeneous syntax to unify the sometimes radicaly different component libraries.
Just as a side note, I was a professional Flash developer for 10 years. Xenos is ~90% feature compatable with Flash; it was designed to port pure Actionscript style apps quickly and easily with minimal effort, just minor syntax changes. (Lua v.s. ECMA Script )
Dungeon Tactics - Open Source SRPG
xhrit, is Xenos strictly for 2d games? what are the performance bonuses to porting to Lua? Sorry, I have not messed with the engine yet, but it definitely interests me. I'm not very fond of how Unity camera and character controllers work, because I can't see all of the code. All I can do is look at an API doc. I imagine that's why some people are opposed to Flash, as well. (Though you can easily retrieve the AS3 source libraries.) Anyway, I'm gonna check this Xenos engine out.
Syrsly
Twitch Streamer, Web/Game Developer, & Artist
syrsly.com - contact me for commissions, thanks!
Xenos has support for full 3d as well as 2d. As for the performance bonuses, well, Lua is the fastest dynamic language ever. And yes, the closed nature of Flash is what drove me to create Xenos in the first place.
Dungeon Tactics - Open Source SRPG
i already used Visual Basic 6 to programing a game online 2d, but your performance is very low.
My current project, am using C++, has a amazing performance.
sorry my english, i'm from brazil :D
i'm brazilian, my name is Fernando, and i've 16 years old!
I'm programmer C++, Java, Vb6
My current project is a game MMORPG 2D, in C++
You should check out LiveCode, which has an open source version. They are supposed to be delivering resolution independent graphics plus a fast sprite engine shortly
Chikako
Meshbox Design - Makers of Toon Santa!