diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..e3389d2 --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +ROBLOXSECURITY="_|WARNING:-DO-NOT-SHARE-THIS.--Sharing-this-will-allow-someone-to-log-in-as-you-and-to-steal-your-ROBUX-and-items.|youReallyThoughtBuddy" \ No newline at end of file diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..a4406d4 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,35 @@ +name: Deploy +on: + pull_request: + push: + +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Set Node.js 16.x + uses: actions/setup-node@v3 + with: + node-version: 16.x + + - name: Run install + uses: borales/actions-yarn@v4 + with: + cmd: install # will run `yarn install` command + + - name: Install aftman + uses: ok-nick/setup-aftman@v0.3.0 + + - name: Build + uses: borales/actions-yarn@v4 + with: + cmd: build # will run `yarn build` command + + - name: Deploy project + run: mantle deploy -e default + env: + ROBLOSECURITY: ${{ secrets.ROBLOSECURITY }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 514e65b..f8adf0c 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,7 @@ build.rbxl /__MACOSX # logs -*.log \ No newline at end of file +*.log + +# my secrets 😍😎 +.env \ No newline at end of file diff --git a/.mantle-state.yml b/.mantle-state.yml new file mode 100644 index 0000000..4792ed2 --- /dev/null +++ b/.mantle-state.yml @@ -0,0 +1,147 @@ +# +# WARNING - Generated file. Do not modify directly unless you know what you are doing! +# This file was generated by Mantle v0.11.9 on 2023-07-28T05:39:43Z +# + +--- +version: "5" +environments: + default: + - id: experience_singleton + inputs: + experience: + groupId: ~ + outputs: + experience: + assetId: 4919579554 + startPlaceId: 14220563181 + dependencies: [] + - id: place_start + inputs: + place: + isStart: true + outputs: + place: + assetId: 14220563181 + dependencies: + - experience_singleton + - id: placeFile_start + inputs: + placeFile: + filePath: build.rbxl + fileHash: c50f3cab2ad5329bf577def16daa40733462b5e517ab7544b9c6aa711d835d7f + outputs: + placeFile: + version: 3 + dependencies: + - place_start + - id: placeConfiguration_start + inputs: + placeConfiguration: + name: Goopler + description: Read my github repo reidlabwastaken/goopler if u can hahaha + maxPlayerCount: 100 + allowCopying: false + socialSlotType: Automatic + customSocialSlotsCount: ~ + outputs: placeConfiguration + dependencies: + - place_start + - id: experienceThumbnail_marketing/gameThumbnailDefault.jpg + inputs: + experienceThumbnail: + filePath: marketing/gameThumbnailDefault.jpg + fileHash: 882e683c5a0c7c289ca30f533cd966c5b9d974b864261a7ae6a9b4cf190487c4 + outputs: + experienceThumbnail: + assetId: 62547342 + dependencies: + - experience_singleton + - id: experienceThumbnailOrder_singleton + inputs: experienceThumbnailOrder + outputs: experienceThumbnailOrder + dependencies: + - experienceThumbnail_marketing/gameThumbnailDefault.jpg + - experience_singleton + - id: experienceIcon_singleton + inputs: + experienceIcon: + filePath: marketing/gameIcon.jpg + fileHash: 229781022c91dbcc7a20fefc5f9ad36db3015c68268060045e0a6f893210cb6b + outputs: + experienceIcon: + assetId: 43779451 + dependencies: + - experience_singleton + - id: experienceConfiguration_singleton + inputs: + experienceConfiguration: + genre: FPS + playableDevices: + - Computer + isFriendsOnly: true + allowPrivateServers: true + privateServerPrice: 50 + isForSale: false + price: ~ + studioAccessToApisAllowed: true + permissions: + IsThirdPartyPurchaseAllowed: false + IsThirdPartyTeleportAllowed: false + universeAvatarType: MorphToR6 + universeAnimationType: PlayerChoice + universeCollisionType: OuterBox + universeAvatarMinScales: + height: "0.9" + width: "0.7" + head: "0.95" + bodyType: "0" + proportion: "0" + universeAvatarMaxScales: + height: "1.05" + width: "1" + head: "1" + bodyType: "1" + proportion: "1" + universeAvatarAssetOverrides: + - assetTypeID: 18 + isPlayerChoice: true + assetID: ~ + - assetTypeID: 17 + isPlayerChoice: true + assetID: ~ + - assetTypeID: 27 + isPlayerChoice: true + assetID: ~ + - assetTypeID: 29 + isPlayerChoice: true + assetID: ~ + - assetTypeID: 28 + isPlayerChoice: true + assetID: ~ + - assetTypeID: 30 + isPlayerChoice: true + assetID: ~ + - assetTypeID: 31 + isPlayerChoice: true + assetID: ~ + - assetTypeID: 2 + isPlayerChoice: true + assetID: ~ + - assetTypeID: 11 + isPlayerChoice: true + assetID: ~ + - assetTypeID: 12 + isPlayerChoice: true + assetID: ~ + isArchived: false + outputs: experienceConfiguration + dependencies: + - experience_singleton + - id: experienceActivation_singleton + inputs: + experienceActivation: + isActive: false + outputs: experienceActivation + dependencies: + - experience_singleton diff --git a/aftman.toml b/aftman.toml index bf4433e..4446b13 100644 --- a/aftman.toml +++ b/aftman.toml @@ -4,4 +4,5 @@ # To add a new tool, add an entry to this table. [tools] rojo = "rojo-rbx/rojo@7.3.0" -run-in-roblox = "rojo-rbx/run-in-roblox@0.3.0" \ No newline at end of file +run-in-roblox = "rojo-rbx/run-in-roblox@0.3.0" +mantle = "blake-mealey/mantle@0.11.9" \ No newline at end of file diff --git a/mantle.yml b/mantle.yml new file mode 100644 index 0000000..ae608bd --- /dev/null +++ b/mantle.yml @@ -0,0 +1,23 @@ +environments: + - label: default + +target: + experience: + icon: marketing/gameIcon.jpg + thumbnails: + - marketing/gameThumbnailDefault.jpg + configuration: + genre: fps + playableDevices: [computer] + privateServers: + price: 50 + enableStudioAccessToApis: true + avatarType: r6 + places: + start: + file: build.rbxl + configuration: + name: Goopler + description: |- + Read my github repo reidlabwastaken/goopler if u can hahaha + maxPlayerCount: 100 \ No newline at end of file diff --git a/marketing/gameIcon.jpg b/marketing/gameIcon.jpg new file mode 100644 index 0000000..421e826 Binary files /dev/null and b/marketing/gameIcon.jpg differ diff --git a/marketing/gameThumbnailDefault.jpg b/marketing/gameThumbnailDefault.jpg new file mode 100644 index 0000000..df0d667 Binary files /dev/null and b/marketing/gameThumbnailDefault.jpg differ diff --git a/package.json b/package.json index eb8d230..2368882 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,8 @@ "watch": "rbxtsc -w --rojo default.project.json --verbose", "lint": "eslint src tests --max-warnings 0", "serve": "rojo serve default.project.json", - "test": "yarn run build && run-in-roblox --place build.rbxl --script out/tests/runners/run.server.lua" + "test": "yarn run build && run-in-roblox --place build.rbxl --script out/tests/runners/run.server.lua", + "deploy": "yarn run build && mantle deploy -e default" }, "devDependencies": { "@rbxts/compiler-types": "^2.1.1-types.0", diff --git a/readme.md b/readme.md index f91ab30..8c7cc25 100644 --- a/readme.md +++ b/readme.md @@ -7,6 +7,9 @@ An in-dev game that I plan to make a shooter game out of. — reidlab +# Setup +When you first setup this repository, you probably want to add your `.ROBLOSECURITY` cookie into the `.env` file for automatic deployment with [Mantle](https://mantledeploy.vercel.app/). You also should change the ID of the game. + # 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. @@ -18,6 +21,8 @@ An in-dev game that I plan to make a shooter game out of. #### Medium priority * Crouching * Animations +* 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) diff --git a/src/Workspace/NotABasePart.rbxmx b/src/Workspace/NotABasePart.rbxmx new file mode 100644 index 0000000..93a1d9c --- /dev/null +++ b/src/Workspace/NotABasePart.rbxmx @@ -0,0 +1,118 @@ + + true + null + nil + + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + + 19 + 2.00000119 + 22 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + true + Default + 0 + 4288914085 + + false + + false + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + false + false + 256 + + NotABasePart + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + 0 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + -1 + RXhhbXBsZQ== + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + 1 + 1 + + 4 + 4 + 4 + + + + + + + 1 + 1 + 1 + + 5 + Remilia Scarlet deka fumo + 9961773472 + + http://www.roblox.com/asset/?id=9961773438 + 0 + 1 + + + + \ No newline at end of file