[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Savannah-register-public] [task #4772] Submission of NAUSEA
From: |
Luca Saiu |
Subject: |
[Savannah-register-public] [task #4772] Submission of NAUSEA |
Date: |
Thu, 13 Oct 2005 20:09:28 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:1.8a2) Gecko/20040715 |
URL:
<http://savannah.gnu.org/task/?func=detailitem&item_id=4772>
Summary: Submission of NAUSEA
Project: Savannah Administration
Submitted by: positrone
Submitted on: Thu 10/13/05 at 20:09
Should Start On: Thu 10/13/05 at 00:00
Should be Finished on: Sun 10/23/05 at 00:00
Category: Project Approval
Priority: 5 - Normal
Status: None
Privacy: Public
Assigned to: None
Percent Complete: 0%
Open/Closed: Open
Effort: 0.00
_______________________________________________________
Details:
A new project has been registered at Savannah
The project account will remain inactive until a site admin approve or
discard the registration.
######### REGISTRATION ADMINISTRATION #########
While this item will be useful to track the registration process, approving
or discarding the registration must be done using the specific "Group
Administration" page, accessible only to site administrators, effectively
logged as site administrators (superuser):
<https://savannah.gnu.org/admin/groupedit.php?group_id=8045>
######### REGISTRATION DETAILS #########
Full Name:
----------
NAUSEA
System Group Name:
-----------------
nausea
Type:
-----
non-GNU software & documentation
License:
--------
GNU General Public License V2 or later
Description:
------------
Introduction
============
NAUSEA is a programmable distributed 3D world simulator engine.
The most important feature of NAUSEA is its programmability: every aspect of
the world *behaviour* implemented in the server can be programmed by the
user
(the "world superuser") in Scheme, using an event-based model.
The world status is kept in a central server communicating with (possibly)
multiple clients over TCP/IP sockets.
Clients can be either interactive or non-interactive: interactive clients
forward user commands to the server and provide graphic interface.
Non-interactive clients are used to implement artificial intelligence in
non-player characters.
Interactive clients also provide a quite elaborate 2D interface, and support
for music and sound.
A powerful editor with graphic interface allows to edit both the world data,
including object placement, and the world metadata, cosisting in the
*behavior*
of objects.
Some relatively simple utilities to manage archives and models are also
provided.
The system is thought as a very high-level framework to build elaborate
games
or simulations.
Implementation
==============
The code is heavily object-oriented, and quite clean.
The Scheme engine is Guile. We interface with it from C++ using a relatively
simple higher-level wrapper, which in particular makes easy to define smobs.
Interactive clients have an interface built on SDL (plus SDL_image and
SDL_mixer) and OpenGL. The editor uses Qt and OpenGL.
The C++ code is quite heavily optimized, even if some opportunities for more
speed remain to be exploited.
Portability
===========
The code is very portable, independent from either processor word length
and byte ordering. NAUSEA is written to run on GNU systems, currently
GNU/Linux, and in the future (we hope) GNU/Hurd. NAUSEA should be very
easy to port to other systems, but we don't consider them prioritary.
Status
======
NAUSEA is still in flux at the time of this writing (2005-10-13), but mostly
usable. The code consists of about 40,000 (non-empty, not automatically
generated) lines, the vast majority of which is C++. The rest is Scheme.
The editor interface is being heavily reworked, some optimizations are
needed
and there is need for documentation, especially about the Scheme interface.
Non-interactive clients don't actually exist yet.
A temporary page holding a NAUSEA snapshot and an example world is
http://www.di.unipi.it/~saiu/nausea
Other Software Required:
------------------------
Well, maybe the only not-so-common item is glpng:
- GNU Guile >=1.6, GNU MP, GNU Readline (Readline is optional)
- GNU Texinfo, a TeX distribution (TeX is optional)
- An OpenGL implementation, glpng
- SDL, SDL_image, SDL_mixer
- Qt 3.3.x
- GNU Bison, flex
- GCC, GNU binutils, GNU Make
Other Comments:
---------------
I, Luca Saiu, am co-author of the project.
The other co-author is Dario Russo, who has an account on Savannah with login
name "darior".
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/task/?func=detailitem&item_id=4772>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [Savannah-register-public] [task #4772] Submission of NAUSEA,
Luca Saiu <=