Git Product home page Git Product logo

octowar's People

Contributors

abrarsyed avatar

Stargazers

 avatar

Watchers

 avatar  avatar

octowar's Issues

AbrarSyed vs. Ashes999

Complete #2 first, then both of you browse to the game URL and duel it out.

It should duel out. If something doesn't work, fix it, until you can really duel and win/lose.

Collision Detection

I should be able to detect collisions between two arbitrarily-rotated sprites (player and projectile).

Using the Rectangle class seems to be the way to go.

BlastCube: Total Conversion

All of the amazing functionality (eg. auto-scale to screen preserving aspect ratio) should be integrated into this project. This will be THE definitive source.

But, it's not necessary for the MVP.

Missing Features

From Java

  • Game sends update time to systems.
  • Systems should be an interface (init construction with entities, update method with delta time)
  • Chunking big elapsed times into smaller pieces like 10ms max
  • Dynamic resizing to fit the display space
  • Fade in/out methods and onComplete event handlers
  • Audio component with play method
    • A way to chain-play some audio components in serial
    • A method to (automatically?) preload all audio files from a dir
  • Flurry analytics wrapper/helper
  • Physics component with velocity and acceleration
  • Better sprites
    • Sprite sheet component
      • Set the frame/cell currently
      • Play an animation (loops)
    • Sprite components have alphaRate and rotationRate
    • Sprite components can be rotated around their center
    • Uniform scaling of sprites (disable texture filtering, and getting their original size)
  • Text component
    • Colour-changable
    • Outline by drawing 4x
    • Dynamic font generation
  • EntityFactory to create a touch button given two sprites
  • Ditto, but toggle button
  • The whole io package (includes file reading and persistent storage)
  • Singleton logger

From C Sharp

  • Spatial manager (quad tree)
  • Collision detection events (when two specified objects overlap, invoke method)
  • Lighting with masks
  • Camera

Data-Oriented ECS

Create an entity-component system. For now, leave it in a separate package, not the OctoWar one. It should have:

  • Base classes (Entity with a bunch of Components)
  • Screen or Scene class (same thing)
  • SpriteComponent for sprites, with a SpriteManager to draw them

In terms of data-oriented architecture, make sure the managers keep a simple list of sprite components.

  • When you add an entity, you should extract the sprite into the flat list.
  • When you remove an entity, you should remove the sprite from the list.

BlastCube: MVP

This is the minimum we need.

  • Sprites and sprite system
  • Scene changer and titlescreen
  • Input component: WASD + space
  • PoC: move around, space to attack

Note: Game class will eventually be used for Android/etc., and will have "Content size" vs. "physical display size" properties. So subclass libGDX classes.

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.