|
||
---|---|---|
.github/workflows | ||
Design | ||
Documentation | ||
Modelling | ||
RunningLateGame | ||
.gitattributes | ||
.gitignore | ||
flake.lock | ||
flake.nix | ||
LICENCE.0BSD | ||
LICENCE.UNSPLASH | ||
README.md | ||
sidestepper.py | ||
sync.py |
The sota staircase Mono-repository
Primary Repository: https://forge.joshwel.co/mark/sota
Submission Mirror: https://github.com/markjoshwel/sota
Name | Primary Role | Secondary Role | Forge | GitHub |
---|---|---|---|---|
mark | creative and technical director | senior programmer | @mark | @markjoshwel |
ryan | programmer | generalist | @ryan | @sc0rch-thinks |
sai | lead 3d artist | quality checker | @sai-thinks | @sippy-thinks |
Handbook
on 3D Modelling (Maya, Blender, ZBrush, etc.)
Lead | Sai |
---|
design-as-in-modelling your assets with modularity in mind, anything that can be modular should be modular
design-as-in-look should be checked with the group
structure your files similarly:
Modelling
├── Sources
│ ├── <Asset Name>.blend
│ └── <Asset Name> (Maya Project Directory)
│ ├── ...
│ └── workspace.mel
├── Textures
│ └── <Asset Name>
│ ├── *.png
│ └── ...
└── Exports
├── Modulars
│ ├── <Asset Name>_lowpoly
│ └── <Asset Name>_highpoly
└── Heroes
├── <Asset Name>_lowpoly
│ └── *.fbx
└── <Asset Name>_highpoly
on Graphic and UI/UX Design
Lead | Mark |
---|
and then send it to mark for approval (●'◡'●)
anything that can be saved locally (including figma files, btw) should be saved
locally, and then pushed to the forge under Design/
organise as you wish but make sure it's logical
on Game Development
Lead | Mark |
---|
-
make changes
-
make sure the language checker isn't nagging you
(spelling and grammatical errors) -
make sure intellisense isn't nagging you
(variable/class naming conventions, etc.) -
reformat using rider's Reformat and Cleanup Code function, using the Built-in: Full Cleanup profile
-
push to the forge, or branch off and make a pull request if there are conflicts
on Game and Level Design
Lead | kinda everyone more so mark |
---|
for this, discuss with the group; either through the telegram group or through an issue on the forge
on Documentation (for All Modules)
Lead | kinda everyone more so mark |
---|
source files (.docx, .fig, etc.) should be in the respective modules' directory,
and then exported as .pdfs to Documentation/*.pdf
on Repository Syncing
Wizard | Mark |
---|
Syncing to GitHub via ReStepper
instructions:
python sync.py
if it screams at you, fix them
if it breaks, refer to the resident "wizard"
for what the script does, see the script itself: sync.py
Advanced Usage
you probably don't need to ever use these :p
the following environment variables can be set:
SOTA_SIDESTEP_MAX_WORKERS
how many workers to use for repository duplication, default is how many cpu threads are available
the following command line flags can be used:
-
--skipsotaignoregen
skips generating a.sotaignore
file, useful if you know you've already generated one beforehand -
--test
does everything except actually pushing to GitHub -
--dupethelongway
duplicates the repository wholly, disrespecting any .gitignore files
there's more, but god forbid you need to use them unless you're changing the script,
search for argv
in the script if you're comfortable with dragons
SideStepper and the .sotaignore file
the .sotaignore
file is a file that tells the sync script what to ignore when syncing
to GitHub, and should be in the root of the repository
it is automatically generated by the sync script and should not be manually edited unless there's a file we want to exclude
any file over 100MB is automatically added when running ReStepper (the sync script) or
SideStepper (the script that generates the .sotaignore
file)
to manually generate this without syncing, run:
python sidestepper.py
we may or may not want to add the contents of the .sotaignore
file to the .gitignore
but that's probably better off as a case-by-case basis type thing
for what the script does, see the script itself: sidestepper.py
Advanced Usage
you probably don't need to ever use these :p
the following environment variables can be set:
-
SOTA_SIDESTEP_CHUNK_SIZE
how many files to chunk for file finding, default is 16 -
SOTA_SIDESTEP_MAX_WORKERS
how many workers to use for file finding, default is how many cpu threads are available -
SOTA_SIDESTEP_PARALLEL
whether to use multiprocessing for large file finding, default is falsehilariously, it's ~4-5x slower than single-threaded file finding, but the option is still present because it was made before the fourth implementation of the large file finding algorithm (now called SideStepper because names are fun, sue me)
the following command line flags can be used:
--parallel
same behaviour as setting theSOTA_SIDESTEP_PARALLEL
environment variable
Licence and Credits
"NP resources" hereby refers to resources provided by Ngee Ann Polytechnic (NP) for use in student work during the course of our study
-
software source code
software source code, unless otherwise stated, is licenced under the 0BSD licence. for more information, see LICENCE.0BSD
considering how many YouTube tutorials were used on ryan's end, I doubt we extensively used NP resources
-
models made with "extensive use of NP resources":
specifically, coming from or in part has had the following software and/or services involved:
- Autodesk Maya
- Adobe Substance 3D
- Substance 3D Modeler
- Substance 3D Sampler
- Substance 3D Designer
- Substance 3D Painter
- Substance 3D Stager
- Substance 3D Assets
would have all rights reserved, unless otherwise stated
(i mean mr q said this already lol)
the only exception to this is if the model was made in blender and doesn't touch substance painter, in which it falls under the modified unsplash licence noted below
-
whatever is left
everything else, from assets to documentation, unless otherwise stated, is licenced under a modified unsplash licence. for more information, see LICENCE.UNSPLASH
disclaimer: the creative lead (mark) has been using adobe software even before enrolling into np, so whether it is "extensive use" is fair game lol
(also yea I don't really have a better example than my eae portfolio oops)
Third-party Licences
exceptions to the above licences are as follows:
template:
- (Asset/Work Name) by (Author Name): (Licence Name)
`directory path, file path or glob pattern`
example:
- Frogman by Frog Creator: Standard Unity Asset Store EULA (Extension Asset)
Assets/Characters/Frogman
comma-separate multiple licences, and use code blocks if you need to list multiple files/directories/patterns
-
Various References: All Rights Reserved
Modelling/3RT_RunningLate_PureRef.pur
- HDB Corridor: https://dollarsandsense.sg/hdb-lease-buyback-scheme-now-open-to-all-flats-heres-how-it-works/
- HDB Corridor: https://www.propertyguru.com.sg/property-guides/can-you-own-the-space-in-front-of-your-hdb-flat-10697
- Firewatch Screenshots from The King of FNaF: https://www.youtube.com/watch?v=gyKg7xmVIKw&t=1763s
- HDB House Interior:https://www.swissinterior.com.sg/blog/4-room-hdb-interior-design-ideas, https://qanvast.com/sg/articles/types-of-3-room-bto-flat-layouts-which-ones-are-unique-2822
- Interior Lamp: https://www.ikea.com/sg/en/p/taernaby-table-lamp-dimmable-anthracite-60323894/
- Interior Bedside Table: https://www.ikea.com/sg/en/p/nordkisa-bedside-table-bamboo-40447678/
- Interior Bed-frame: https://www.ikea.com/sg/en/p/ramnefjaell-upholstered-bed-frame-kilanda-light-beige-luroey-s29560166/#content
- Interior Dining Chair: https://www.ikea.com/sg/en/p/kaettil-chair-white-knisa-light-grey-50500340/
- Interior Dining Table: https://www.ikea.com/sg/en/p/moerbylanga-lustebo-table-and-4-chairs-oak-veneer-brown-stained-viarp-beige-brown-s49523521/
- Interior Sofa: https://www.ikea.com/sg/en/p/kivik-2-seat-sofa-tresund-anthracite-s79482821/
- Interior Desk: https://www.ikea.com/sg/en/p/lagkapten-alex-desk-white-stained-oak-white-s29417654/
- Interior Office Chair: https://secretlab.sg/products/titan-evo-2022-series?sku=M07-E24PU-ASHHH1R
- Interior Wardrobe: https://www.ikea.com/sg/en/p/musken-wardrobe-with-2-doors-3-drawers-white-50378684/
- Interior Fridge: https://www.harveynorman.com.sg/home-appliances/kitchen-appliances-en/fridges/bosch-fridge-kfn96axea.html
- Interior Induction Stove: https://www.electrolux.com.sg/appliances/stoves-hobs/ehi8255be/
- Interior Pots And Pans: https://hexclad.com/products/pots-and-pans-set
- Interior Kitchen Cabinets: https://www.thesimsresource.com/downloads/details/category/sims4-sets-objects-kitchen/title/dream-kitchen-set-pt-1/id/1680892/
- Train Station: https://en.wikipedia.org/wiki/Caldecott_MRT_station#/media/File:CC17_TE9_Caldecott_MRT_Exit_1_20210826_191019.jpg
- HDB Void Deck: https://www.99.co/singapore/insider/3-ways-can-revive-dying-void-deck-culture/
- Bus: https://allabout.city/singapore/public-buses-in-singapore/
-
Substance 3D Community Assets: All Rights Reserved
Modelling/Sources/Substance
- Tiles (Outside Flooring, a la 2020 Toa Payoh Central): "Stone ground tiles stylized" by Joppe Monnens
https://substance3d.adobe.com/community-assets/assets/96395b29a3b8db6eca34efaa1ca37bfa379eb4b4 - Interior HDB - Wood: "sand stylized" by BlenderGames 3D
https://substance3d.adobe.com/community-assets/assets/c39ed6d6cf150c54eeb1944ae90470ab6ac4405d - General HDB - Concrete (Walls): "Concrete 085" by Baptiste Manteau
https://substance3d.adobe.com/community-assets/assets/be8c895f6ebcefeb7a8af0fb37ce3c8cce2134d7 - Structural/Bus Stop - Metal: "Steel Painted" by Marion Marchive
https://substance3d.adobe.com/community-assets/assets/6a37fff956f47d7726983f4cba2292dd933347e5 - Vehicle - Metal (Body): "Iron Shiny" by Marion Marchive
https://substance3d.adobe.com/community-assets/assets/ea94640430c84e7217dc55702922a6998cb9eea9 - Vehicle - Rubber (Wheels): "used rubber" by Jabarri Mitchell
https://substance3d.adobe.com/community-assets/assets/c68b4bc648fc56b8275ff1d19adb3d630ce57020
- Tiles (Outside Flooring, a la 2020 Toa Payoh Central): "Stone ground tiles stylized" by Joppe Monnens
-
RL Madena by Roughline Types [sota staircase Logo Font]: OFL-1.1
not shipped with the repo directly, but they're cool people! -
GO Darkslide by griptype (from studio ¡muchogusto!) [Running Late Logo Font, 'Running Portion'']: OFL-1.1
RunningLateGame/Assets/UI Toolkit/RLFonts/GODarkslide
-
GO Freakout by griptype (from studio ¡muchogusto!) [Running Late Logo Font, 'Late' Portion]: OFL-1.1
not shipped with the repo directly, but they're cool people! -
Fervojo by Reiya Watanabe (kohakuno) [General Body Font in Game and Figma Prototype]: OFL-1.1
RunningLateGame/Assets/UI Toolkit/RLFonts/Fervojo