tankgame's People
tankgame's Issues
Problem with turrets disconecting from the tank's body
Server should generate position of new player
Map generation on startup (6)
Display user's name
Names not displayed - always 'no name'
Shooting (3)
Handling shooting on backend side - accepting event, creation of missle, broadcasting missle creation to all players.
Rooms
Splitting the game to different rooms, where game is played independently.
Problem with collision bullet->tank
Backend does not detect bullet-tank collisions properly. IMO tank has to be represented by a rectangle.
Healthbar colors
Change them to reflect game status in better way
Storing landscape structure
Should be handle in similar way as #2
Tanks cant be controlled with WSAD
Event naming convention
I would remove blank spaces from events name, e.g.
"move player" -> "player:moved"
and listener for this event onPlayerMoved
Collision detection (8)
Player vs Map ( and world borders! ),
Player vs Bullet,
Player vs Player ?
Persist tanks positions on frontend (3)
We should have data structures that represent tasks positions and handles tanks behaviour.
Example usage
tank = new Tank({ login: "maciek", coordinates: [2, 3], life: 3, points: 5 });
tank.moveUp().then(function(tank) { // moveUp returns a promise that is resolved after server acknowledge move
// tanks.coordinates == [2, 4]
})
Handle bullets trajectory (3)
Should be handled in similar way as #2
Emit an event to destroyed player
We need to get an event when someone destroys player's tank. Event will be send only to destroyed player.
[Backend] Player Movement, world update
Keeping track of player positions, updating all players with players positions.
CORS issue
At the moment there are no possibility to play on 2 clients. Try to set '*' in HTTP config
Interactions with game world - destroying objects etc.
Handle collisions
Handle collision Tank-tank and tank-bullet
Players' score
Keeping track of players' score
Fix code formatting
Handling player movement events (3)
Sending current player position
Updating all players with other players positions
Player has 3 lifes
Players is not dead after fitrst bullet hit
Handle coliding objects
World update (3)
Updating bullets positions
Updating state of static map elements.
Handling non-game events (3)
Player connected, disconnected, etc.
Handle disconnected players
At the moment when player disconnects his tank is left on the map - it should disappear.
Handle keyboard events (1)
We need an entity that abstract keyboard i.e. listens to keyboard keys press and emits appropriate events.
Usage example
k = new KeyboardListener();
k.on("up:arrow:pressed", function() {
// handle up arrow pressed
});
Canvas rendering (13)
The only responsibility of the canvas should be to take data structure and render it.
Canvas should not mutate its state itself! It might trigger some events if needed (e.g. if tank is about to collide with a wall)
Handle on destroy event in front-end
eg. exit game and display some text - "game over"
Authentication
Low priority task for user authentication, signing up, signing in etc.
Server side constraints ( on velocity, shooting, etc) (3)
Preferably using socket.io mechanisms or something similar.
Player movement, shooting, turning around time intervals should be constant and not depending on users' requests frequency.
Deploy app to heroku
We should deploy app to heroku to be able to present app easily, what do you think?
Synchronize bullet speed on frontend and backend
Issue was primairly fixed in #37 , but it still is not perfect.
It needs to be checked if there is any way to improve that.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.