Gameplay

The gameplay is pretty simple, avoid getting shoot while
shooting your opponents. The first player that reaches the score limit
wins the round.

Controlling your Vessel

Your ship is easy to maneuver, but hard to master. The up-arrow
will thrust your ship in current direction. Use your left- and right-arrow to
rotate your ship left and right. Your only defense against walls,
and opponent bullets is your shield, access it by down-arrow.
While activated, you are indestructible. The shield isn't free of
charge though, it will quickly drain our energy.

Keyboard bindings

There are two ways to defeat your opponent and get points. You can either bump into them with your shield activated or you can shoot them with your canon. Each bullet cost a bit of energy, so try to save some incase you'll need the shield.

The Warmup round

Each game starts in warm-up mode. It let's you try things out and battle a bit until enough players are ready.

When you are ready for some real
action, press the r-key. When enough players is ready, the game
starts.

Powerups

What would a space-shooter be without compelling enhancements? WPilot contains three kinds of destructive powerups, each one improving your vessel's arsenal. Powerups are possible to combine and can help even the worst pilots to get a few kills.

Ricochet gives the bullets wall bouncing abilities, opponents will quickly lose track of some projectiles and succumb to your superiority.

Spread fire, the most feared enhancement known to WPilots, compliments your cannon with two additional side cannons to satisfy the spray and prey concept.

Winning a round

You score a point when blowing up an opponent and you will loose a point when crashing into a wall due to bad maneuvering skills. The first player that reach the round limit wins.

Talking to other players

You can taunt, chat or salute your opponents by pressing the
enter-key. The prompt can also be used to issue commands. For
example, you can change your name in-game by typing
"/name your_name" (without the quotes).

Maps

WPilot contains a total of five official maps. You can create your
own map with the built-in map-format.

Battle Royale (6-8 players)

This is the built-in standard map. Search and destroy your opponent
in the outer rim or try to get some powerups in the center area.

Four corners (6-8 players)

Four areas with several small passages between them, camp a single
area or outmaneuver your foes in the passages?

DIY DIE (8 players) by Wade Penistone

A small minimal map, designed for maximum conflict.

The Passage (6-8 players)

The map contains two main areas. Each area is separated by the wall
of death. The only way to go between the areas it to thrust through
the small passages which is hard, so be careful.

Gems (6-8 players)

The map contains two small rooms containing powerful powerups. Risk
getting ambushed for the ultimate power.

Media

We have recorded a couple of videos of WPilot in action. The videos
can be found in our channels over at Youtube and
Vimeo.

We appreciate new material, please let us know if have something you wish to contribute.

Screenshots

Videos

Screenshots and videos from the game, click to view

Browser compatibility

WPilot is unfortunately not playable in all browsers. This
compatibility list helps you find a browser that is supported by
WPilot. The browser rank gives you an indication of how well the game
perform.

The Recommended indicates that the
browser is fully supported. There can be some quirks but nothing major.

The Not recommended indicates that the
game should run, but that there's one or more major quirks that
causes the game to run badly. Read the description for more
information.

The Not
supported indicates that the
game won't run at all. There may be support for the browser in a
future release, but no guarantee.

Internet Explorer - Win Not
supported

Internet Explorer is NOT support by WPilot.
WPilot depends up on
Canvas
which Internet Explorer lacks. There are third-party solutions that
emulates the canvas object, but they are really slow.
IE9 may support canvas in the future, if the team behind the browser
decides to implement canvas support (
rumors
indicate it).

Safari 5 - Mac Recommended

Safari delivers a good frame rate. However Safari lack support
for WebSocket, so it depends upon Flash plugin as fallback. The
experience is decent, but the Flash fallback can cause high latency in
some situations.

Webkit (nightlies) - MacRecommended

Firefox 3.6 - MacNot recommended

Firefox for Mac delivers a great frame rate. Firefox lack support
for WebSocket, so Flash is a requirement. It seems to be some kind of
problem with the Flash implementation though. The ping tend to be very
high, even when connecting to localhost. Latest version of
Mindfield do have support for Websockets though.

Google Chrome - Win/MacRecommended

