2024-07-11 08:25:59 +00:00
< p align = "center" width = "100%" >
2024-07-14 10:11:37 +00:00
< img width = "50%" src = "Design/Exports/ss-logo-alt-horizontal-bordered-on_dark.svg" alt = "sota staircase Horizontal Logo" >
2024-07-11 08:25:59 +00:00
< / p >
2024-07-14 10:11:37 +00:00
# The sota staircase Mono-repository
2024-07-11 08:25:59 +00:00
Primary Repository: < https: / / forge . joshwel . co / mark / sota >
Submission Mirror: < https: / / github . com / markjoshwel / sota >
2024-07-14 10:11:37 +00:00
| **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 |
2024-07-11 08:25:59 +00:00
- [Handbook ](#handbook )
2024-07-14 19:54:14 +00:00
- [on 3D Modelling (Maya, Blender, ZBrush, etc.) ](#on-3d-modelling-maya-blender-zbrush-etc )
- [on Graphic and UI/UX Design ](#on-graphic-and-uiux-design )
- [on Game Development ](#on-game-development )
- [on Game and Level Design ](#on-game-and-level-design )
- [on Documentation (for All Modules) ](#on-documentation-for-all-modules )
- [on Repository Syncing ](#on-repository-syncing )
- [Syncing to GitHub via ReStepper ](#syncing-to-github-via-restepper )
- [SideStepper and the .sotaignore file ](#sidestepper-and-the-sotaignore-file )
2024-07-11 08:25:59 +00:00
- [Licence and Credits ](#licence-and-credits )
2024-07-14 19:54:14 +00:00
- [Third-party Licences ](#third-party-licences )
2024-07-11 08:25:59 +00:00
## Handbook
### on 3D Modelling (Maya, Blender, ZBrush, etc.)
2024-07-14 10:11:37 +00:00
| Lead | Sai |
|:----:|:---:|
2024-07-11 08:25:59 +00:00
design-as-in-modelling your assets with modularity in mind, anything that can
be modular should be modular
2024-07-14 19:54:14 +00:00
design-as-in-look should be checked with the group
2024-07-11 08:25:59 +00:00
structure your files similarly:
```text
Modelling
├── Sources
│ ├── < Asset Name > .blend
│ └── < Asset Name > (Maya Project Directory)
│ ├── ...
│ └── workspace.mel
├── Textures
│ └── < Asset Name >
│ ├── *.png
│ └── ...
2024-07-27 18:27:49 +00:00
└── Exports
├── Modulars
│ ├── < Asset Name > _lowpoly
│ └── < Asset Name > _highpoly
└── Heroes
├── < Asset Name > _lowpoly
│ └── *.fbx
└── < Asset Name > _highpoly
2024-07-11 08:25:59 +00:00
```
### on Graphic and UI/UX Design
| Lead | Mark |
2024-07-14 10:11:37 +00:00
|:----:|:----:|
2024-07-11 08:25:59 +00:00
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 |
2024-07-14 10:11:37 +00:00
|:----:|:----:|
2024-07-11 08:25:59 +00:00
1. make changes
2. make sure the language checker isn't nagging you
(spelling and grammatical errors)
3. make sure intellisense isn't nagging you
(variable/class naming conventions, etc.)
4. reformat using rider's **Reformat and Cleanup Code** function,
using the **Built-in: Full Cleanup** profile
![example ](Documentation/Examples/reformat.png )
2024-07-14 10:11:37 +00:00
5. push **to the forge** , or branch off and make a pull request if there are conflicts
2024-07-11 08:25:59 +00:00
### on Game and Level Design
2024-07-14 10:11:37 +00:00
| Lead | kinda everyone more so mark |
|:----:|:---------------------------:|
2024-07-11 08:25:59 +00:00
2024-07-22 09:38:02 +00:00
for this, discuss with the group; either through the telegram group or through an issue
2024-07-11 08:25:59 +00:00
on [the forge ](https://forge.joshwel.co/mark/sota/issues )
### on Documentation (for All Modules)
2024-07-14 10:11:37 +00:00
| Lead | kinda everyone more so mark |
|:----:|:---------------------------:|
2024-07-11 08:25:59 +00:00
2024-07-14 10:11:37 +00:00
source files (.docx, .fig, etc.) should be in the respective modules' directory,
2024-07-11 08:25:59 +00:00
and then exported as .pdfs to `Documentation/*.pdf`
### on Repository Syncing
| Wizard | Mark |
2024-07-14 10:11:37 +00:00
|:------:|:----:|
2024-07-11 08:25:59 +00:00
2024-07-14 19:54:14 +00:00
#### Syncing to GitHub via ReStepper
2024-07-11 19:15:27 +00:00
instructions:
2024-07-11 08:25:59 +00:00
2024-07-11 19:15:27 +00:00
```text
2024-07-14 19:54:14 +00:00
python sync.py
2024-07-11 19:15:27 +00:00
```
2024-07-14 19:54:14 +00:00
if it screams at you, fix them
2024-07-11 19:15:27 +00:00
if it breaks, refer to the resident "wizard"
2024-07-11 08:25:59 +00:00
2024-07-11 19:15:27 +00:00
for what the script does, see the script itself: [sync.py ](sync.py )
2024-07-11 08:25:59 +00:00
2024-07-14 19:54:14 +00:00
##### 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
2024-07-28 15:37:49 +00:00
the following command line flags can be used:
2024-07-14 19:54:14 +00:00
- `--skipsotaignoregen`
skips generating a `.sotaignore` file,
useful if you _know_ you've already generated one beforehand
- `--test`
2024-07-22 09:38:02 +00:00
does everything except actually pushing to GitHub
2024-07-14 19:54:14 +00:00
2024-07-28 15:37:49 +00:00
- `--dupethelongway`
duplicates the repository wholly, disrespecting any .gitignore files
2024-07-14 19:54:14 +00:00
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
2024-07-22 09:38:02 +00:00
to GitHub, and should be in the root of the repository
2024-07-14 19:54:14 +00:00
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:
```text
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 ](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 false
2024-07-22 09:38:02 +00:00
hilariously, it's ~4-5x slower than single-threaded file finding, but the option
2024-07-14 19:54:14 +00:00
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)
2024-07-28 15:37:49 +00:00
the following command line flags can be used:
2024-07-14 19:54:14 +00:00
- `--parallel`
same behaviour as setting the `SOTA_SIDESTEP_PARALLEL` environment variable
2024-07-11 19:15:27 +00:00
## Licence and Credits
2024-07-11 08:25:59 +00:00
2024-07-22 09:38:02 +00:00
"NP resources" hereby refers to resources provided by Ngee Ann Polytechnic (NP) for use
in student work during the course of our study
2024-07-11 08:25:59 +00:00
2024-07-11 19:15:27 +00:00
1. software source code
2024-07-11 08:25:59 +00:00
2024-07-14 10:11:37 +00:00
software source code, unless otherwise stated, is licenced under the 0BSD licence.
2024-07-11 19:15:27 +00:00
for more information, see [LICENCE.0BSD ](LICENCE.0BSD )
2024-07-11 08:25:59 +00:00
2024-07-14 10:11:37 +00:00
considering how many YouTube tutorials were used on ryan's end,
I doubt we extensively used NP resources
2024-07-11 08:25:59 +00:00
2024-07-11 19:15:27 +00:00
2. models made with ["extensive use of NP resources" ](https://www.np.edu.sg/student_ip ):
2024-07-22 09:38:02 +00:00
specifically, coming from or in part has had the following software and/or
2024-07-11 19:15:27 +00:00
services involved:
2024-07-14 19:54:14 +00:00
- Autodesk Maya
- Adobe Substance 3D
- Substance 3D Modeler
- Substance 3D Sampler
- Substance 3D Designer
- Substance 3D Painter
- Substance 3D Stager
- Substance 3D Assets
2024-07-22 09:38:02 +00:00
would have all rights reserved, unless otherwise stated
2024-07-11 19:15:27 +00:00
(_i mean mr q said this already lol_)
2024-07-14 10:11:37 +00:00
the only exception to this is if the model was made in blender and doesn't
2024-07-11 19:15:27 +00:00
touch substance painter, in which it falls under the modified unsplash licence
noted below
2024-07-14 10:11:37 +00:00
3. whatever is left
2024-07-11 19:15:27 +00:00
everything else, from assets to documentation, unless otherwise stated,
is licenced under a modified unsplash licence.
for more information, see [LICENCE.UNSPLASH ](LICENCE.UNSPLASH )
2024-07-11 08:25:59 +00:00
2024-07-11 19:15:27 +00:00
**disclaimer** : the creative lead (mark) has been using adobe software even
[before enrolling into np ](https://github.com/markjoshwel/portfolio-eae/blob/main/public/assets/skill-adobe.png ),
2024-07-22 09:38:02 +00:00
so whether it is "extensive use" is fair game lol
2024-07-11 08:25:59 +00:00
2024-07-14 10:11:37 +00:00
(_also yea I don't really have a better example than my eae portfolio oops_)
2024-07-11 08:25:59 +00:00
### Third-party Licences
2024-07-14 10:11:37 +00:00
exceptions to the above licences are as follows:
2024-07-11 08:25:59 +00:00
2024-07-27 18:27:49 +00:00
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
---
2024-07-22 10:34:07 +00:00
2024-08-01 14:09:08 +00:00
- Various References: All Rights Reserved
`Modelling/3RT_RunningLate_PureRef.pur`
2024-07-27 18:27:49 +00:00
- 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/
2024-07-29 18:29:22 +00:00
- Train Station: https://en.wikipedia.org/wiki/Caldecott_MRT_station#/media/File:CC17_TE9_Caldecott_MRT_Exit_1_20210826_191019.jpg
2024-07-31 08:19:16 +00:00
- HDB Void Deck: https://www.99.co/singapore/insider/3-ways-can-revive-dying-void-deck-culture/
2024-07-31 08:24:02 +00:00
- Bus: https://allabout.city/singapore/public-buses-in-singapore/
2024-08-10 22:35:09 +00:00
- 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
- [RL Madena ](https://roughlinestype.gumroad.com/l/cmadnk ) by [Roughline Types ](https://www.instagram.com/roughlines.id/ ) \[sota staircase Logo Font]: OFL-1.1
_not shipped with the repo directly, but they're cool people!_
- [GO Darkslide ](https://fontesk.com/go-darkside-font/ ) by [griptype ](https://www.instagram.com/griptypebymuchogusto/ ) (from [studio ¡muchogusto! ](https://www.instagram.com/studiomuchogusto/ )) \[Running Late Logo Font, 'Running' Portion]: OFL-1.1
`RunningLateGame/Assets/UI Toolkit/RLFonts/GODarkslide`
- [GO Freakout ](https://fontesk.com/go-freakout-font/ ) by [griptype ](https://www.instagram.com/griptypebymuchogusto/ ) (from [studio ¡muchogusto! ](https://www.instagram.com/studiomuchogusto/ )) \[Running Late Logo Font, 'Running' Portion]: OFL-1.1
_not shipped with the repo directly, but they're cool people!_
- [Fervojo ](https://www.behance.net/gallery/167977473/Fervojo-Free-Font ) by [Reiya Watanabe (kohakuno) ](https://www.behance.net/kohakuno ) \[General Body Font in Game and Figma Prototype]: OFL-1.1
`RunningLateGame/Assets/UI Toolkit/RLFonts/Fervojo`