So I have some experience programming in Java, and at the moment I am learning how to use Python. I have read on the process of game design and such. I also have media covered, got experience with graphics and audio. My question is geared more towards the actual tools to use for making games, developing. I am willing to commit to a long term development cycle, as I will be doing this as a hobby. I've heard of Flash, Gamemaker, etc. I don't intend to create my own Game Engine, so I was looking for a platform that is extensible and easy to program with an OOP mind frame. As a plus it would be great of said game could be played directly from a website. TIA!


Unity is the top game development tool in the industry right now. It has a free version and has a web player so you are able to deploy to a website as you said you want to do. The scripting is in C#, JavaScript or Boo, and it is cross-platform (Windows or Mac) so it should run on your computer, whichever you have.

If you want to go lower-level and take advantage of your Java skills, you could check out JMonkeyEngine. This is a Java graphics engine with some extra features that make it particularly tuned to games. It is scene-graph based, which means instead of worrying about drawing polygons on screen (or pushing them to the graphics card), you simply load meshes and manipulate the meshes in a tree structure, e.g. everything in the scene is a node in the scene graph, so child nodes inherit from their parents and so on. This might be the object-oriented aspect you're looking for.

These are my recommendations to you. If you want a drag-and-drop style interface and just want to do high-level scripting, go with Unity. If you want to write your game essentially from scratch, but not too low-level, go with JMonkeyEngine.

For any further information I suggest you search our site. Almost every day we get a question like this, asking how to start game development, so there are many search results. Please notice the search box in the top right corner.

  • \$\begingroup\$ Wow, thanks for the thorough response! I think Ill start using Unity for now, but later eventually would love to try JMokneyEngine. Thanks! \$\endgroup\$ – bombillazo Mar 2 '11 at 10:04

Even if you're an experienced programmer (any level of experience), I might recommend using something like GameMaker to build a simple game, before you start building your own. Start with building a game whose rules are well defined, and on the more simple side, think TicTacToe, Pong, or something similar. This will help get you orentated to the process your going to need without getting you stuck in the actual development. This can help you get your art and asset creation workflow down pat. (For my own experience, it this has been my largest pitfall, I spent too much time programming the game and got disenchanted with the project because I hadn't formalized an art workflow for myself.)

If you are not set on building your own engine (which is a good thing, get a game out there thats fun, even the best engine wont make a fun game) AND you are willing to be language agnostic (even though you have Java, you mention GameMaker and Flash) and have thoughts of possibly going public with your game, Epic recently upped the total amount you need to make (from 5k to 50k) before the royalties kick in for using the UDK. Its big and complicated, but it has a good deal of head-room.

As Ricket said, Unity is hot right now, and has a pretty low bar to entry and might be worth looking in to.

If being cross-platform is not of high value to you and you would rather do some programming, I cannot recommend C# and XNA highly enough. C# has all of the good parts of Java, without all of the poor parts, like the Java implementation of Genrics, and all the goodness of DirectX in a very "managed" style API. TorqueX is an XNA engine, but if you see my question here: it is not highly recommended. There are other XNA based frameworks and engines that can help get you off the ground; depending on the complexity of your game, you may not need any of these engines.

If you are dedicated to Python, you might want to look into pygame -- I'm not much of a python guy, so I can't commont on its ease of use, but I've heard it mentioned a lot with respect to game development in Python.

  • 1
    \$\begingroup\$ I also recommend XNA! It's great, but given the Java tip I assumed no experience in C#. On the other hand, C# is not hard to learn given prior knowledge of Java, so it would certainly be a good option. \$\endgroup\$ – Ricket Mar 1 '11 at 23:19
  • \$\begingroup\$ Yeah, don't really know C#, and have no idea about XNA except thats what they use for XBOX Live games XD I may give it a try eventually :) \$\endgroup\$ – bombillazo Mar 2 '11 at 10:05
  • 1
    \$\begingroup\$ @Bombillazo It can also be used to make Windows games; no Xbox is necessary. But yes it is the language of the Xbox Live Arcade, and it's VERY easy to deploy to Xbox. The environment is really awesome. \$\endgroup\$ – Ricket Mar 2 '11 at 14:44

I'm surprised no one suggested http://PyGame.org since you already now Python.

Flash/Unity will get your game on the web, though those are proprietary technologies and I would not recommend it for hobby game development - not a lot of hobbyists have the resources to learn non-free tools.

If you are adventurous you might want to try any of the new html5 game engines (those will become feasible to deploy in the coming years): https://github.com/bebraw/jswiki/wiki/Game-Engines

  • \$\begingroup\$ I did suggest pygame. \$\endgroup\$ – Nate Mar 2 '11 at 15:41
  • \$\begingroup\$ I also prefer free software, but claims like "not a lot of hobbyists have the resources to learn [Flash]" are nuts. I bet more Flash games are made per day than Pygames per year. \$\endgroup\$ – user744 Mar 2 '11 at 16:20
  • 1
    \$\begingroup\$ People making games in Flash are not hobbyists in flash. They are flash developers (or web developers) by day, and game making hobbyists by night. It's a very important distinction, I think, as Flash is not nearly as "cheap" or easy to pick up as everyone likes to think. Sure, if you've been animating banner ads for 5 years in flash, it might be easy to throw a game together in a weekend, but most people are going to find a much higher learning curve than that. And while the cost for flash is way less than a UDK or equivalent, you pay for it in other ways, IMHO. \$\endgroup\$ – livingtech Apr 9 '11 at 2:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.