Git Product home page Git Product logo

yaeger's People

Contributors

abdelhajou avatar cassiboy1203 avatar fritzvd avatar jaapapa avatar meronbrouwer avatar mstrshine avatar ryanaelen avatar sanmai-nl avatar simonvreman avatar stefthijssen avatar stephanwithph avatar wiebevanaken avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

yaeger's Issues

Add a manual on using Yaeger

Maybe an approach such as "The Tour of Heroes" from Angular is the way to go. Create a game called "The Game of Heroes", that contains all features from Yaeger.

Improve fitting of a boundingbox

It should be possible to create a bounding box that has a close fit than only the trivial rectangular one.

At initialization time we should analyse the sprite image and create a bounding box that only covers the non-transparent parts.

Replace Google Guice with a compile-time DI framework

The use of Google Guice requires an jvm argument when running a Yaeger game. Therefore Guice should be replaced with a DI framework such as Dagger2, which will not pose this problem.

According to guice/1133 a fix is coming to no longer need the JVM arguments. In that case, this issue can be closed

Add A Yaeger startup screen

Each Game should be preceded by a Yaeger startup screen.

It should show both a Yaeger logo, and all key combinations that are available: (e.g. show the debugger, show Bounds of all nodes, etc)

Attach Mouse Listeners, using an annotation and reflection

Currently a method called attachMouseListeners() in EntityCollection is responsible for calling the various attach() methods. If these methods were annotated we could use reflection to identify and invoke them (just like the @UpdateProvider).

Using setSpeedTo and setDirectionTo instead of SetMotionTo does not work.

Using the setSpeedTo and setDirectionTo separately (instead of setMotionTo) does not work, when speed is 0 when setDirectionTo is called.
This comes from the fact that both methods are implemented as transformations on a movement vector. If speed=0, the magnitude of the vector is still 0 and after transformation it remains 0 (see DefaultMotionApplier).

This could be solved by storing the speed and direction as instance variables and using those to ensure the correct vector is created.

  • Add Unit tests to force out the bug.
  • Resolve the bug

Move Collisionside detection to Tiles

The current collisionside detection will not be applicable to a rotated GameObject. It will be applicable to a tile, so when that is implemented, it should be moved to tilecollision.

Add required mouse listeners.

We currently only handle mousebutton events. We should add the required code the also handle mousemovement events.

This one probably needs some good usecases to know what to implement.

A YaegerScene should provide a getWidth() and getHeight() method

Because a (JavaFX) Scene only gets it height and width set when it is added to the Stage, getScene().getWidth() will return 0 while a YaegerScene is constructed. (for instance during the addEntity())

It should be possible to acquire the width and height before it is added to the Stage

Fix Javadoc Generation

The plugin for generating the javadoc throws an error. This should be fixed and deployed on GH-Pages

Add Tilemaps

A tilemap should consist of enities, either static or dynamic. It's main focus must be an easy way to define its layout.

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.