Netures

 

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.


Features

 

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:
    - Serving of the game window screenshot at short intervals.
    - 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!

Those are the features that will come very soon:
    - Ability to upload an .exp file to the world
    - 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:
    - A better science kit to monitor and inject chemicals.
    - 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:


https://drive.google.com/file/d/0B9mJUJuZTR2Ec05ZZ1FjVTM5djg/view?usp=sharing





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.
All logic is contained in a single python file, along with a basic website skeleton of static files and dependencies for bootstrap and jQuery.



6 comments:

  1. Hello,
    90s creatures player here. Please tell me how I can help get this running smoothly. I have an android phone and that's about it. You can write me at boomblastadorium@gmail.com
    Thanks!

    ReplyDelete
    Replies
    1. Hi!
      I'd rather reply here, to keep as much information publicly available as I can.

      As you can read in my answer to the post below, Netures development is put on hold for now.
      It will most likely resume at some point when I get back to the game, but most likely won't evolve anytime soon.

      I think the single most useful thing that could happen now is having someone run actual games with it and making it publicly available for demos.

      If you're interested in doing so, I'll do my best to send you a more up to date version with more features.

      Delete
  2. Hi there,
    This is a very interesting project ! Basically, I always dreamed about that kind of software.
    I doing a lot of Wolfing Run attempts in C1, but I run the game on a specific machine ; I spent a lot of time away from that machine, so Netures would be very usefull for me !

    The feature that allows game interactions on a webpage is also very very intersting, I can imagine some communities like Creatures Caves running an ongoing Creatures session with Norns from different members...

    Actually, I'm trying to run C1 on a Raspberry Pi by emulating Windows. I don't think the game will run well, but if it's playable, I'll try to add your Netures package, to see what it makes (the Raspberry comes with a built-in Python env, but it's ARM, not x86...)

    If not, I'll then try to install Netures on my main Windows machine.

    I hope you'll continue that project !

    ReplyDelete
    Replies
    1. Hi, thanks for stopping by.
      It's nice to have some feedback.

      Did you get it working on windows already?

      The use case you mention was precisely the initial idea for this project.
      I was envisioning a central community driven creatures game that would run permanently, and where various members could upload their own Norns while taking care of those present.
      I now some community wolfing runs were played in the past, this interface could be used to allow people to see such games unfold in real time instead of only getting the raw outcome.


      I considered running a demo version of the app to get people interested, and thought about the Pi too.
      Sadly, it turns out that wine doesn't implement the DDE and COM/OLE mechanisms through which the game kits interact with the main window.
      Some people got the core engine running, but the kits were unusable as far as I recall.

      I have not found anybody able to get the game fully working on linux that way.
      Since Netures also uses DDE communication to interact with the game, the way kits do, it wouldn't work any better without DDE support.

      But let me know if you come up with anything else.


      I'll also take this opportunity to give some updates on the project status:

      - The versions available for download are quite outdated, but I haven't published the most recent versions yet.
      The most up to date versions contain most of the basic features necessary to follow the game.
      (proper Norn selection, map navigation, most of vital parameters shown...)

      - I haven't done anything creatures related in over a year. The development for Netures is therefore de facto stopped.
      It will most likely resume next time I get back to the game.
      Despite this, even if I add some stuff from time to time, it most likely won't ever become an "active" project.

      - I don't have access to the machine I dev'd Netures on at the moment.
      So for now I can't really publish the most up to date version.But I can prioritize this if you are interested in testing a more recent version.
      I'll also try to publish a more up to date .exe version. As installing the various dependencies to run from source can be a real pain.

      - The game interaction through the picture is a dirty hack, with mouse clicks coordinates transmitted to the game host.
      It is ok for personal use, but probably won't be safe enough for a community game yet.
      Having random people clicking everywhere on the game interface could quickly result in people "escaping" the Creatures window and running arbitrary commands on the computer.
      That's why I'll rather try to focus on adding some "new" types of interaction with the game, such as "gift the norn some cheese","teleport to a safe place" rather than making it a "playable stream" in the common sense of the term.

      For now I'll prioritize core functionality for one-user use (Uploading Norns, rendering family trees, new types of kits and interactions ...) over the ton of tiny fixes that would be required to make it an useable and safe community interface.

      Let me now how all of this works for you!
      Feedback is the factor that is most likely to get the poject being resumed.

      Delete
  3. Hi,
    Thanks for the reply. So far, I was unable to run C1 properly on the Pi.
    So I tried to run Netures on my windows version, but I just don't know how the thing is working.
    A quick guide on how to use that would be cool. The only thing I get is Neture is a broadcast of my own windows screen

    ReplyDelete
    Replies
    1. Normally you just run creatures, then run the app, which should in turn open a web browser to it's Web server.
      As of now , the app dumbly screenshots the screen region at the creatures game window position and size.
      You just have to ensure that the game window is visible at all times, if anything is over it, it will be included in the screenshot.

      Delete