Introduction

This site hosts various projects revolving around Forsaken (aka ProjectX) and Descent (both 6dof shooters).

These games are generally described as first person shooters with six degrees of freedom (6dof) which is unlimited rotation and movement in zero gravity.

The best way to get more information and start playing within minutes is to login to the chat located directly below.

Chat

Enter your name below to join the lobby. (open chat full screen)

ProjectX - Forsaken Source Port

Acclaim Forsaken Logo

History

Forsaken was developed by Probe Entertainment a division of Acclaim Entertainment in 1995.

Similar to the Descent series but unique in it's own right.

Present

It is now actively maintained by the community under the original code name ProjectX.

The code base is a fork of the final patch release with various hidden features exposed, bug fixes, additions and reversals of unpopular changes that appeared in the patch (such as speed reduction).

See Porting Efforts for technical information.

Game Play

The unique game play is a high paced and adrenaline driven.

The mixture of weapons and freedom of motion allows for unique styles and personalities to be developed.

Some players are very tactical playing you like a game of chess, others are like raging animals attacking you from all angles, and a few appear to have developed something of a martial arts.

Team games lead to very dynamic intricacies between the players and the objectives (such as capture-the-flag) creating very tough and addictive competition.

Further information on game play is available on FS Planet (click on fskn in menu), an old site mostly targeted at the original Forsaken no longer maintained but still usefull for documentation.

Installation

There really isn't one! You just download the game and play!

Be sure to open/forward port 2300 UDP to your gaming machine.

For more information read the networking section.

Method's showing off some skills.

Silence's video showing off Forsaken.

Porting Efforts

It has been fully ported to cross platform technologies allowing it to run natively on many operating systems and architectures.

Platform / Inputs

The game now communicates with the operating system via SDL, which has a growing list of supported systems:

Windows, Mac OS X, Linux, IPhone, the PSP, Syllable, Haiku/BeOS, OpenVMS, WebOS, MorphOS, AmigaOS, and AmigaOS 5.

Building

The game is currently compiled using gcc and mingw but has in the past been compiled with winegcc and visual studios 2008/10.

There is currently no 64bit builds, although you can easily play on a 64bit OS by simply installing 32bit libraries or using the pre-compiled static builds that include the 32 bit libraries into the binary.

Mac is fully supported but only through Wine because there is no other way to cross compile using gcc and access opengl acceleration.

The community is also responsible for a few patches added to Wine that allowed the original directx6 game to run perfectly!

Graphics

Rendering was ported to OpenGL and D3D9.

An OpenGL3 version is also supported with some development efforts being directed towards moving the lighting system and other effects onto the GPU.

Audio

The game now uses OpenAL Soft for cross platform sound API.

Although it's still based on panning and volume control to simulate the 3d environment.

Efforts are in work to soon use OpenAL's built in 3d sound support.

This has many benefits some of which are:

surround sound, doppler effect, and better environmental effects (such as being submerged in water).

Networking

ProjectX was ported to a custom, peer-to-peer library written on top of Enet.

Routers / Firewalls

The game always has been and will most likely always be peer-to-peer.

This has the side affect that players must forward/open their game port (default: 2300 UDP) to their gaming machine. Multiple computers are supported by forwarding a different port for each one.

This wasn't needed back in 1998 because nobody had routers and most people were directly connected to the internet using 56k modems without any firewall! Today however internet providers generally embed a router right into their modems. But majority of these users have no idea that they even have one much less how to configure them! There is also those that may be in a public access location such as a hotel or coffee shop. Hence this is basically the only issue players have with setting up the game. Today we are actually in a period of migration to ipv6 which will remove the need for NAT effectively fixing the problem. This is not a bug in the game but more a bug in the player / industry.

One of the features designed into the game is the first player to join a game does NOT require their port to be forwarded. This is because players connect to the host just like you connect to web sites and because *existing players connect to new players* in the exact same way. Thus the first player to join a game never requires someone to connect to them. Obviously though if you leave the game you won't have much success getting back in and everyone has to work together so that you join first.

Until that time we are looking into having the host support proxying of players. Although this has the downside of increasing the latency and bandwidth it will in the short term make the game more inviting. Support for upnp and other protocols are also being looked into which allows the game to talk to the router to temporarly negotiate a port on the fly.

Bots / AI

There has been some work done on making some better bots. This is still in development though. An interesting idea is to support pitting bot programs written by users against each other and other human players. Much like c-robots and it's descendants.

Level Editor

See PX Blender.

ProjectX Ruby

Prototype using Ruby which supports 6dof movement, networked multiplayer, chat, score, shooting, physics, forsaken/descent levels in 1500 lines of code!

Demo

ProjectX WebGL (html5)

Prototype using WebGL (3d rendering for the web).

Supports 6dof movement, networked multiplayer, and physics in Forsaken's Ship level and ability to tweak various rendering options.

Including editing vertex/fragement shaders in real time!

Demos

ProjectX Blender

Prototype using Blender Game Engine.

Currently supports loading Forsaken's Ship level and 6dof movement using no custom written code!

Pending loaders/exporters for forsaken/descent formats will allow sharing of models/levels between the games.

Eventually will be a level editor and modeller.

Videos

6dof Engine

Developed in c/lua by Lion to incorporate 6dof movement and ability to load forsaken/descent levels.

Video