Google Chrome works great with WPilot!

Firefox 3.6 - WinRecommended

Firefox for Win delivers a great
frame rate. Firefox lacks
support for WebSocket, so Flash is a requirement. Even though Flash is
used as fall back it delivers low latency as opposed to the Mac version.

Opera 10.50 - Mac/WinNot supported

Only tested on Mac. Opera have some trouble communicating
with the Flash fallback plugin. The game
connects to the server 1 of 10 times. No error messages is displayed
so the problem is difficult to debug. There also seems to be some kind
of problem with the underlying text rendering interface. Some texts are
not rendered at all. The frame rate seems to be great, but the
game is unplayable.

IE 10 - WinRecommended

Project goal

This is about to change dramatically, the browser standard factory
is currently cooking up some very interesting new features for our
browsers. New HTML5 technologies such as
Canvas,
WebSocket and
WebGL
will change the way we think of games and applications in the browser.

The goal of this projects was/is to test how far we can get using
only the browser. No third-party plugins such as
Flash,
Silverlight and
Unity3D. (Not entirely true though,
Flash is used to emulate the WebSocket interface in browsers that
lacks the feature)

As you can see the results so far is pretty impressing. The game
engine runs at 60 ticks per second. Each game tick handles collision data,
movement and game rules. The server is constantly sending position
updates to each client which requires a low-latency connection between
the two parties.

The native implementation of WebSocket (In Safari and Google Chrome)
handle this very well. The fallback plugin is kind of unstable on
the mac but seems to do a good job on Windows machines.

WPilot and similar applications will be more stable and faster as
browser vendors continues to implement new and exciting features
listed in the HTML5 draft.

Running your own server

So you are interesting in setting up a server of your own, that's
great! The entire server is built in something called
node.js. Node.js is a framework built
on top of Googles lighting fast Javascript engine
V8

First, download and install node.js (see instructions on project
homepage). Then, download the latest version of
WPilot.
Extract the zip to directory of choice. All server configuration is
done via a set of command-line switches. You can get list of all
available switches by typing:

$ ./wpilots.js -H

You probably want to change the server name, region and port no. Use the
--name switch to change name, the --region switch to
change region and the --ws_port to change the TCP port to
listen on.

The WPilot server has a built-in HTTP-server that delivers all client
releated data. The server is by default started and is serving the
data at port 8000. Set the --http_port switch to 0 to disable
HTTP server.

The current version of the server is a so called BETA version. Things
can break. You can put server in "debug-mode" by adding the
--debug switch, which will print additional debug information
in the console. This may help you to track down bugs.

Public server list

We have limited server capacity, so please concider to list your
server in The Public server list (the list at the top of this page).

Send your "ws://" host address to email to dahlberg.johan AT gmail
com. We will list it as soon as possible.

You can also fork the git repo and add the address directly

Map cycling

WPilot comes with a set of maps. All maps is located in the the
"$INSTALLDIR/maps" directory. You can choose to circle between
multiple maps at startup. Use the --map for each map you want
to play. It's also possible to change map in-game.

In-game administration

As an administrator you can change maps and kick players in-game. You
need to start the server with the switch "--admin_password
password" (where password is your
password), this enable the in-game admin mode. To authorize you
in-game, type:

/sv_password password

After authorization you can issue admin commands. For example, the
command:

/sv_map maps/battle_royale.json

will change map to Battle Royale. You can also kick unwanted
players with:

/sv_kick player_namereason

Note: The reason argument MUST be entered in order to kick someone.

Contributing

This is an Open Source project, anyone can download and play around with
the code.

Reporting bugs

The easiest way is to post an issue ticket over at
GitHub. You can also
mail me at dahlberg.johan AT gmail com.

Contributing with code

Bug fixes and optimizations is appreciated. If you are an expert on
Opera or maybe find a way of getting this to work on IE, we'd really
appreciate your contribution to the main project.

First fork the WPilot GIT-repository with the following command:

$ git clone git://github.com/jfd/wpilot.git

When you are done with your bug-fix or performance increaser, press
the "pull request" -button in your forked repository.