re-ss3d / ss3d Goto Github PK
View Code? Open in Web Editor NEWSpace Station 3D, another remake of SS13, but with an extra D.
Home Page: https://ss3d.space/
Space Station 3D, another remake of SS13, but with an extra D.
Home Page: https://ss3d.space/
Items taking damage until a breaking point.
Story
As a developper, i want to be able to set the RagdollManager to interpolate with a given animator, permitting partial animation with ragdoll properties. e.g drunken walking, combat hit, getting up from a ragdoll state.
Issue Link
#56
Description
A turf defines what a tile's physical contents, it should be an abstract class or an interface permitting multiple kinds of turfs to exist and be built, themselves containing custom data about their contents.
Stomachs are beakers which contain and metabolize (over time) reagents they consume.
For now, let's just focus on nutrition. Your nutrition level effects character speed by a small percentage. Foods have a reagent called nutriment in them, which increases your nutrition when metabolized.
Items can contain other items -- might require a size flag to prevent infinite storage.
To recreate:
Approach the door to make it open.
Click the door to make it close.
Walk away, and the door will open.
Swing item at target.
Description
We should be able, through a specialized function, to apply a force to a ragdoll bone, and have the rest of the bones react accordingly.
User Story Link
#60
Characters becoming hurt due to trauma, needs support for limb-based damage. Brute, burn, suffocation, and toxin.
Gas presence in the air.
ADDITIONAL NOTES: (as worded by Connie)
-the solution i've been most pleased with was that atmos should essentially be a gaussian blur filter running on a grid
-this way it can be run under a compute shader
-i'm assuming the atmos information from tiles will need to be exported to / held in a seperate array from the tile system for use with filter stuff
-from there, a "getAtmosAtTile(Vector2 pos)" function can be implemented or something to grab information from the computeShader
Short Description
Ragdolls are an important part of the game, used in most situations where a character lose control and trips, becomes unconscious, or even suffer severe knockback.
Soft Dependencies
Story
As a Programmer, i want to be able to serialize Tile objects, in the perspective to save them to / load them from disk. The serialization should extend to children objects such as Walls and Lattices.
Issue Link
#51
Small items do not collide with each other, but do collide with large objects.
Toggleable throwing state.
Toggle and click somewhere to throw an item. State is exited after the item is thrown.
Bonus points:
If something is thrown at you by another player and you are in the throwing state with an empty hand, you catch the item and exit the state.
Story
As a developper, i want to be able to set specific bones up for networking synchronisation. only their position and rotation should be synchronized, and the rest is extrapolated.
Issue Link
#56
Short Description
Tiles are the individual elements that compose the map of the station. They can be composed of multiple distinct systems that depend on it to render, synchronize and save correctly.
For this first foray into tiles, we will try to get only basic tile functionnalities going.
Hard Dependencies
None.
Soft Dependencies
Walls/tiles/tables can connect in ways that make sense.
Camera rotates in 90 degree increments with the player in the center, player can adjust the level of zoom on the fly.
Player has items in possession.
Description
We should be able to define a specific GameObject or Transform that the ragdoll bone must always do its best to attain.
User Story Link
#60
Story
As a Player, i want the tiles around me to reflect their states on the server as soon as they happen.
Feature Link
#51
Issues need labeling, be sure to do it right.
Description
Create a component that makes a bone react to its environment in a coherent way.
User Story Link
#57
Player character can equip clothes, clothes inherit shape key values from the player character.
Characters move WASD, direction is dependent on camera angle.
Item pickup animation driven by IK, may need a couple holding positions for different types of items.
Any independent station, shuttle, or association of tiles constitute a TileMap.
The TileMap should be able to manage and synchronize itself between clients.
A TileMap should Contain an array of Tiles, and their associated data.
A TileMap should also provide a way to get the atmos levels at any position on itself.
A TileMap can and will move, and the objects in it should behave accordingly.
Finally, Two tilemaps should be able to connect and fuse between themselves.
TileMap collisions are not expected at this stage but should be thought about while designing the system.
Each Tile should contain none or one furniture item, the tile itself, and all the differents tile based systems (Atmos Pipes, Cables, Air Atmos, etc...).
Description
Clothes may have containers on them, e.g. pockets, suit container slot, etc.
Containers on clothes must be accessible to the player. If on the player they should be accessible through the hotbar (for pockets) or body ui element (anything else). Yes, this means that multiple containers will appear in that element.
UI Slot Elements therefore need 3 states - not present (no container), present but holding nothing, and present and holding something. The appearance of these is to-be-discussed.
This task does NOT deal with looking at clothing containers on another body.
Dependencies
Description
Create a component that manage a group of ragdoll bones, it should :
User Story Link
#57
Story
As a developper, i want to be able to enable and disable the ragdoll of a group of bones from their parent RagdollManager.
Issue Link
#56
Description
User may only pickup/put down items, and open containers within a given range. The range should be specified in the player's Hands component.
Dependencies
Story
As a user, I want to have my life threatened, so that SS3D isn't just a walk in the park. I need a health system that lets things damage me, and this health system must be faithful to SS13.
Issue Link
TBA
There needs to be documentation for existing features and code, in two parts:
1. Code docs
Public members and functions of scripts must be listed and described in very brief detail.
2. Feature manual
Here, features are described in more detail. This is where you would put guides for how to use a given feature in code.
Aiming to hit a location on a target's body.
Story
As a developper, i want to be able to define a given position for a given ragdoll bone, so that the rest of the bones can act accordingly. e.g pulling a cadaver by its hand, pulling a cord, throwing a toilet paper roll.
Issue Link
#56
Static light fixtures only cast shadows on walls. Moving lights cast shadows on objects.
Player has fake shadow to accent player's position on the ground.
Outdated. Please message mention me on Discord @Probably Not for up-to-date animations.
Included is
A menu to modify characters' appearance by modifying model shapekeys.
*beep inspiration:
https://www.youtube.com/watch?v=hX9GIdVSdXo
Just a growing process, object morphs from one thing to another.
Basic operation:
Seed is planted into eligible location, (Hydroponics tray, mound of dirt, etc.)
Plant will grow into different phases.
Plant yields a harvest-able product at the end.
Full operation:
Seed / plant holds information such as crop yield, lifespan, potency, etc.
Seed is planted into eligible location, (Hydroponics tray, mound of dirt, etc.)
Plant checks planter for required elements. (Water, fertilizer, no weeds.)
If conditions are met, plant will grow into different phases. If conditions are not met, it will stop growing and eventually expire.
Plant yields a harvest-able product at the end, inheriting properties from the plant.
You are heavily advised to read *beep's original article regarding FoV and the material *beep references in said article.
Interface that shows the contents of the player's inventory. #12
UI scaling, if implemented, might look weird with normal raster images. Large images scaled down get heavily aliased, and small images scaled up look blurry. To fix this, consider alpha-tested magnification, which, according to *beep, is less complicated than it sounds.
Current NetworkTransform doesn't allow for teleportation, and so looks bad when on objects that e.g. need to be placed, as the component will attempt to interpolate between the two positions (and then give up and teleport anyway after too long a time).
Create or rewrite the NetworkTransform to allow teleportation. Could look at the original Unity NetworkTransform for inspiration, some options are:
Glaring improvements to the present movement include:
Movement needs acceleration, and it should be reflected in animation. Having the leg swing straight behind the player when a movement key is pressed looks less than ideal.
Walk/run states with different speeds and animation. Toggle walk/run with tab.
Floor needs to be able to construct. Steps:
To create catwalk:
Rods + empty space = lattice
Lattice + rods = catwalk
To create station floor:
Rods + empty space = lattice
Rods + floor tile = ground floor
Ground floor + floor tile = covered ground floor
Covered ground floor + floor tile = complete floor
We can go about the actual floor object in two ways.
or
The second option might be better for performance, especially considering the number of tiles in the station. 10,000 objects as a single object vs 30,000 objects as separate objects.
Contact me (Eiko) to let me know what you decide on so I can finalize the floor.
Description
The user should be able to open external containers by clicking on them. This shows the container on the UI, which allows the player to then place items in, or take items out of the container.
Multiple players should be able to interact with this container simultaneously.
Dependencies
There is a memory leak somewhere causing massive unbounded memory increases.
To recreate:
It only occurs when actually playing the game, not when in the menu screen.
Description
Current simplified item movement should be by click-drag, and/or by clicking an empty container slot. For players only an item currently being held can be placed anywhere.
The body container should be heavily based on the existing HandsContainer, and in fact the HandsContainer should be generalised (e.g. to VisibleContainer) so that it both containers can be based off of it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.