Xpilot.IO project video thumbnail
Replay with sound
Play with
sound
$15.00 pledged of $15,000 goal
backers
By Matt Parker
$15.00 pledged of $15,000 goal
backers

About

Xpilot.IO is a retro, 2-D space-shooter, playable in the web browser. It's inspired by the original Xpilot for Unix, and Subspace: Continuum.

 

 The Xpilot.IO demo is currently just a single-player against bots. But, with your help, it will become a multiplayer game with these features:

  • Multiplayer - fight with real people instead of AI
  • Game Modes - capture the flag, king of the hill, zombie mode, etc.
  • Upgrades - bigger, prettier maps, new weapons and armor
  • Improved Client - smooth on all browsers, touch controls, lag-compensation
  • AI Interface - make your own bots and fly them against humans
  • Open Source - an Elm client and Haskell server will be released on GitHub

Multiplayer

To implement multiplayer, most of the game engine will be moved onto the server. Then we'll use websockets to communicate the game state with all the web browser clients. The server will be written in Haskell, an amazing functional programming language, and one that can easily scale in parallel so we can handle many players.

Game Modes

The first supported game mode will be free for all, where players wander around and shoot one another for no apparent reason. As funding permits, I will be adding more:

  • Capture the Flag - grab the other team's flag and bring it back to your base to win.
  • Team Infection - kill your enemy, they join your team. Game ends when everybody is on the same team.
  • Zombie Mode - zombie ships can't shoot; they can only crash. Anyone they crash into turns into a zombie. Zombies respawn out of the super-tough Alpha Zombie ship, who the human ships must kill to end the plague.
  • King of the Base - fight for control of a central base.
  • Strongholds - action and team strategy--gather resources, build turrets and walls, upgrade weaponry, build helper drones, and choke out the other team until you have the strength to invade their base.

Maps

In the demo, there's only one map and it's just a bunch of rectangles and it's very small. In the future, the maps will have more angles and variety in shape and color. In some game modes we may even have destructible walls. We'll also be able to functionally generate maps.

Improved Client

The client and server will have advanced lag compensation built-in, so that your ship's control will be responsive, even when the network is slow. We'll use interpolation techniques to keep other ships moving smoothly, and we'll use synchronized random number generators to minimize network traffic for generated particles.

We'll add touch controls for tablet users, and possibly make "apps" for Android and iOS that will launch the game in full screen.

We'll also experiment with WebGL for faster rendering, and with using fixed-sized mutable arrays to keep the garbage collection constant.

AI Interface

The original Xpilot has been used as a test-bed for artificial intelligence, as published in several academic conference and journal articles. Gary Parker, professor of Computer Science at Connecticut College, uses Xpilot-AI as a fun way to teach his advanced AI class. Students learn to use neural networks, genetic algorithms, and fuzzy logic to control ships.

However, installing the original Xpilot is becoming increasingly difficult on modern operating systems, and the AI educational version was always limited to *nix based systems. Xpilot.IO, however, is playable in any web browser, and the AI interface will be accessible to any language that can compile to JavaScript, like Python, Ruby, ClojureScript, ScalaJS, Elm, etc. The AI will be client-side and will be able to login and play on Xpilot.IO just like a regular person. With the open source server, you'll be able to run your own private servers to train your bots. There will also be a headless version of the AI client that you can run in Node.js.

Open Source

The original game demo, written entirely in Elm, will be released as open-source on Github. The game demo showcases a nicely abstracted game engine that can be re-used to make other web games.

We will release open-source version of the client and server that will be useful for local area networks and perfect for teaching environments. The version used on Xpilot.IO will have lag-compensation and anti-cheating code that we'll need to keep secret to make it difficult for people to cheat.

Fundraising Goals

Here are the approximate amounts of money I need to develop Xpilot.IO. The first $15,000 is the most important because it will get the game up and running so we can start fighting each other.

