Giter VIP home page Giter VIP logo

rockraiders's People

Contributors

karyon avatar kuspa avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

Forkers

adamnemecek

rockraiders's Issues

clean up states

when changing states from level to main, we do not clean op our created entites, resulting in weird behavior (#38 ,...)

  • implement entity deletion on close
  • implement pause state?
  • ???
  • profit

level boundary

expand levelgrid by 2 in each direction and fill with unbreakable wall tiles

adjust boundingbox origin

bounding boxes are genereated in the collection crate, which sets the pivot point to the center of the box.

Our models have their pivot point inthe middle of their bottom, to place them easily at y=0. Thus, the boundingbox is offsettet, when using the entity's transform.

ui

create first ui elements

explode walls

destroy walls on trigger.
side effects:

  • new meshes for every neighbor
  • reveal new area

extra:

  • explode into boulders

remove unnescessary mesh rotation

            for rotation in 0..4 {
                if let Some(result) = util::find_in_vec(&key, &dictionary) {
                    return (result, 90 * (rotation + 1));
                };

remove rotation +1 and change all meshes accordingly

impl click handler

in state update test for clicks, when click look for hovered entity, when it work, then it works ez

populate

create some people, that raid the rocks
they need to be able to

  • walk to a tile (from an accessible direction)
  • do idle stuff
  • manipulate tiles in range

base

create a base:

  • extend Tiles to have buildings on them (walls too afaik)
  • [ ] update leveldescription to contain special information about buildings - outdated
  • [ ] add a base to the leveldescription
  • reveal the tile the base is built on (on_start) to provide an area to start with - outdated

Options for statebound resources

statebound resources should be reset on state onstop to not have thousands of unsued resources

Wrapping into options adds boilderplate for read and write access. not doing it seems wrong und unrusty. find a solution

Get clicked entity

implement handle_event() in level (or maybe in util?) when the left mousebutton is clicked to return the clicked entity.

resource management

when popping levelstate and loading again, nearly all resources (assetmanager, ...) are reset. thats not necessary. impl onstop and onstart to make use of already existing resources and stop overwrite them

better pathfinding

  • include collsion and avoid them
  • update pathfinding on change. currently, if the area a rr wants to go to is still beeing revealed, the rr will never go, even if he could later

don't show whole level, only revealed area

not all tiles are shown by default. only marked tiles in level spec.

whenever a wall tile becomes a ground tile (for whatever reason), reveal all neighbor tiles, that can be accessed now (recursive for neighbor ground tile).

extra: do a little animation, the further the distance, the later the tiles are revealed (just a fade from black to the new tile mesh?)

highdpi lul

seems to be randomly chosen by amethyst. need more testing on different machines...

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.