Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Newcomers DBPro Corner / Web Hosted/Deployed Game Options

Author
Message
DysonB
19
Years of Service
User Offline
Joined: 26th Jan 2005
Location: Surrey
Posted: 27th Jan 2005 00:53
I am new to DB Pro and am currently trying to get my head around available game deployment options.

My terminology may not be 100% acurate, so I'll outline what I mean/am looking to know.

From my understanding, a game created with DB Pro will typically be compiled/made available as a exe file. .exe files and any supporting game files are then installed on a local PC.

My question is this. Is there a way of deploying a DB Pro game exclusively as a web hosted game? (so that a user would not have to download the .exe file, etc.. but click on a link which just ran a web deployed version of a game). I guess I would loosly compare the deployment type I require against shockwave games hosted on http://www.shockwave.com where the game runs within a pre-downloaded framework (although this is probably not the best of comparisons, hope that it gets across what I am trying to achieve with a DB Pro solution).

I have searched across the forums and most threads which touch on this area seem to ultimately end up referencing the Multiplayer Tutorial, which while a very useful document, seems to cover packet exchange/hosting rather than full web deployment of a game (and is effectively a client install of the .exe, etc..).

Really appreciate any pointers on this area,

Thanks
Qweeg
19
Years of Service
User Offline
Joined: 23rd Sep 2004
Location: Kent
Posted: 27th Jan 2005 16:57 Edited at: 28th Jan 2005 07:52
This is something that I would be interested in too, but haven't been able to find much about. Most of the threads relate to multiplayer online gaming, as you say. Hopefully someone will come up with something - I'll let you know if I find out anything.
Clueless
20
Years of Service
User Offline
Joined: 16th Feb 2004
Location: Corbin, KY, USA
Posted: 28th Jan 2005 08:54
Hi DysonB,

A web-deployed game as you describe isn't feasible in DBPro for many reasons, and you're right about the DBP multiplayer demos you found -- they're definitely geared toward everyone having at minimum an .EXE as a client. Some network-enabled games will allow a client to also act as the 'server' or 'host', and some allow you to use a separate machine for that role so you don't bog down your client doing double-duty.

If you're gaming on a network you want data transfers to be short and sweet -- as much information as possible exchanged using the fewest bytes possible. This involves more than the obvious stuff, such as exchanging positions of objects in the game (tanks, mines, missiles, etc.)... it goes right down to the protocol you use to transfer the data. For example, TCP/IP guarantees delivery of the network packets in the order they were sent, but has considerable overhead when compared to UDP, a "datagram" protocol also built over IP where if packets get lost or rearranged in transit... oh well. Internet games will often use UDP and build in protection or optimization for those problems.

If you were thinking of plunking down your .EXE on a server someplace and letting everybody "just run it" from their client, remember what actually happens when you run a program on a PC -- it gets loaded into memory on *your* computer. So if you've got a 10MB .EXE file on a server and 6 people "run" it, you're going to have 60MB of data MIMIMUM going out over the internet to the clients. From there, everyone is running the program on their own system in their own address space -- as memory (physical and virtual) is changed, it's only changed on their system, and doesn't reflect what's going on with other copies of the game.

I've oversimplified some stuff above and much of it you probably already knew anyway... but, point is, try as you might, if you put an .EXE on a network for people to run, they're going to be "downloading" your program one way or another. Since DBPro executables are statically linked, you at least avoid any annoying installation programs, registry mods, etc., for people who download your game (they've just got to have the correct DirectX version).

Back in the old days of game design, before the internet (gasp!), we wrote multiplayer games where all clients executed as processes on a single (mainframe) computer and talked to each other through shared memory and semaphores that synchronized the updates. Even then, most of the game executable was still loaded into private memory space by each player. It was easier to share the game info that needed to be shared, though. What was sorely lacking were nice graphics and the ability to play people really far away.

Really what you're left with now isn't that bad of a situation -- get all the system-intensive stuff like graphics pushed out to your game "client" and then have fun devising the best "shared memory" mechanism you can come up with using the network. IMHO, DBPro and DirectX have cut so much development time off the 3D programming end of gaming that there's plenty of time to handle the somewhat trickier job of sharing the game data correctly over the network.
DysonB
19
Years of Service
User Offline
Joined: 26th Jan 2005
Location: Surrey
Posted: 28th Jan 2005 17:41
Hi Clueless,

Many thanks for your help, it is much appreciated!

When put in the context of your detailed explanation, I don't think the client install side of things is as big a problem as I originally thought it was.

It sounds like it is the norm to use this type of deployment method for larger/more complicated online games (a colleague also pointed out that online poker games tend to use client downloads - which I hadn't considered up until that point).

I'm going to take a look at the 3D gaming aspects and try to integrate the multiplayer side of things as I get better with DB Pro.

Thanks again for your help!

Login to post a reply

Server time is: 2024-09-23 10:15:57
Your offset time is: 2024-09-23 10:15:57