Language Advice for a Newbie with Experience in Higher-Level Languages

DevPurkayastha
Unregistered
 
Post: #1
Hi! I'm thinking about getting into game development, but I worry that my preferences in languages & development may be a bit of a barrier. I'm currently a Web Developer working in Java, but I've also been doing other web-based work in Ruby, and am liking that better (as I find Java a rather heavy language). I like developing in environments where I can avoid:
  • mysterious compile time problems with dependencies
  • mysterious hardware malfeasance
  • low-level languages like C/C++ (I seem to prefer more abstracted ones)

I've seem some mention of game programming in Ruby and Python, which gives me a good deal of hope! (I also found a book, Agile GUI Development with QtRuby , that gives me hope.

So, questions I have:
  • Will some of my twitchy preferences (as mention above) simply make me not cut out for this line of development? (I can accept that, if that's likely the case.)
  • Can the Python/Ruby route bear fruit for me? What limitations will it present?
  • Where does Objective-C fall on this scale?

And if there are better links elsewhere / in previous threads, they're much appreciated! Thanks.
Quote this message in a reply
Member
Posts: 131
Joined: 2004.10
Post: #2
Objective-C would be lumped in with C and C++ in your view of the world.

It is entirely possible to write decent games with Python and Ruby. You might not be making a Quake or DOOM 3 with them but current computer speeds and the like you could easily develop a good enough sim or side scroller without too much problem.

Qt is a User Interface (plus data types and other stuff) library. Not exactly geared to game development but more for application development. Not to say that it can't be used in game development but knowing it's main focus may be beneficial.

SDL may be a library that you might consider seeing that there are bolt ons for Python to use SDL. (I think Ruby has a bolt on as well but my knowledge of Ruby stuff is limited.)

Java also has some game library add ons that might be of consideration. Seeing that you already know it, it might make you more productive in the short term.

Your 'twitchy' preferences will affect what games you'll be considering but there is quite a large subset of games that are still quite possible with the languages you are considering.
Quote this message in a reply
Member
Posts: 715
Joined: 2003.04
Post: #3
If you are familiar with high level languages then look at Dreamcard or Revolution, its very very easy to learn,
and there is a recent game specific library for getting colission and path movements.
The demo is free for 30 days or something like that, wouldn't hurt to try.
Quote this message in a reply
Member
Posts: 184
Joined: 2004.07
Post: #4
Zekaric Wrote:SDL may be a library that you might consider seeing that there are bolt ons for Python to use SDL. (I think Ruby has a bolt on as well but my knowledge of Ruby stuff is limited.)
With Python you can use pygame, which is essentially SDL. I would strongly recommend then using the OpenGL bindings for Python though (or some python libraries derived from OpenGL) in addition to PyGame since otherwise your drawing will be unnecessarily slow and you miss out on the automatic scaling, rotating, etc sort of things you can do in OpenGL. Unfortunately OpenGL is somewhat low-level, though it's not that hard to use.

Apparently BlitzMax (which has a pretty high-level basic-like language) has been catching on like wildfire if you have a few bucks to spend, and it's undoubtedly less of a hassle to set up (that is, install, have an install work for your end-users) than Python (and probably Ruby, though I haven't set it up myself.)
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #5
If you like Ruby, I recommend using Ruby Grin

http://onesadcookie.com has lots of resources for doing game development in Ruby.

http://onesadcookie.com/svn/repos/Mechnical is a full side-scroller implemented in Ruby.
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #6
There are pretty good game libraries for both Python and Ruby. For Ruby you'll just have to look harder.

I'm a bit of a Ruby fan myself so I'll address that part of the world.

There is a Ruby/SDL binding, but it has problems on OSX. For one it uses lots of libraries that I didn't have installed. (That also means that you'll have to change the build script if you want it to work with frameworks) There's also a GL/Ruby binding, but the the GLUT portion tries to link with X11/GL.

From what I have seen, all of the python/ruby extensions that I've seen are a little involved to install on OSX.

Better options?
1) EDIT: See OSC's post above.
2) I'm working on a Ruby game environment myself. If you are interested, I could send you a current build. It uses OSC's OpenGL and OpenAL code, but uses SDL for input and windowing. It also has classes for sprites, physics, and texture loading, sound and music. There are currently OSX and linux builds. (Windows too if someone can compile it for us)
Quote this message in a reply
DoG
Moderator
Posts: 869
Joined: 2003.01
Post: #7
No offense to anyone, but Java is not a bit more high-level than C++, except for the nicer framework. If you can work with the difficulties of Java, you can work with the difficulties of C++, too. And ObjC will be bliss, so will be Ruby/Python.
Quote this message in a reply
DevPurkayastha
Unregistered
 
Post: #8
This has all been some fantastic feedback. Thank you! Something to clarify:

By "high level" language I just meant higher levels of abstraction and a preference for dynamic typing. I found some nice introdocs on Objective-C and it does seem like something worth trying out on its own rights (not necessarily, but possibly, for game dev).

Zekaric Wrote:Your 'twitchy' preferences will affect what games you'll be considering but there is quite a large subset of games that are still quite possible with the languages you are considering.
I should also mention that the kind game I'd most likely experiment with would be strategy, especially of the turn-based type. To some extent, hereing the Qt is better for applications is almost a commendation! (If you've ever played the WIndows game Stars!, you'll know what I mean.)

I'm playing with some of OSC's stuff right now, and am going to take small steps from there.
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  Hello, starting first project, looking for advice in language and tools aqua_scummm 15 7,581 Jan 31, 2008 06:39 AM
Last Post: ynda20
  High and Low Level Languages FlamingHairball 22 10,697 Jan 8, 2008 10:23 PM
Last Post: PowerMacX
  What languages do you need for a MMORPG? Lost22 12 6,129 Nov 20, 2007 01:07 AM
Last Post: Lost22
  Re-introduction of low level languages? Duane 4 3,358 Oct 30, 2007 03:10 AM
Last Post: OneSadCookie
  Pros and Cons of Different Languages Blacktiger 40 15,389 Aug 2, 2007 09:36 PM
Last Post: richard