Giter Club home page Giter Club logo

asteroids's Introduction

Asteroids in Bevy

This is a work-in-progress implementation of Asteroids in Bevy. Some modifications are being made from the original game, such as using sprites instead of line art.

menu

choose_ship

gameplay

asteroids's People

Contributors

christopherbiscardi avatar martinfrances107 avatar

Stargazers

 avatar dunxen avatar  avatar  avatar aubrey avatar  avatar Andrey Lysenko avatar 1devNdogs avatar  avatar  avatar Joshua Harris avatar Karnotxo avatar Rod Gaither avatar Yağız Akyüz avatar Çağatay avatar Kassu avatar Jason Wood avatar Albin Ekblom avatar David Sanders avatar Antonio Farinetti avatar Oliver avatar Andreas Krohn avatar Josh avatar Ilshat Sultanov avatar James Sizeland avatar  avatar Paul Hansen avatar Jax avatar Johannes Klauss avatar Simon Holm avatar

Watchers

Jason Wood avatar

asteroids's Issues

New Game

  • On Game Over screen, ship persists and should not persist.
  • on New Game, clear meteors and reset life count

Bevy 0.14

Bevy 0.14 is out.

This includes fun new features like Observers in core, as well as great new crates like avian2d (as well as brand new shapes in core).

This code isn't in any workshop yet, so the 0.14 upgrade should focus on refactoring overall in preparation for that.

Scoring

Destory meteors and UFOS, gain points.

Implement UFOs

Asteroids has UFO antagonists. Code some UFO AI.

  • collision with ship
  • collision with lasers
  • score when destroyed
  • ufo shoots its own lasers at player at intervals

refactor input management

The controls system is monolithic and should be refactored to split up "fire", "turn" and "forward momentum".

  • its possible to use leafwing-input-manager although since we aren't supporting multiple control schemes its mostly useful as a semantic abstraction: ex Action::Boost vs KeyCode::ArrowUp or Action::Fire vs KeyCode::Space.
  • add "afterburn" system which shows the engine activating when moving "forward". likely a Visibility toggle.

Planning to do this on stream

lives system

Asteroids ships can collide with meteors and lose a life.

  • add ship colliders that don't intersect with Player's lasers but do intersect with Meteors
  • respawn ship when colliding with meteor
  • track lives in resource
  • show lives in UI
  • wait to respawn ship if 0,0 is occupied by another entity that could destroy the ship.

Levels

In asteroids, Levels start with a numbers of meteors and level ends when they're destroyed.

In our game, meteors keep spawning. We should implement levels

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.