GithubHelp home page GithubHelp logo

asteroid's Introduction

An Asteroid Game

I wanted to learn me some OpenGL and C++, so I decided to build an asteroid game for myself. It isn't an exact copy of the Atari game. There are a handful of improvements so far:

  • Atari version had difficult controls. In this version, you use the mouse to aim and shoot, and WASD or the arrow keys to move. The direction of your motion doesn't depend on where you're aiming.
  • I didn't make the Atari game, but I did make this one.

I got started with the really nice Glitter project, which is a boilerplate for OpenGL projects. I've since removed unwanted dependencies.

Install

git clone --recursive [email protected]:benekastah/Asteroid.git
cd Asteroid/Build
cmake ..  # Produces a Makefile
make
Asteroid/Asteroid  # run the game

Above describes how to build the program using a unix Makefile, but we can generate Xcode or Visual Studio projects as well:

# Mac OSX
cmake -G "Xcode" ..

# Microsoft Windows
cmake -G "Visual Studio 14" ..
cmake -G "Visual Studio 14 Win64" ..

Roadmap

Powerups

It should be easy to add a few interesting powerups. Modifying gun parameters is really simple, and changing player speed as well. A few other powerups I have in mind:

  • Battering ram. For a brief period you can ram asteroids with your ship to destroy them instead of the other way around.
  • Multiple bullet directions.
  • Different bullet types (missiles that seek targets, mines that stay in one place and destroy asteroids on contact, etc.)

Crafting

It would be interesting if you were a space miner of sorts. You could collect raw materials from asteroids you destroy and use them to craft upgrades and powerups.

Health

Instead of dying any time you are struck by an asteroid, have the asteroid decrease your health relative to the force it hit you with. This should damage the asteroid as well.

Fuel gauge

You have a limited amount of fuel. How fast you can go depends on your engine upgrade and how much stuff you are carrying. To decrease your weight, you have to offload at a station of some kind.

asteroid's People

Contributors

benekastah avatar domesticmouse avatar polytonic avatar romanlevin avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.