Code Monkey home page Code Monkey logo

towerdefense's Introduction

towerdefense

Simple tower defense game in p5.js that can be played here.

You can also make and edit custom maps using this map editor. Instructions are located on the Github repo.

Controls:

  • Esc to deselect tower
  • Left and right brackets to change map size (will reset game!)
  • Mouse to place a tower
  • Spacebar to pause
  • 0-9 to select a tower to place
  • F to toggle FPS display
  • G to toggle god mode
  • H to toggle displaying enemy health bars
  • M to import and load map string (will reset game!)
  • P to toggle display particle effects (turning them off helps with lag)
  • Q to toggle towers firing
  • R to reset game
  • S to sell selected tower
  • U to upgrade selected tower
  • V to mute sound volume
  • W to toggle delay between waves
  • X to export map string (copies to clipboard)
  • Z to return to default zoom level (will reset game!)

towerdefense's People

Contributors

rsaihe avatar

Stargazers

Manmohan Singh Raghav avatar  avatar  avatar  avatar  avatar Karacas avatar Suleiman avatar EMMANUEL MAISO WANCHA avatar  avatar  avatar Tim avatar  avatar Shane Krolikowski avatar João Silva avatar  avatar Sergeant Fuzzyboots avatar kiri avatar  avatar  avatar n7best avatar Mário Vieira avatar Finality avatar Umbardacil avatar Bruno Brito avatar Maks Rafalko avatar Hun avatar Thomas Gorman avatar Jefferson Bruno avatar Guilherme Freitas avatar Shun Goto avatar Mythril382 avatar Reynier Lester Claro Escalona. avatar Rosa Blackbird avatar  avatar Vasya Poteryaiko avatar  avatar  avatar Heitor Cordeiro avatar Lam avatar  avatar Yeshu Kochher avatar Anton Vynogradenko avatar  avatar Do Nhat Phong avatar Dombovári Balázs avatar ZackaryW avatar Santi Herranz avatar  avatar fpeyret avatar Mikhail avatar web3li avatar  avatar

Watchers

Hung avatar Daniel Haberkorn avatar fpeyret avatar Umbardacil avatar Hun avatar

towerdefense's Issues

Intermittent lag

There seems to be something causing lag spikes to occur every once in a while. It occurs even when no towers or enemies present. Frame rate drops from roughly 60 FPS to as low as 20 or 30 for a few seconds at a time.

Occasional timeout when changing tile size

Seems to be related somehow to the more zoomed-in map sizes. Haven't noticed this problem on the larger map sizes. So far observed on maps with tile size of at least 36px. Always seems to occur once enemies have already spawned on the map.

Lag

Intermittent significant drops in frame rate seem to occur when enemies are moving

Consistently low framerate

Framerate stays at around an average of 30 fps consistently, even when no enemies are active, dropping as low as below 20 fps at times.

Towers may not target the furthest enemy near crossovers

The method of calculating distance to the exit currently does not account for the fact that enemies may not take the shortest route due to path tiles forcing them to take a longer way. Because of this, if there are crossovers, towers seem to target the enemy physically closest to the exit rather than the one furthest along on its path.

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.