What if you could share a C1 or C2 game live over HTTP while you play ?
And what if people visiting the site could interact with the game in real time by browsing it or uploading their own Norns to the collaborative game ?
This is one of the first things I thought of when I learned about the game's CAOS interfaces.
Many times have I read an interesting blog, and thought "Hey, it would be nice to be able to look at that game in real time.", or " It would be interesting to have access to it's family tree".
That's how Netures was born.
What is Netures?
I would call it a web based, collaborative Creatures assisted wolfing run tool.
It takes an ongoing creatures game, screenshots it at short intervals, and publishes the game window on a web page for people to view.
It also features a couple applets that enable remote users to interact with the game.
Obviously, the format somehow limits traditional interaction with the game window from the web.
That's why it's more of an assisted wolfing run tool rather than a full blown remote creatures game.
The idea would ultimately be to setup an online 24/7 creatures game, that members of the creatures community could contribute to keep alive by connecting to the web site, uploading their own Norns, doing general world cleanup, and helping the Norns getting along.
Or you could use it to share a direct view of your own ongoing game on your website.
Personally, I use it more and more as my primary local game interface instead of the outdated game kits, only resorting to the traditional one for teaching words, rewarding Norns, or moving stuff around.
Oh, and it also works from your mobile phone browser.
Ultimately the interface should feature the basic classic tools needed to follow a Norns population.
The additional constraint of not being able to carry out basic interaction will also call for the addition of some new net-specific features.
Those are the features that already exist:
- Showing a quick overview of all Norn population ( as the "dde: getb ovvd" command doses ) , with names,monikers, lifeforce,sex,pregnancy...
- An enhanced health kit showing most pressing drives,lifeforce and the basic parameters for current creature, as well as age,sex,pregnancy state and the most relevant wellness indicators at a glance.
- A world map that can be used for navigation
- A favorites places menu that can be used for quick navigation
- Some misc tools such as grendel selection or random norn selection, or the ability to gift Norns some cheese.
- Norn selection by Name from a drop down menu
- A basic Owner Kit to view Norn's origin information.
- The ability to click on the picture as if it were the local game (to carry stuff around or activate objects)
|All important information about a Norn accessible at a glance!|
- Various game aids: to teleport a norn to a safe place, to auto-teach all or some vocabulary.
- Norns positions drawn on map in real time for easier navigation.
- A basic science kit to monitor and inject chemicals.
- An enhanced owner kit.
- A notification system for events requiring action : naming new Norns, finding eggs...
Those are the features that should come once the base is laid out:
- Ability to browse an automatically generated family tree for the world
- An automated encyclopedia of cobs and foods effects.
- Browsing the game cemetery
- Browsing the game scriptorium.
- Uploading,browsing existing, and injecting cobs to the world
- More advanced owner kit with picture taking and album browsing.
- More advanced, web-specific game aids :
- partial vocabulary teaching cobs throughout the world
- Various world management scripts: refilling empty honey jars, spreading some food across the map, sending eggs to the incubator...
- A chat for the different users to talk about the ongoing game
- Maybe a more real time streaming solution to display the game window.
- Realtime overlay of information over the game window ( Norn names, lifeforce..)
- The ability to count and locate various items on the map to manage food stocks.
- The ability to disable screenshotting of the game, so the whole page can be used as a replacement game interface.
Where do I try/get it ?The main idea behind Netures would be to have it run 24/7 and be accessible to anybody.
The problem is that for now, I don't have anywhere to run it with such availability, and can't yet commit to buying the corresponding service unless the thing catches up.
I would greatly appreciate the help from anybody able to spare some CPU time on a windows VPS to host the early tests of the interface.
Since I can't host the game live for everybody to try just yet, the complete source code is made available immediately so anybody can try it at home.
If you want to try it, you will have to setup a working python environment on your machine first, along with all the necessary modules (see the readme file for more information).
If you're afraid of messing up your computer, you could try Portable Python to install the environment on a standalone thumb drive, without making any permanent changes to your computer.
The prototype is available here:
Download version 0.1
Since most of you probably don't want to go through all of this, I also try to provide a humanly consumable binary version of the prototype.But generating it is an unstable process, so please contact me if you have any trouble running it from the binary version.
Download the EXPERIMENTAL binary version 0.3
What is inside ?Just in case you're wondering, here are some of the technical aspects regarding the project.
- It is written in Python, and uses the Flask framework to produce a small self contained web server.
- The server provides various web services primitives that produce effects on, or gather data from the game (Norn selection, chemical level monitoring, drives graphing, camera moving).
- Each web service produces its effects by running CAOS commands against the game engine through the DDE interface, or by reading local game files.
- The interface is based on the Botstrap framework, making it somewhat responsive and mobile-compatible.
- The interface uses jQuery to smoothly update the various information or to perform actions by querying the various web services.