Git Product home page Git Product logo

4.semester-bugtd's People

Contributors

ddfipz avatar gokartn avatar j-winkel avatar nicolaigram avatar omvk97 avatar tlaur18 avatar

Watchers

 avatar

4.semester-bugtd's Issues

Map Module

  • Design Tiles
  • Figure out how to use MapSPI from other modules
  • Figure out how to make the relationship between tile and standing entity.
  • Implement the following methods:
    • GetTiles
    • GetClosestTile(x,y)
    • GetTilesEntityIsOn(Entity e)
    • CheckIfTileIsOccupied(Tile t)
  • Think about optimising tiles (one huge map and just array of x and y coordinates or only draw entities once)

Queen

  • Queens placement from MapSPI
    • Er denne her ikke løst i forvejen? Man kan vel bare bruge metoden på mapSPI getTilesEntityIsOn
  • Able to lose life when enemy attacks
  • Map closes when she dies
    • Det er indtil videre lavet så at der oprettes et GameOverEvent når queen dør. Dette event opdages i Game, men jeg er lidt usikker på hvordan det skal håndteres. Der skal vel vises noget UI af en slags.
    • Snak med Nicolai om dette og hvordan det skal spille sammen med de UI-ting han har arbejdet med.
  • Attack (not for demo)
  • Overvej: Skal Queen være et helt modul for sig selv i modsætning til at være en del af Tower-modulet?
    • Pros: Man kan unloade towers uden at queen ryger med og det ødelægger hele spillet.
    • Cons: Queen og towers ligner hinanden virkelig meget at det giver mening at have dem sammen.
    • Så er der færdigovervejet. Queen får sit eget bundle. Dog bruger vis tadig CommonTower til til at placere Queen-relaterede ting som skal bruges af andre bundles.

Tower Module

  • Tower placement
    • Place new tower on click
    • Make towers snap onto four tiles when placed
    • Prevent towers from being placed on top of each other
    • Show tower placement preview on mouse hover
    • Only placeable on walkable tiles
    • Tower turns to face targeted enemy
  • Support dynamic loading/ unloadling
  • Find a way to remove tower preview entity from world
  • Clear the occupants of tiles in some way (likely use new mapspi method)

Player

  • Walk around (Controlled by arrow keys)
  • Player Pixel Art
  • Walk to Tower when placed. Note: Tower Placement should be cancelled if other movement is done while the player is walking towards tower (not for demo)
  • Player Walking Animation

Weapon Module

Separate logic out from weapon parts and all the control systems into a seperate weapon module and make it dynamically

  • Player Weapon

AI Module

  • Figure out how to send commands to enemy
  • Figure out how to calculate the best path for each enemy (A*)
  • Check if adjacent tiles is a tower and do not add it to the fringe if it is
  • Rewrite moving part to be precise
  • If there is no path, order enemy to attack, if there is a path order enemy to walk to it
  • Events for calculation don
  • EnemySpawned event from EnemySpwaner
  • Test if's fast enough
  • Fix numerous bugs

EnemySpawner

  • Map Rounds
  • Spawn with a little delay between each enemy
  • Better Time delay
  • Add data from loadet maps, to control amount of enemys spawned
  • Fix that it doesn't spawn when enemies die
  • keep track of current round
  • enemies placement, is loaded from map

Modules dynamically load and unload

  • Map
    • Crasher dog stadig når AI unloader og ikke kan kalde map
  • EnemySpawner
  • Tower
  • Enemy
  • AI
  • Queen
    • Jeg er lidt usikker på hvordan det er meningen denne skal unloades og loades. Lige nu er det nemlig map der står for at "bygge" queen, så hvis man prøver at unloade og derefter loade queen-modulet, vil der ikke dukke en ny queen op på banen...
  • Player

Attacking

  • Tower attacks enemy visualization
  • Enemy attacks tower visualization
  • Enemy attacks queen
  • Queen attacks enemy
  • Different attack colors
  • Maybe make WeaponPart check if target is in range instead of each individual module doing it

Enemy Module

  • Figure out movement + sprites
  • Make sure that when enemy dies they are removed

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.