The Web is dead. Long live internet messaging!
I'm going to try to mash together some elements of real-time communication. Don't know how, yet.
Awards
Scores
Ratings (show detail)
Overall: 2.7
Fun: 1.8
Production: 2.9
Innovation: 3.3
Respondents: 12
Files
File | Uploader | Date |
---|---|---|
twid_r70-all.zip
— final
The Web is Dead rev 70. Multiplatform package. Not yet working on Windows. |
tundish | 2011/09/17 13:40 |
Diary Entries
Architecture of a web-enabled game
Ok, so the compo starts in six hours, but I'm in the UK so I probably won't start coding until tomorrow morning.
Don't want to cheat by collecting game assets, so the only thing for me to do this evening is try to clarify my architecture.
My aim is to incorporate a RESTful web service for semantic game content, and to present multimedia locally. So, I plan to have a client in Ren'Py which plays, eg: atmospheric effects according to what it perceives as local conditions. I'm hoping to use bottle.py as a web server, keeping game state there and serving human readable content as XHTML and data for client consumption as JSON.
Of course, there are grey areas. For example; how will time be communicated/synchronised between client and game world? How much does the game server need knowledge of client state, etc.
I know others have been thinking of a web-oriented approach. Has anyone got any advice to offer, or any strong opinions about architecture?
Don't want to cheat by collecting game assets, so the only thing for me to do this evening is try to clarify my architecture.
My aim is to incorporate a RESTful web service for semantic game content, and to present multimedia locally. So, I plan to have a client in Ren'Py which plays, eg: atmospheric effects according to what it perceives as local conditions. I'm hoping to use bottle.py as a web server, keeping game state there and serving human readable content as XHTML and data for client consumption as JSON.
Of course, there are grey areas. For example; how will time be communicated/synchronised between client and game world? How much does the game server need knowledge of client state, etc.
I know others have been thinking of a web-oriented approach. Has anyone got any advice to offer, or any strong opinions about architecture?
Keeping it real
The setting for the game is going to be the whole area of the UK (or maybe just England, depending on time constraints). I'm going to be using real locations to try and make The Web is Dead as immersive as possible.
I was surprised how difficult it was to find good figures on population; which towns belong in which counties etc.
Despite our Office of National Statistics making obscure data available as Excel spreadsheets or Access databases (!), in the end Wikipedia gave me what I needed. Lots of data entry to do, though, which is delaying my starting of the game code.
This map has been a massive help:
http://www.businesslistsuk.com/postcode_map.htm
I'm using altgraph to store the topology:
http://pypi.python.org/pypi/altgraph/
This paper looks very promising as a way of modelling mutation:
files.innovative-science.com/1_innov_science2.pdf
Although I probably won't have time to use any of this:
http://wiki.deductivethinking.com/wiki/Python_Programs_for_Modelling_Infectious_Diseases_book
I was surprised how difficult it was to find good figures on population; which towns belong in which counties etc.
Despite our Office of National Statistics making obscure data available as Excel spreadsheets or Access databases (!), in the end Wikipedia gave me what I needed. Lots of data entry to do, though, which is delaying my starting of the game code.
This map has been a massive help:
http://www.businesslistsuk.com/postcode_map.htm
I'm using altgraph to store the topology:
http://pypi.python.org/pypi/altgraph/
This paper looks very promising as a way of modelling mutation:
files.innovative-science.com/1_innov_science2.pdf
Although I probably won't have time to use any of this:
http://wiki.deductivethinking.com/wiki/Python_Programs_for_Modelling_Infectious_Diseases_book
Starting from the, er... And then working up.
Two days in and I'm quite pleased so far. Spent quite a lot of time tuning the simulation so that it gives the player a chance of winning. Tomorrow is going to be about the web stuff which is a key aspect of the game.
Web Game doesn't grab people as much as, say, beautifully transparent procedurally generated manga babes, but here's the back story to try and get you in the mood:
Joining the Volunteer Reserve was just a way of earning a few
extra quid every month. You never thought you'd actually hear
the attack siren. Have to find your OP key. Drive to the hill
above the town.
Seal yourself inside.
Log on to the Dispatch Net.
You are hung over and have never read the operating manual. But
there are some people who need you to do something. Quickly.
They are waiting on your order to distribute Retro-mutagen 54A-6.
It needs to be deployed into the drinking water, but supplies
are limited so you need to time each delivery according to local
conditions.
Things wouldn't be so bad if you had a proper phone. But this old
RAF comms net only delivers messages by fax. And some bright spark
thought it would be a good idea to keep those fax numbers...
In The Cloud.
The piece of wet string which is your WAN connection also delivers
operational information via a beautifully designed Web API. The
trouble is, as each of England's counties is lost to hordes of
unspeakably modified but highly aggressive taxpayers (and others),
your ability to access these resources is progressively reduced.
Can you stay online long enough to make a difference? Or should
you just wait until the worst is over and come out with your hands
up?
Actually, you don't have that choice. In this game you're most likely
to throw your mouse at the wall and then die.
Web Game doesn't grab people as much as, say, beautifully transparent procedurally generated manga babes, but here's the back story to try and get you in the mood:
Joining the Volunteer Reserve was just a way of earning a few
extra quid every month. You never thought you'd actually hear
the attack siren. Have to find your OP key. Drive to the hill
above the town.
Seal yourself inside.
Log on to the Dispatch Net.
You are hung over and have never read the operating manual. But
there are some people who need you to do something. Quickly.
They are waiting on your order to distribute Retro-mutagen 54A-6.
It needs to be deployed into the drinking water, but supplies
are limited so you need to time each delivery according to local
conditions.
Things wouldn't be so bad if you had a proper phone. But this old
RAF comms net only delivers messages by fax. And some bright spark
thought it would be a good idea to keep those fax numbers...
In The Cloud.
The piece of wet string which is your WAN connection also delivers
operational information via a beautifully designed Web API. The
trouble is, as each of England's counties is lost to hordes of
unspeakably modified but highly aggressive taxpayers (and others),
your ability to access these resources is progressively reduced.
Can you stay online long enough to make a difference? Or should
you just wait until the worst is over and come out with your hands
up?
Actually, you don't have that choice. In this game you're most likely
to throw your mouse at the wall and then die.
Well done to all
Spent the afternoon trying to fix the issues with my game on Windows, but it seems this might be a Ren'Py thing. So this year it's for OSX and Linux users only (tested on Leopard and Ubuntu 10.10).
Still, better than my first two attempts, when I didn't have a working game at all!
So, I just want to say, well done to everyone, whether you've finished, given up, or still madly coding during the final hours. Hope you had fun!
To play; download The Web is Dead. Unzip it. Open up the directory twid-all.
Still, better than my first two attempts, when I didn't have a working game at all!
So, I just want to say, well done to everyone, whether you've finished, given up, or still madly coding during the final hours. Hope you had fun!
To play; download The Web is Dead. Unzip it. Open up the directory twid-all.
- Linux: ./twid.sh
- Mac: launch twid.app
- Windows (for bug-fixing, ask me for rev72): launch twid.exe