GithubHelp home page GithubHelp logo

hexel's People

Contributors

austingantner avatar brycemehring avatar kioljin avatar mephisto275 avatar nightwolf55la avatar prs9tb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hexel's Issues

Tower selection and placement

The user should be able to:

  • Build towers on hex tiles on the map
    • Towers may take up more than one hex tile.
  • Select and view a tower’s details in the sidebar
    • Upgrade or sell towers

Differentiate mouse hover between selecting a tower

Currently we are drawing a single circle to display the radius while placing and selecting towers. The issue comes into play when the user places a tower down, the circle stops following the mouse and just shows the attack range of the placed tower.

Enemy Health Bars

The enemies need to have health bars so that we know their remaining health.

Co-op Matchmaking

While in co-op mode, there needs to be a method of finding players to play with. For this to work as expected, there needs to be a centralized server to manage the matchmaking.

Clipped text in chat text box

Currently if the text box is filled up with too much text, it will be clipped. Either the text box will have to become scrollable or previous messages could be removed(like a queue).

Game class refactoring

There should only be a single game class for both multiplayer and singleplayer game modes.

Generate an in-game sidebar

Create a sidebar menu where the player can view their score, buy, upgrade or sell towers, pause the game etc.

Game Balance

Some towers are quite overpowered. Their stats need to be modified to make the game more difficult and enjoyable to play.

Enemy Movement

Enemies will move along a predetermined path specified by the map.

Breadth-first search can be ran once per map to find the shortest path from each tile to the goal. Using this algorithm over A* has the benefit that the pathfinder only has to be ran once instead of for each enemy unit.

Source: http://www.redblobgames.com/pathfinding/tower-defense/

High quality team logo

As we are now using the logo in game as a part of the splash screen, it would be nice if the logo was of higher quality. The comet is quite rough around the edges.

Map Generation

A set of maps needs to be generated for the user to play. This could be a manual process in which we manually place the hex tiles and then save the map, or the maps could be automatically generated upon request.

This is related to #13.

Create a weapon class

This class should manage the rendering of the weapon and doing damage to the target.

Death Animations

Each enemy should have death animation. It could either be a sprite animation or we could have the sprite fade out.

Map editor crash during save

If the user clicks the save state button within the map editor, an error is generated because MapEditor.serializeGrid(...) is being called as a static function and as a method in different locations.

Transforming the map editor into a regular class instead of a singleton would solve this issue. This issue is mainly derived from the behavior of buildUI(...) because it must know of its parent.

Android Build

The first step is to build MOAI for android. The steps are laid out in the MOAI readme. The Android NDK is also needed to be installed, with links being provided in the readme.

There might be some changes required to our code base to get the android build working, but I'm unsure as of right now.

Sprites

We are going to need at least some basic sprites for towers, units, and more. They do not have to look nice initially, just we should be able to tell the difference between two different units/towers.

Excessive memory usage

Currently in single player, if enemies keep on spawning and being destroyed, the game does not seem to be freeing much memory. I've seen the game use more than 1 GB of memory at times.

Scaling enemy difficulty

This could be used for dynamic enemy generation and what goes in each wave so that we don't have to hard code what goes in each wave.

Allow the window to be resized

If the window is resized, all of the GUI widgets will need to be repositioned. This could be done via a callback mechanism on the resize event.

Also the game should be using world space instead of screen space in order to better support different resolutions.

Single Player Mode

In this mode, the player is tasked with defending key points from waves of AI enemies by placing various types of stationary towers on the field. After each wave is completed, future waves will progressively become harder. Money is earned by defeating enemies and at the end of each wave depending on how much money the player has on hand, which can be spent on upgrades for the player's buildings. The game is over when the player is reduced to 0 lives, and the player loses a life whenever an enemy reaches the key point.

Basic Game Template

This will show off a very minimal concept of the game to help other developers get started.

Get instances of Hexel to communicate

Explore the basics of network communication with MOAI. Get two Hexel instances to communicate with each other as a precursor for coop and versus gameplay.

Sound Delay

On Windows there is a slight delay when sounds are played.

Co-op Mode

In this mode, you will be teaming up with a variable number of friendly players to help with dealing with endless waves from the enemy. Teamwork will be encouraged by having split resource pools for each player, restricting particular player’s towers to different sections of the map, or by restricting the types of towers available to each player. Waves will not start until all players have selected “ready” during the build phase.

Enemy spawn wave weights

Each enemy type in the wave can have a weight which corresponds with how many of this type of enemy will spawn in the wave.

Versus Mode

Players will be in charge of sending enemies to attack other players in addition to protecting their base by constructing towers of their own. Players will receive resources based on the number of enemies that their tower destroys. This continues until one of the players quit or runs out of health.

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.