Web games

54e97bcc4e4a2fc8f5f05594afd1683a
0
Gnarlyman 101 Jan 14, 2012 at 17:52

Hey,

Right now, I’m looking at different platforms for development. Mainly, the 360 vs. the web. About the web, I really don’t know how the flow works. I.e., it’s easy enough to figure out console, or even PC, development; the client-server dynamic is not there and there’s not the additional internet pipeline to deal with (and on which side of the internet pipeline most things will be done. For instance, download the game and have it all run on your PC with internet connection to keep you in the MMO (I think the new Old Republic game follows this model), or do everything server-side? I assume the internet pipeline has a huge limiting influence on how much can be hurled to the gamer?).

I just need a good knowledge base to form a foothold on how web-based, or quasi web-based, gaming works. A flowchart or verbal flowchart would be awesome, similar to what some of these detailed graphical flowcharts of game engine cycles describe.

Thanks!

11 Replies

Please log in or register to post a reply.

820ce9018b365a6aeba6e23847f17eda
0
geon 101 Jan 15, 2012 at 18:03

I think you have your terminology confused. A “web game”, would normally mean a simpler game, embedded in a web page, like most flash games, and facebook games. They can be multi-player, but are mostly singel-player.

If you are interested in client-server architectures, for multiplayer games over the internet, have a look at these articles:

https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
http://fabiensanglard.net/quakeSource/quakeSourceNetWork.php
http://fabiensanglard.net/quakeSource/quakeSourcePrediction.php

54e97bcc4e4a2fc8f5f05594afd1683a
0
Gnarlyman 101 Jan 15, 2012 at 19:54

That’s awesome geon, thanks a million. I’m going for a single-player thing, not an MMO type of game. However, I want the ability to create 3D worlds, manipulate polygons and geometry…basically a “regular” game. Not being familiar with net gaming, I wasn’t sure if it was possible without a client-server structure. I’m taking it isn’t, really?

54e97bcc4e4a2fc8f5f05594afd1683a
0
Gnarlyman 101 Jan 15, 2012 at 19:58

PS–I guess if the first article you gave was on “source multiplayer networking”, I’m looking for “source singleplayer networking”. I’m guessing, though, that what’s presented in that article is pretty much the same core of singleplayer net games? I’m basically looking to create my own web hub/portal where full-tilt “regular” gaming (singleplayer games, mostly) can be presented over a client-server structure and users can choose which game they want to launch.

A8433b04cb41dd57113740b779f61acb
0
Reedbeta 167 Jan 15, 2012 at 20:31

It sounds like the game itself doesn’t involve any networking, but you want the player to be able to download various games from your website. If that’s the case, then…do exactly that! Just let people download the files needed to run the game, while the game itself is just a regular program that runs on the client.

820ce9018b365a6aeba6e23847f17eda
0
geon 101 Jan 15, 2012 at 23:58

If you just want to make a game that can be played on a website, without installing it manually, consider using Unity. It handles all that for you, automatically. You can even make it stream game data while you play, so you don’t need to wait too long for the download.

54e97bcc4e4a2fc8f5f05594afd1683a
0
Gnarlyman 101 Jan 16, 2012 at 00:11

Reedbeta:
Lol…you know, I was thinking the answer might be that obvious. Thing is, navigating online gaming for the first time (I’m a big singleplayer guy, not a lot of online or MMO experience), I’m unfamiliar with the territory. I originally started my planning for the 360 platform using XNA, but I’ve decided recently to switch to an online, console-independent format. I’m asking questions like, “should it be streaming data of some sort? Can modern net connections handle such framerates and data chunks? Should I just adopt a download thing (like you said)?” I’m interested in adding some sort of multiplayer support to some of my game designs, which opens up the client-server structure again. Most models/tutorials online for net gaming are for multiplayer/MMO models, and I’m trying to figure out how much those are similar to what a guy like me would use to adopt to his own singleplayer game design plans.

geon:
Interesting! I’ve heard about Unity a lot now. I’m totally gonna look into that. So that would allow full server-side streaming gaming? I’m looking at using the haXe language/interface right now; could I use the Unity engine in haXe?

