Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Agile language for 2d game prototypes?

Occasionally ( read: when my fiancé allows ) I like to prototype different game or game-like ideas I have. Usually I use Java or C# (not xna yet) because they are the languages I have the most practice with. However I would like to learn something more suited to agile development; a language in which it would be easier to knock out quick prototypes.

At my job I have recently been working with looser (weak/dynamically typed) languages, specifically python and groovy, and I think something similar would fit what I am looking for.

So, my question is: What languages (and framework/engine) would be good for rapidly developing prototypes of 2d game concepts?

A few notes:

  • I don't need blazing fast bitcrunching performance. In this case I would strongly prefer ease of development over performance.
  • I'd like to use a language with a healthy community, which to me means a fair amount of maintained 3rd party, libraries.
  • I'd like the language to be cross-platform friendly, I work on a variety of different operating systems and would like something that is portable with minimum effort.
  • I can't imagine myself using a language with out decent options for debugging and editor syntax highlighting support.

Note: If you are aware of a Java or C# library/framework that you think streamlines producing game prototypes I open to learning something new for those languages too

like image 780
Tom Neyland Avatar asked Feb 10 '11 06:02

Tom Neyland


People also ask

Which methodology is best for game development?

Hence, the need to use the agile approach of developing projects. Agile game development is an iterative process. The approach can be interpreted as working on small projects instead of working on the whole project.

Do game developers use agile?

Many games developed using agile practices, mainly those in the Scrum framework, have shipped. There has been more than enough time to understand how much agile can really help a game team. It's time to look at what is emerging from agile game development teams.

Which SDLC model is best for game development?

Though it comprises a few drawbacks, yet the spiral model is considered the best gaming development technique so far.

What is GDLC methodology?

Methodology Game application development requires a systematic approach of methodology in order to produce a satisfying result. Therefore, the Game Development Life Cycle (GDLC) model is selected in this project as the most suitable methodology of application development life cycle to complete the system.


2 Answers

Python + pyglet or cocos2d

I used pyglet to prototype an iPhone game that I just recently finished. It was a joy to work with, and definitely rapid.

like image 55
FogleBird Avatar answered Sep 20 '22 19:09

FogleBird


I have had great early results using Clojure for 2D game development.

Reasons for this are:

  • Dynamic language - excellent for interactive prototyping using the REPL, e.g. in the Roguelike I'm developing you can play the game while interactively querying / manipulating the game state
  • Extremely productive (once you get the hand of the Lisp syntax) - I probably need to write less lines of Clojure than any other language because of macros, higher order functions, STM etc.
  • It has excellent interoperability with Java, so you can directly borrow all the fantastic open source Java libraries. e.g. Swing / Java2D is great for simple 2D games but you could go all the way and use something like jMonkeyEngine if you really wanted to. You can also use all the Java netowrking and IO libraries etc.
  • Performance is generally good - although the default is to be dynamic at the expense of absolute speed, you can add primitive/type hints to get very fast performance if you hit a bottleneck.
  • Cross platform - runs anywhere you can find a JVM, without the need for a rebuild / recompile. GUI apps work just fine across platforms assuming you stick to pure Java libraies like Swing. You can also create applets or launch via Java webstart if you want to run in a browser.
  • Great community - the Clojure community itself is small but supportive, friendly, innovative and growing fast. And it's also part of the huge / broad Java community so you have a massive ecosystem of proven libraries and tools whenever you need them.
like image 41
mikera Avatar answered Sep 22 '22 19:09

mikera