-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lamia & Segmented Entity System #11
Open
VMSolidus
wants to merge
73
commits into
master
Choose a base branch
from
LamiaSystem
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- This is a semi-strict format, you can add/remove sections as needed but the order/format should be kept the same Remove these comments before submitting --> # Description <!-- Explain this PR in as much detail as applicable Some example prompts to consider: How might this affect the game? The codebase? What might be some alternatives to this? How/Who does this benefit/hurt [the game/codebase]? --> The old sprite-based rendering approach was very limiting, here I've changed to using an overlay and just constructing the lamia bodies out of triangles. I'm about happy with it although it's lacking the clothing feature we added earlier just waiting on art. Networking and perf should be fine. I don't know how much of the other stuff you want me to clean up. A lot of unrelated code can probably get just deleted. # TODO - [ ] New base + clothes sprites that look good - [ ] Support for clothes based texture change (should take 5 mins) https://github.com/user-attachments/assets/c5022e54-cb3d-4f53-b65c-83863b21df29 # Changelog <!-- You can add an author after the `:cl:` to change the name that appears in the changelog (ex: `:cl: Death`) Leaving it blank will default to your GitHub display name This includes all available types for the changelog --> :cl: Rane - add: Lamiae should now be rendered much better.
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Mnemotechnician
pushed a commit
to Mnemotechnician/Einstein-Engines
that referenced
this pull request
Sep 9, 2024
Mnemotechnician
pushed a commit
to Mnemotechnician/Einstein-Engines
that referenced
this pull request
Sep 9, 2024
FoxxoTrystan
requested review from
FoxxoTrystan,
a team,
DEATHB4DEFEAT and
Pspritechologist
and removed request for
a team
September 17, 2024 19:21
FoxxoTrystan
added
Holy Shit
Priority: 3-Medium
Needs to be resolved at some point
Size: 1-Very Large
For especially large issues/PRs
and removed
Status: Needs Review
Someone please review this
labels
Sep 17, 2024
VMSolidus
pushed a commit
to VMSolidus/Einstein-Engines
that referenced
this pull request
Sep 18, 2024
* add: uplink discount * test * tweak
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
FoxxoTrystan
added
Status: Do Not Merge
Do not merge
Status: Awaiting Changes
Do not merge due to requested changes
labels
Oct 1, 2024
FoxxoTrystan
added
Status: Help Wanted
Extra attention is needed
and removed
Status: Awaiting Changes
Do not merge due to requested changes
labels
Oct 7, 2024
gluesniffler
pushed a commit
to gluesniffler/Einstein-Engines
that referenced
this pull request
Oct 13, 2024
Surgery situation is crazy
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Changes: C#
Changes any cs files
Changes: Sprite
Changes any png or json in an RSI
Changes: YML
Changes any yml files
Holy Shit
Priority: 3-Medium
Needs to be resolved at some point
Size: 1-Very Large
For especially large issues/PRs
Status: Do Not Merge
Do not merge
Status: Help Wanted
Extra attention is needed
Status: Merge Conflict
FIX YOUR PR AAAGH
Type: Port
Brings something to here from another codebase
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
About the PR
This is a draft PR for an upcoming new playable species, the Lamia. Lamia are an older species from the 2022 era of Nyanotrasen, and were previously abandoned code that was dropped from the game on October 13th, 2022. I was able to locate what I believe to be the last remaining branch containing Lamia, from a defunct server repository that ran an October 12th, 2022 build of Nyanotrasen. Thus I began a project to refurbish this code for use on modern SS14.
The Lamia I wish to PR are only recognizable from the original Lamia in that they share the Tail Segment System. That is, they prominently feature a completely unique mechanic whereby their body is composed of multiple entities linked together in a chain. The original version of this code had a great many bugs related to the game's physics system, and it was severely limited by the Robust Toolbox engine at the time. In the year since Lamia's abandonment, Robust Toolbox has gone through many iterations and improvements, and has deprecated large parts of the physics system that old Lamia utilized.
Redesigns from the original 2022 Lamia, AKA Nyanotrasen Lamia. Vs. DeltaV Lamia
The original Nyanotrasen Lamia were made with several limitations in mind. Their size was heavily restricted by the physics engine at the time, we aren't beholden to that same limitation anymore. Thus DeltaV Lamia are vastly larger than the Nyanotrasen Lamia, featuring a tail that is 5 tiles in length, with fully functional physics collisions. They were also not able to wear Hardsuits due to limitations of the SpriteComponent, and thus were instead designed around having a "Barotrauma resistance". On DeltaV code, we can arbitrarily state that species use different optional sprites for items, therefore its possible to have for example a Nukie Hardsuit, with its equipped-outerwear state, equipped-outerwear-lamia, equipped-outerwear-lamiainitialsegment, equipped-outerwear-lamiasegment, and so on. The Lamia Segments can simply state that if they equip a hardsuit, they utilize the -lamiasegment sprite option. Therefore its no longer necessary to create an entire new item solely so that snakes can wear a hardsuit.
Positive Traits
Negative Traits
Why / Balance
This PR is part of an ongoing project to add exciting new content to the DeltaV repository, with a focus on keeping the theme of "Monster People" species, per request by admins.
Technical details
The code regarding Tail Segments is actually unfinished, and still needs significant overhauling before this PR can be undrafted. Here's a few concerns:
Non-Technical TODO list
These are all the TODO's that don't necessarily involve C#, and primarily live in the YAML side of things.
Media
One of the downsides of having extreme mass.
Working Collision physics:
Finalized version of the damage system, also featuring significant improvements to the tail systems.
Changelog
🆑 VMSolidus, @Elijahrane, and @noctyrnal