Ludum Dare 30 — August 22nd-25th, 2014 — Theme: Connected Worlds

[ Real World Gatherings | Ludum Deals | Warmup Weekend (Games) | MiniLD #53 | Wallpaper (1) (2) (3) | Mailing List ]

Back to Browse Entries

Shared World

by YSelf Tool - 48 Hour Compo Entry

Update (again): You can restart the server by calling following address:
Use this if you see a gray screen. It's far from an ideal solution, but it's better than before.

Update (deprecated): The server is too unstable and automatic restarting does not solve the problem, so please don't waste your time trying to play this game.

Shared World is a world, populated by animals and villagers. Every player gets the same world and can see (and change) what other players built.
The world is completely randomly generated and consists out of water (oceans, lakes), beaches, grassland (green), savanna/forests/highlands (I haven't decided which, so it's up to you) in a different green and mountains (gray). Mountains are currently rare.
Animals are the moving rectangles, there are plant-eaters (green/blueish) and meat-eaters (red), when hovering an animal with the mouse you can see what it is currently doing.
You can build buildings (change the type with the button on the bottom) by drawing a rectangle in the world. They appear light at first because a villager needs to build them to become darker.
When you build a center villagers will appear there. They choose their work themselves. If you build a storage, they will store whatever the got there. Villagers are the circles, each population has its own color (with a dark and a light variant).
You can move the camera with the arrow keys. Every session starts at a random location. To make it easier to share your population with other people, you can determine the location with GET parameters like ?x=12&y=1704.

The idea is to build your own population, seek for others and to find them, maybe connect your population with them.

Shared World is written in JavaScript(/HTML/CSS) with HTML5 canvas at the client side and with Python (2.7) with cherrypy and ws4py at the server side and uses WebSockets. Unluckily Python has a problem with sockets which did not appear when using and testing locally. To make the game stable enough to play, I had to reduce the size of the landscape structures, so mountains are really rare, islands are not. It may still happen (regularly) that the game tells you the error appeared. Please reload (as often as needed). When the whole screen is loaded successfully, it is usually stable.

Disclaimer: The server runs on a Raspberry Pi and currently stores the whole world in memory. If your screen keeps being white, it could have crashed, so I would like to hear that, so I could restart the server.

A word to the source: For the client the index.html, js/game.js and css/style.css files are simply to be served by any web server (apache, nginx, ...). The server consists out of and To execute it, run with python (2). cherrypy and ws4py need to be installed. Be aware that the default server location ( is hardcoded in the client (js/game.js).

Downloads and Links




geekygenius says ...
Aug 25, 2014 @ 2:40am

The game isn't working for me. I see a large gray box, and below it is a number and a button. I think the button switches modes or something. I tried it on chrome and firefox with the same results. I'm running Win7 64 bit. The game looks pretty neat though, you don't see many networked games in LD.

ViliX says ...
Aug 25, 2014 @ 2:44am

The game doesn't work on chrome 36 :/

Njord says ...
Aug 25, 2014 @ 2:28pm

Not working for me on Chrome, large gray box + button/coordinates below. The idea looked interesting, hope you can get it fixed soon !

YSelf Tool says ...
Aug 25, 2014 @ 3:27pm

The problem is that the server is crashing to often. I can stabilize it by catching more exceptions, but the core problem of crahsing sockets is a problem of python, I fear I can't fix that. Maybe I could restart sockets when they crash, but I'd need to rewrite huge parts of the network stuff.

Aug 27, 2014 @ 8:45pm

Too bad, it really looks interesting.

grayhaze says ...
Aug 29, 2014 @ 9:05pm

It's a shame I didn't get to play this, as the idea looks good. Hope you have more success next time! :)

OinkIguana says ...
Aug 29, 2014 @ 9:12pm

Only getting a large gray box in Firefox with the coordinates and button...

jomomomo says ...
Aug 29, 2014 @ 9:22pm

Couldn't get it to startup...

udo says ...
Aug 29, 2014 @ 10:20pm

Couldn't get it to play, but those screenshots look interesting!

Super Hamster says ...
Aug 29, 2014 @ 11:04pm

I see a large gray box as well. I guess the server is down. It's unfortunate because I was excited to try this game out. :(

mrexcessive says ...
Aug 30, 2014 @ 5:48pm

Likewise no server or other reason for grey screen. Consider making server stateless (simple webservice wrapper or something ?) More network overhead but might be more stable.

YSelf Tool says ...
Aug 31, 2014 @ 11:52pm

Yes, as you saw, the server is down, since I can't keep it up. Making it stupid and simple is not an option since a lot of the logic (> 50%) is server side.
I've made a small script that restarts the server. That's far from an ideal solution, but should make the game at least a little bit playable (which is better than a gray screen).
The link to the script is:
Please call (and only call) this script when you need to restart the server.

tbam says ...
Sep 1, 2014 @ 5:33am

The buildings I make seem to be massive compared to those around me. not sure whats up, but a cool concept nonetheless!

Sep 2, 2014 @ 11:13am

Cool idea, I'd like to create something like this sometime :D Too bad it's so buggy and there's not much gameplay, but props for trying.

You must sign in to comment.

IMPORTANT NOTE: If you want to place in the final results, you NEED votes. The easiest way to get votes is by rating other games. Judging lasts for 3 weeks following the end of Ludum Dare. For best effect, rate 20 games as soon as possible. Rating more games is encouraged.


TEAMS: Teams entering the Jam should pick a single representative to submit your game, or create a team specific account you can share. We currently do not support Team Voting, but sharing an account and together playing and rating games is acceptable.

NOT LOGGED IN?: If you get a message about not being logged in, even though you are, it’s because your web browser cached the non-logged in page. You can fix this by either refreshing your cache or clearing your cache. CTRL+F5 in many browsers. Chrome is a bit more work. Press F12 to enable Developer Mode, then you can right click on the refresh button and select “Empty Cache and Hard Reload”. This option is unavailable if you are not in Developer Mode.

PORTS: Ports to other platforms can be done after the deadline. That said, the sooner you finish your port, the sooner people can play your game, improving your chances of placing in the final results. For best results, provide a Web version of your game, or a Windows version with no dependencies. Also be sure to rate about 20 games to improve your visibility.

MY GAME DOESN’T SHOW UP: If you can’t find your game, it’s usually because the URL to your downloads are missing ‘http://‘. Fix your URLs ( and you will show up.

MY GAME CRASHES, IS UNBEATABLE, OR I MADE A TYPO: We allow you to fix crash or win condition bugs after the deadline (in a sense, like “porting” to support more players). We also allow “typo” bugs. I.e. A true that should have been a false, a word that should have been a different word, very tiny changes that you would have caught if you had more sleep. We leave this open to interpretation, but generally speaking your game should be identical to the game you submitted. No new features, just things you messed up last minute. Typos.

[cache: storing page]