Which language

Started by
4 comments, last by daviangel 17 years, 8 months ago
I've been creating online games for quite some time, but I've been using a program called GameMaker and some dlls to do it. In the past year I started programming my own dlls with c++ for GameMaker, so I know a little bit about online gaming. Anyways, I spent a couple years working on an online role playing game with GM, but recently I gave up because at the stage it was at, only about five players could play on a server (my computer which is kind of slow and only has broadband connection) without it lagging pretty bad. On top of that, the game wasn't all that complex; it had no 3d graphics, the world was rather small, and there wern't many different types of mobs and items. I want to expand on that and make a playable online role playing game. To do that, I'm going to need a different language. So my question is: what should I use? I don't really want to use c++ because I'm having a hard time learing directX, and directX is kind of necessary to a game that would be using 3d graphics. I thought about Java, but I don't know the first thing about Java. I can't really decide which route to take if I don't know anything about one of the paths. I don't want to use an engine either; that doesn't mean an engine is out of the question, though. However, I'm not considering something like c# an engine. I consider it to be more on the framerwork side. I want to have something that is going to be pretty smooth sailing. I know c++ would probably be my best option, but I'm far from a great c++ programmer so I'd rather use something else unless there is a really good reason to use c++. Please don't think I'm some newb that wants to create a MMORPG all by myself that will rake more dough than WOW and EQ combine. I just want to take what I've got and expand on it with a language that will actually let me do that. GM has put me into a corner and I can't really add much to my game until I figure out where to restart. Thank you for your time.
Advertisement
First of all, stay away from "Make Your Own Game!" applications, they pollute your brain and get you no where if you want to actually program something. You may have different opinions on the matter, if you want.

You have a number of options when you first start out. You could jump straight into things and pick up C++, experimenting with the language in the console and then do some neat graphical things in SDL or Allegro. You could use something like Pygame to help you not only learn how to program, but also how to program games. If you want to take the .NET route, you could play around with Managed DirectX, Tao.OpenGl, or SDL.NET to program games using C#/VB.NET.

All in all, it really comes down to what you like. Try everything out and see which one is easiest for you. The key thing is keeping yourself motivated and making things as easy as possible (without using a "Make Your Own Game!" application).

My advice? Play around with Pygame and make a pong clone. Python is a fantastic language for beginners as it forces you to use good programming habits and it teaches concepts early on. Pygame is a great framework as it lets you easily take advantage of SDL without having to worry about makefiles, linking errors, and the harshness that is C++.

Good luck!
Rob Loach [Website] [Projects] [Contact]
Maybe I was a little misleading when I said I wanted something pretty smooth. I'm really not looking for something like SDL or Allegro. I have already played around with SDL and Allegro, and from what people have told me, you can't make any serious game with SDL or Allegro because they don't take advantage of graphics cards and they are pretty slow.

I have been told that to do anything graphically advanced SDL and Allegro are not the answer. Wheater or not that is true, I don't know, but I would hope I havn't been lied to.

I checked the links you gave me, and I think pygame is out of the question. I think I might have been a little misleading and you thought that I really didn't have experiance programming games with a langauge like c++, when in fact I do. Pygame seems like a simplified c++/sdl combo, which is not what I want.

Tao.OpenGl and SDL.NET have caught my attention, though. It seems that either of these could be the answer that I'm looking for.

I went to the examples and tutorials links on the Tao website and it said there was nothing there. I then checked the Documentation and all that seems to do is just tell you what libraries are included. That really doesn't tell me much about what it does or how it works.

I don't think my first post was very specific for what I wanted I guess. I really just need something that is going to make graphics a little easier. I need to have the power of directX or openGL but an easier way to use them. I asked about Java because I thought Java had its own graphics library that was probably easier to use. But like I said before I don't know the first thing about Java. And I mentioned c# because I didn't know weather it would be better to use that or regular c++ for an online game. It seems that a lot of the newer MMORPGs are developed with c# rather then c++.

Hopefully now it's a little more clear what I want. I apologize for the confusion.

Thank you for your time.
Well SDL and allegro are slow in comparison to 3d libs that take advantage of video cards and the like you probably need to familierize yourself with the language a bit more before you write a graphical 3d app. If you've already gotten your feet whet with the dlls you should go for c++. If your up for it OpenGL and DirectX are excelent 3d APIs and O.G.R.E is a decent grapics engine
____________________________"This just in, 9 out of 10 americans agree that 1 out of 10 americans will disagree with the other 9"- Colin Mochrie
Well, a good question then is are you looking to do 2D or 3D game development?

Tao.OpenGl just provides bindings to OpenGL for .NET . You can use it to produce hardware accelerated 3D graphics in .NET programs. The same goes for the rest of the libraries included in Tao. Most of the examples and available through downloading it. They are fairly low level, and you shouldn't really deal with them unless you need the power. SDL.NET, for example, uses Tao to provide an object oriented layer ontop of Tao.Sdl.

...And SDL and Allegro are extremely capable systems. SDL has been used in many professional games, including Civilization II: Test of Time and, to my knowledge, Starcraft.
Rob Loach [Website] [Projects] [Contact]
That's funny since I just started using gamemaker after seeing this awesome
making games via WYSIWYG

I have to say that it's refreshing to be able to make a complete 2D game with complete graphics and other resources under 1hr!
I have also written games in c++,c#,vb,etc using opengl,directx,sdl,allegro and it sounds like c# with managed directx is what you are looking for.
This book provides all the info you need to do what you are looking for with a minimum of fuss Beginning 3D Game Programming
If you find it too difficult you will never get any further since doing it via c++/directx or c++/opengl is 2x harder and will take you 10x as long.
In that case you will have to try again with gamemaker and see if you can't improve it's performance somehow.
I would also recommend looking into Torque but you said you din't want to consider a using a prexisting engine not to mention you will have to use c++.
[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe

This topic is closed to new replies.

Advertisement