# Goopler An in-dev game that I plan to make a shooter game out of. --- > For goop we live, for goop we die. — reidlab # Setup ### Installing `yarn install` ### Using `yarn watch` and `yarn serve`, followed by a connection to Rojo. ### Deployment When you first setup this repository, you probably want to add your `.ROBLOSECURITY` cookie along with `MANTLE_AWS_ACCESS_KEY_ID` and `MANTLE_AWS_SECRET_ACCESS_KEY` into the `.env` file for automatic deployment with [Mantle](https://mantledeploy.vercel.app/). You should also change the bucket names in [`./github/workflows/deploy.yml`](./github/workflows/deploy.yml). The thing is, your `.ROBLOSECURITY` cookie is locked to your region, so depending on what country you get from github actions, your deployment will fail. I recommend adding a self-hosted runner. # Hacks * I get a strange error about private identifiers in [`./src/ReplicatedStorage/ecs/state.ts`](./src/ReplicatedStorage/ecs/state.ts) * I decided to omit the "TS" folder from [`./default.project.json:40`](./default.project.json) due to the script override not working in Health.server.ts in StarterCharacterScripts. # Todo ### High priority * Fix automatic deployment. `.ROBLOSECURITY` is region locked, so we have to change our region somehow. In the morning, I'm gonna follow this guide: https://github.com/reidlabwastaken/goopler/settings/actions/runners/new?arch=arm64&os=linux, and do this shit with my raspberry pi * Add tests * Add guns. Try it in default roblox-ts and slowly reimplement it into our component system #### Medium priority * Crouching * Animations * Change remote state to a provider where I dont have to worry about money * Seperate dev&prod environments (maybe later??? the game is very early stage so idk) * Migrate todo to somewhere else like the issues tab ##### Low priority * Camera bobble * Add the bound tags in [`./src/ReplicatedStorage/ecs/boundTags.ts`](./src/ReplicatedStorage/ecs/boundTags.ts) * Cooler sprinting!! (Tween fov and speed) * Crouching? # Fixes ### High Priority * Currently, when resetting, sometimes your health goes back up. This is due to the reconciliation of health. Simply put, your health is not being set to zero inside of our entity component system, due to us not having the reset event currently like that. See it here: [StarterGui.SetCore](https://create.roblox.com/docs/reference/engine/classes/StarterGui#SetCore) It uses BindableEvents and stuff idk #### Medium priority ##### Low priority