The personal site of Calvin Janes.
Home | My Music | About

Thoughts on game engines in Java, C++ and Python

Over the last several years I’ve been getting into making video games in some of my free time. I’ve investigated in quite a few places. I figured I’d write down some observations and point to some tools that may help people with a similar interest. Most of my research was centered toward cross-platform hardware-accelerated 2D games, so I focused on tools that could render with OpenGL.

Java

I started out in this pursuit with Java, and for various reasons I’m back with using Java again. It has a good balance between ease of coding, thanks to some great tools like Eclipse, and performance. There is also a strong and growing community of game developers working in Java.

Slick - A great easy to use 2d engine. I’m currently building a platform game with this engine, and its quite friendly to use. It doesn’t have a scenegraph but it does have a lot of things to make it convenient to use without blocking you from going to another library for pieces of functionality.

JMonkey Engine - 3d engine with a strong community. I was using it back in version 2 to make fattywars. At that time the community around the engine was struggling with the loss of some of its developers, but its since picked up speed again.

LWJGL - seen some very cool games that run on it. See puppygames.com

jBox2d - close port of Box2d physics. The most well known 2d physics library.

C++

People say if you want to get serious about games you need to work in C++, because that’s what the industry uses. That said, I expected to find a much larger group of tools for developing games in C++ than in the other languages. But was surprised that while it may be true that there are a ton of commercial tools out there, the amount of open source stuff out there is comparable or lesser than what can be found in java or python. This is especially true if you’re wanting your game to be cross-platform.

SDL - This library’s strength is that it is the number of platforms it runs on. Linux, Mac, PC, homebrew consoles, handhelds, etc.

SFML - I had already switched back to Java when I’d heard about this one, but I hear good things about it. I’ll definitely be checking it out in the future.

Box2d - popular 2d physics

Chipmunk - C, Objective C - fast 2d physics.

Ogre3d - This is a very popular graphics renderer with many proven results. Commercial game Torchlight uses this tool. If I was interested in making a pro-grade 3d game on open source software, I’d look here.

Python
Python seems to have fewer people working on games for each library I looked at than either the C++ camp or the Java camp. Not to say there aren’t a ton of libraries and people collaborating on code. Perhaps there are more people coding libraries than making games in python :).

Pyglet - Very cleanly written library for OpenGL graphics, and multimedia. Very easy to use. Very well documented.

Cocos2d (python) - builds on pyglet adding some stuff useful for 2d game devs. With these two systems together you can get 2d games up and running very quickly.

Pygame - though this library has a big following (biggest game library in Python), most of its community is using it for software rendered graphics rather than OpenGL. The community is currently working on a version 3 of pygame which sounds very promising.

Comments

Успешный бизнес управление предприятием основы конкуренции в бизнесе.
Отдых в греции интересная греция эллада.
Разведении собак интересно о псах собаки от а до я.
Мировые религии своременные религии cовременный взгляд на религию.
Християнство актуально о религии ислам.
seropol3

Офигенная статья про различные часы и другие изделия.

All people deserve good life and business loans or just commercial loan would make it better. Because people's freedom bases on money.

Hello! Are at this website students? I am able to get you information about essay writing service. Tehnce, you are able to ask everything just about academic custom accomplishing!

Lots of people all over the world recognize that the term paper writing service will provide us with the term paper writing service papers. So, this is simple to order custom essay.

To reach A+, different people should decide if they want to perform the essay paper or just buy how to buy an essay instruction of good upper-class.

There're lots of websites that can make traffic optimization for you. It will be paid! Costless software does not give good results! Better idea is contact the quality directory submission company.

My sister told me not to buy term paper. However, I could not realize why. Could somebody possibly explain me it?

I'd like to propose doing a reverse phone lookup for anyone trying to connect a name and address to an unknown telephone call.

I have always problems with java. This application don't work normal on my computer.

I think the idea to buy research paper is really great

π