Coder Social home page Coder Social logo

arrow's People

Contributors

rsandor avatar

Watchers

 avatar  avatar

arrow's Issues

Toroidal Gridlines

The background grid should wrap appropriately as the player explores the game level.

Better Layering

Fix the rendering engine to allow more "sane" layering. Here are my current thoughts:

  • Fix the orthographic view depth from (-1, 1) -> (0, 100)
  • Define layer constants as z offsets in the new view depth range.
  • Add a macro that allows you to select the rendering layer: setLayer(LAYER_CONSTANT)
  • Add vertex() macro that uses the z value as set by the setLayer macro.

Example Usage:

#define LAYER_BACKGROUND 0.0
#define LAYER_FOREGROUND 1.0

...

setLayer(LAYER_BACKGROUND);
vertex(10, 10); // glVertex3f(10.0, 10.0, 0.0);

setLayer(LAYER_FOREGROUND);
vertex(10, 10); // glVertex3f(10.0, 10.0, 1.0);

Centered Player

The player (arrow) should remain centered while the camera moves about the level. This is partially implemented but the game logic believes the player to be at the origin (instead of where they are initially displayed in the middle of the screen).

Better Weapons: Guns

Adapt the Emitter class to allow for more gun controls, for instance:

  • Burst - Number of particles to emit every time the gun fires (controlled by delay)
  • Type - Automatic, semi-automatic, etc.
  • Spread - Allow a maximum spread of 360 degrees
  • Damage - Control the amount of damage each particle inflicts

Also the player object should have a collection of guns that map to specific number keys.

Maps w/ Collision Detection

Create routines and classes for adding level maps. The player and all other entities should not be able to leave the confines of the game map. Simplistic collision detection will suffice for the moment (i.e. use a hit circle or square).

Better Controls: Mouse Based Rotation

The rotation of the main player needs to be based on the mouse and the a and d keys should allow for strafing (think FPS style).

Not sure entirely how to get this working well with glut, perhaps just do toroidal wrapping? The "reset to center" method seems a bit busted on my machine at the moment.

Music and Sound Design

Add a basic, loop-able, score to the game. And design the sonic atmosphere with all the blips, beeps, bangs, buzzes, and booms.

Add Development HUD

Create a development HUD that allows for the following information to be overlaid onto the game screen:

  • Player position
  • Number of Particles
  • Number of Effect

Probably easiest to get this working with the GLUT Bitmap Font stuff.

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.