Code Monkey home page Code Monkey logo

piston's Introduction

piston's People

Contributors

abonander avatar angrylawyer avatar bfops avatar bvssvni avatar cantsin avatar christolliday avatar coeuvre avatar eklavya avatar featureenvy avatar gchp avatar gmorenz avatar heinrich-f avatar indiv0 avatar jeremija avatar johnthagen avatar kaikalii avatar leonkunert avatar maxsnew avatar milibopp avatar mitchmindtree avatar mkcp avatar nabijaczleweli avatar phlosioneer avatar potpourri avatar reem avatar rincamelia avatar serprex avatar tyoverby avatar vignesh-sankaran avatar zummenix avatar

Stargazers

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

Watchers

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

piston's Issues

Implement `clear_rgba` in Gl

There is a function shader_utils.rs which does not long belong there. Move it to gl.rs as part of the implementation.

Save and restore state

On mobile devices an application needs to be able to store the application state and restore it. There should probably be a mechanism for this.

Benchmark mode

Replay a recorded session of user input as fast as possible.

Question/answer model for agents

  • Each question generates a unique id to track answers
  • Used in cases where the agent can wait a long time before it receives answer
  • Needs a state per question, in case the answer is no longer of relevance
  • Does not depend on the order questions are answered

Add `load_image` to `AssetStore`

fn load_image(name: &str) -> graphics::Image;

Sets up an OpenGL texture which can be used with the Gl back-end for Rust-Graphics.

Add `&mut AssetStore` argument to `Game::run`

The idea is to separate AssetStore from the app implementing Game and having Gl borrow a pointer to it (this could be mutable).

The AssetStore will not be available under rendering but it will under update and load and other events.

Separating the AssetStore from the application makes it easier to do custom setup like with the window.

Remove `get_game_window_settings` from `Game`

GameWindow needs to be created separately from the Game.

It seems a bit weird to store the game window settings per application.

Game window settings can be stored in the GameWindow struct.

Copy code from TEMP-rust-png

Just to get textures working without introducing a new dependency.

How this should be organized can be solved later.

FPS measurement

Could compute the FPS with floating average and pass it to RenderArgs.

Tying agent/event model to physical update

  • Limits communication to one message per agent
  • Might be good enough for most cases - use enum variants for special cases?
  • Makes the application deterministic with a fixed time step
  • Sum interactions that influence a single object (such as attack) - saves agent from responding to every event

Add `AssetStore`

One object to access all the game sounds, textures, animations etc.

This could provide a very simple interface that hides the complexity of file formats, packing, loading and playing various formats.

Because there is one container for all the assets, one can build higher abstractions reuses the same textures.

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.