views:

165

answers:

7

i want to create an online 3d game of roads and city buildings (supposed to have good graphics). i would prefer that it will work for all major Os's (linux,windows,mac).

I know that for example adobe shockwave can do that, but unfortunately there is no linux support.

A: 

Starting a game design with the engine is a little like starting to build a car with mining the ore for the steel. There are tons of free and cheap engines out there with built-in 3D rendering, sound, networking, modeling, etc.

OGRE is a good place to start.

Dave Swersky
I think that OGRE is a regular 3d game engine. not for web.
ufk
@ufk True, sorry- missed the web delivery part.
Dave Swersky
A: 

Get an experienced team.

Well the best way to achieve it is to have experience in all the technology required :

  • real time 3D graphics (using OGRE for example)
  • real time networking (using RakNet for example)
  • large scale software architecture
  • cross-platform development (if you use native-binary generated executables)

At least. On the programming side.

You better spend some time (years) working on those separate huge domains before you can do something alone, or you can focus on one domain and have other people help you. The type of game you ask for is not trivial to make. Know that very experimented and talented teams spend several years to build a not-yet-generic-enough game engine.

That said, you could simply get an already built engine and simply build things together and get your game faster. Learning about each domain is a good thing of education but not if you want your game in less than several years...

Klaim
thank you for your answer. the thing is that what i want to build is rather very simple. in c and opengl it wouldn't be too hard to build. i just want to know what's the best technologies out there to build a game that can be executed from the browser.
ufk
+1  A: 

If you insist on having it be browser-based and available on all of the Big 3 OSes, I think you're going to have to go with Java. Flash may also be acceptable, but my personal experience with its 3D performance leaves something to be desired (as a user, not a developer... never developed 3D flash apps). Neither of them will be nearly as fast as a native app.

rmeador
+2  A: 

If you are just not starting the project it would never hurt to get involved with an emerging technology. I would suggest O3D as it has the weight of google behind it and i've already seen a couple 3D browser based games.

http://code.google.com/apis/o3d/

Mmerrell
thanks! it looks like exactly what i was looking for.
ufk
+2  A: 

Mmerril brings up a good point about O3D, but the thing about that is, it seems a bit further away from actually working on most browsers than WebGL, a somewhat lower level API. Note on the wikipedia page, it says of O3D "Experimental", "Google Labs" and "Plugin"

wheras webgl

"Already in the nightlies for [all three major web browsers, IE excluded]"

and might I additionally point out that there's no linux support for O3D yet either.

Breton
+1  A: 

If you are interested in "making games" consider Unity3D or Torque Game Engine.

Both of those now have ways to be embedded into a browser, but I don't think they work on Linux. On the other hand there are things like Wine which might help you with that.

I suggested these things because there are a lot of things that go along with the game engine like tools and exporters and those two have fairly complete feature sets. They have small pricetags but if you consider the amount of time you would have to spend making your own tools or messing around with the engines themselves to get things to work, they are dirt cheap. At least do yourself the favor of trying out those engines with their toolsets so you'll know what you're missing if you go to a less complete platform.

If you are talking about "making a 3D game", for the love of God don't go off trying to make your own engine and toolset. Most likely you will get bogged down working on boring, hard problems that others have solved many times before and have done a better job at it than you could do without years of work.

On the other hand, if you are talking about "making a game engine" or "making a game in 3D on Linux that can run in a browser" then you are only tangentially talking about making a game. Instead you are mostly talking about getting cross-platform 3D to work in a browser, which is mostly about making a game engine. In that case, go for something open source that you can hack to your heart's content and spend the time getting it the way you want. However, understand that you are solving a different problem than "making a 3D game" and it will be a much longer time before you get to "making a 3D game".

John
A: 

Silverlight is another approach you could take.

It's cross browser and OS with Windows & Mac and there's Moonlight for Linux - thought Microsoft have recently announced an official port.

ChrisF