820ce9018b365a6aeba6e23847f17eda
0
geon 101 Jan 16, 2012 at 11:26

> could I use the Unity engine in haXe?

No. Unity is a complete engine, IDE and scene graph/level editor. It has a scripting language that looks a bit like javascript, though.

B5262118b588a5a420230bfbef4a2cdf
0
Stainless 151 Jan 16, 2012 at 11:33

Doing realtime over the network stuff is a nightmare.

If your game design is turn based, then you are laughing. Go with tcp/ip and start coding. It’s really easy.

For realtime stuff I find tcp/ip impossible to work with. You try to keep your packet size down to reduce the packet lag, but if you get the packet size too low, the OS may buffer it into a larger packet. So you get a long delay, and then ten packets arrive at once.

So I use UDP, but in UDP you are not guaranteed to receive the packets in the same order you send them, hell you are not sure if a packet will arrive at all. In a noisy environment you could get packets from other people playing the same game arriving in your data stream. (I’ve seen this happen, it is very freaky and took me ages to figure out what the feck was going on).

I tried out Unity, and wasn’t impressed. For me it feels more like a “game maker app” than anything else.

Have a look at AGP, www.antixlabs.com

AGP is Antix Game Player and has a development environment based on VS or Eclipse. The compiled binary will run on many devices and they have a web browser plugin as well. The advantage is that it’s a worm system (write once, run many) so the same binary will run on all platforms. You don’t need to recompile it for this mobile phone or that, the PC version will run on it.

The bad side of AGP is that it’s still young, so you don’t have a vast online cache of libraries available, you have to write a lot of stuff yourself

54e97bcc4e4a2fc8f5f05594afd1683a
0
Gnarlyman 101 Jan 16, 2012 at 22:50

Huh, that AGP things look hot. The site doesn’t provide a whole bunch of descriptive nuance to it, at least for someone like me who’s used to working with console abstractions and not PC and web malarky. Is it basically an engine of sorts? I’m leaning towards just making my site a portal where users can download the game packages and play them offline, as I want to avoid any sort of the aforementioned and discussed packet issues hades.

B5262118b588a5a420230bfbef4a2cdf
0
Stainless 151 Jan 17, 2012 at 10:02

AGP is not just an engine, it’s hard to just say “it’s a …” because it does lots of things.

It gives you a c/c++ development environment that is platform independent, you can write locked surface, OpenGLES 1, and OpenGLES 2 games with AGP.

It doesn’t give you a full game engine, you don’t have a scene editor like you do in Unity, you don’t have huge libraries of code you can just link against.

What you do get is a fast cross platform environment that is really easy to port your existing code to. In most cases all you have to do is change a few function names and add some variables to string handling (string buffers are very closely monitored to avoid buffer overflows).

You also get access to the warehouse (like the Apple app store ) and built in DRM should you want it. You also have an optional content management system.

The things that make it stand out for me are the clever stuff that moves your game away from being a {%#3/PC/WEB/MOBILE} game and turns it into a multi-platform experience.

Say I have bought GameA which has a multiplayer mode. You have a phone that supports AGP, but you haven’t bought the game.

I can lend you the game with a few key presses, you will not be able to play the one player game, but you will be able to play me in multi-player.

Then when I walk away, you won’t be able to play the game unless you decide to buy it.

Then say we are at my place and fancy a match of GameA. My TV supports AGP, so I can beam the game to the TV and we can play the game on the TV and our mobile phones become the game pads.

That’s the sort of thing I want my platform to be able to do, it might not be for you if you would rather have something like XNA which provides huge amounts of support in the format of object loaders, standard rendering pipeline, etc. etc. etc.

It’s a personal choice, for me the cool things I can do with AGP far out weigh the short comings.

54e97bcc4e4a2fc8f5f05594afd1683a
0
Gnarlyman 101 Jan 17, 2012 at 17:16

Yeah, that looks great. I’m def going to be doing a lot of research into that. I really appreciate the tip.