$15,000

  • Multiplayer client and server
  • Lag compensation
  • Touch controls
  • Only one mode: Free for all, with bigger maps.
  • Optional Logins, to keep track of nicknames and stats
  • AI Interface with documentation
  • Open-sourced demo and low-latency client/server for local usage.

Stretch Goal: $30,000

  • Fancy maps, better collision detection and physics
  • Multiple Xpilot.IO game servers in different regions of the world
  • Capture the Flag game mode
  • Team Infection game mode
  • Zombie game mode
  • King-of-the-Base game mode

Really Stretched Goal: $45,000

  • Ability for people to run their own servers that anyone can join through Xpilot.IO
  • Strongholds real-time strategy game mode

Risks and challenges

Programming in languages like Haskell or Elm is very nice because they have strong type systems and discourage or forbid you from doing very sloppy or incorrect things, or taking shortcuts that will tangle up and ruin your program later. While it might be more challenging to use Haskell at first, I'll end up with very clean code that easy to build on to add new features or modify old ones.

You can see what I've already accomplished with the game demo I've written in Elm. Making the server-side game engine in Haskell will be nice because I will be able to use type classes like Monads. I love programming in Haskell and I'm excited to get started on this project. Also, I'm already addicted to the Xpilot.IO game demo, and I'm eager to play against real people instead of just Mako and Sid.

Learn about accountability on Kickstarter

Questions about this project? Check out the FAQ

Support

  1. Select this reward

    Pledge $5 or more About $5

    Space Cadet

    You'll probably get a really good feeling inside right after you donate, though I can't guarantee it. But I do know that I will get a good feeling.

    You might also a feel a little anxious, like a space cadet waiting to be deployed on his first real combat mission.

    Less
    Estimated delivery
    1 backer
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Select this reward

    Pledge $10 or more About $10

    Flight Ensign

    Want to claim the nickname "Bad Yoda", "Wedge A.", "Boba Feta Cheese", or "Alderaan"? Those names won't be available for long, so you'd better become a Flight Ensign and you'll be able to pre-register your nickname before the public does!

    Less
    Estimated delivery
    1 backer
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge $25 or more About $25

    Stellar Lieutenant

    Great job using your wealth to move up in the ranks!

    Lieutenants get early beta tester access to the multiplayer version. You'll also be able to leave feedback and influence the development of the game.

    Plus, you get to always have a little silver badge of donor-honor next to your pre-registered Xpilot name as you play!

    Less
    Estimated delivery
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Select this reward

    Pledge $100 or more About $100

    Constellation Captain

    You're big news, and a great help! To show our appreciation of your support, you'll get a black Xpilot.IO t-shirt with a logo and a little ship flying around!

    Captains also get a gold badge next to their pre-registered names and early beta testing access. Who will not salute you? Who will not respect you?

    Less
    Estimated delivery
    Ships to Anywhere in the world
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge $500 or more About $500

    Asteroid Admiral

    If you are a business, I will put your logo at the top of the backers page.

    If you are an individual, you can send me a picture and I will paint a little portrait of you next to your xpilot ship, with gouache or oils (I'm not so bad: https://www.instagram.com/mpdairy/).

    The portraits will be prominently displayed on the Donors page.

    When I am a famous artist (probably after we are all dead), who knows how much the "Xpilot Portraits" will be worth?

    You'll also get early beta access, a t-shirt, nickname pre-registration, and a gold name badge.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  6. Select this reward

    Pledge $1,111 or more About $1,111

    The One

    If you throw down quadruple ones, you'll be a renowned benefactor, and, if you have a business, it will be renowned as well, because your business's logo will be displayed on the Xpilo.IO game selection screen!

    The game selection screen will be the new home page, and your logo will be in the "Special Thanks" box. Boom! Your business leads might quadruple!

    If you're an individual, I'll hang your hand-painted portrait up in the "Special Thanks" box instead of a business logo, like they do in university halls for benefactors. You'll also get a t-shirt, early access, first registration for your nicknames, and the most decorous donor badge.

    Less
    Estimated delivery
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (21 days)