2d-survival's People
2d-survival's Issues
prevent bricks from being laid on people or enemies
Add player inventory
Probably toolbar at the bottom that holds 5 items
networked multiplayer using socket.io
Add the other 4 squares for collision detection nearby objects
Collision detection currently looks for the squares above, below, left, and right of objects. It should be expanded to include the 4 additional squares on the diagonals.
add health for player and enemies
probably need to make a base class for living objects
- manage health
- taking damage
- death
make sprites for top-down survival
- player character
- enemy (bear perhaps)
- ammo
- health
- food
- blocks (for building a base)
only make enemies attack when they are close enough
add stamina
Occlusion culling (I think those are the words)
change the draw functions to only draw things that are within the current viewport so that everything isn't being rendered
bug: error when going too low
Traceback (most recent call last):
File "C:\Users\cpalmer\Documents\GitHub\2d-survival\src\main.py", line 168, in draw
self.background.draw(
File "C:\Users\cpalmer\Documents\GitHub\2d-survival\src\gameObjects.py", line 319, in draw
BASE_BLOCK * self.tiles[x][y][0],
~~~~~~~~~~~~~^^^
IndexError: list index out of range
steps to reproduce:
- walk to the bottom of the world
Create initial crafting tree
Stone -> brick wall
Trees-> wood -> wood wall
Trees -> wood -> spear
Bone -> bone knife
Bone -> bone armor
Add building tiers
Wood, stone
generalize all items to be inventory items
ammo is currently not an inventory item
improve the Bear sprite
use the command pyxel edit assets to improve the bear sprite at 0, 32
improve collision detection for walls
can wall glitch by placing walls behind self
bear attack mechanics
have the bear lose interest if the player isn't moving. stop attacking after a certain amount of time.
Gun tiers
Spears
Pistol
Machine gun
Placing doors bug
It seems like placing doors happens more than once per key press
generalize collision detection
list of tuples of (type, type) and implement collide(type) method for both to handle their collision logic
in the collision checking function just do a nested loop of all objects of type a and type b and run their collision logic
Add before update, after update methods, use as decorators
same thing with draw
add sprint
add item despawn
add ttl attribute on dropped, or spawned items (not things like placed brick) so that after the ttl the item can despawn
Add player inventory [UI]
add a game ui for player inventory
Add generator nodes
add ResourceNode class to make a place that new objects will spawn within a radius around so resources aren't as randomly distributed in the map
different sprites for attack/chill states
make AI attack whoever shot at them when hit
bigger map, follow camera
make a bigger map where you can only see a portion of it
have the camera follow the player
Add doors
Allow user who places a door to pass through it but nobody else
[refactor] game engine features into library
don't pick up med kit at 100 health
add knockback from bullet hits
[refactor] component based design
components. you know, like unity
https://gamedevelopment.tutsplus.com/articles/unity-now-youre-thinking-with-components--gamedev-12492
Add occlusion culling for object logic
add culling for executing logic every frame only if objects are in frame
- add occasional update that can round robin-like only execute game logic for a handful of objects when they are close to the frame
- should update more frequently the closer they are to the camera view
- update every frame when in camera view
- store number of updates since last updated
- when update needs to happen just run update function that many times (could cause problems with collision detection) (don't want bears walking through walls when they're out of frame)
improve the bones sprite
use the command pyxel edit assets
to improve the bones sprite at 16, 48
sign executables
figure out how to sign executables and set that up
possibly related. figure out how to not have the executables not show up as a virus
add ammo carrying for objects that can shoot
- ammo amount
- ability to drop and pick up ammo
Add storage chests
Allow users to store stuff in chests
network multiplayer
create asset variables
Look into nuitka as an alternative to pyinstaller
add mouse shooting
generalize objects control
make object control generalized to user, AI, and networked
add persistent game state
the game should be persistent between closing and restarting
add melee
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.