Day 1

After I actually got going today I started to put together a game engine. I now have a vague idea for the game I want to create - an MMO where there's a light communal creative world and a dark instanced dungeon world.

Partly this is attempting to scratch an itch I've had to try writing an MMO, but I wanted to explore new things, and the new things I've picked are asyncio and three.js. asyncio feels much like tornado or gevent which I've used extensively, but it's good to actually try it out and see what the libraries look like.

three.js is slightly more fiddly to use than I expected, but overall seems good. I got model loading and shadows working very quickly:


This already supports multiple users. In-game footage is here:

https://youtu.be/xleWiWFQGyI

It feels wrong to be writing so much Javascript during a Pyweek, but the idea is that the Javascript will end up being quite a thin client and the Python server will eventually dwarf it. Currently it's 50:50.

$ wc -l assets/js/dark-world.js run_server.py
  426 assets/js/dark-world.js
  428 run_server.py
  854 total

(log in to comment)

Comments

looks very awesome :)