Hide and Squeak

Hide and Squeak

14 devlogs
23h 35m
•  Ship certified
Created by Mish

Run your own town-scale IRL hide and seek game - set up games, share with your friends, and have a good time!

Timeline

Ship 1

1 payout of shell 539.0 shells

Mish

about 2 months ago

Mish Covers 14 devlogs and 23h 35m
Earned sticker

I made some small improvements to make the UI nicer to use in preparation for shipping an MVP:
* Add some extra text to the current-game debug screen
* Add a button to leave the game (in the future I'll have proper user accounts for managing this stuff)
* Show the game you're in at the top of the app

Update attachment
Earned sticker

I fixed the development instructions so that they work without any troubleshooting required on a new machine. I also organised the components into their own folders.

Update attachment
Earned sticker

I deployed the project to has.slevel.xyz! This involved a lot of struggling with Docker images and deployments, but I got it to work in the end.

Other improvements:
* Added a location indicator and a button to show your location
* Added a button to the map screen to zoom to the game bounds
* Improved README file (deployment instructions)
* Started work on a better bounds selector (shelved for now)

Update attachment
Mish
Mish
2h 57m 4 months ago

I've implemented game creation, and displaying a game's area on the Map screen! Also added a temporary game info screen, and a splash Map screen for when you're not in a game.

Update attachment

The Docker image is on Docker Hub now!

Update attachment
Mish
Mish
7h 13m 4 months ago

I've been working on actually dockerising the app! I started off wanting to have the frontend and backend as separate containers, then I realised I needed to just have one container to fit the requirements for the Dockerise YSWS, so I did that.

I spent a lot of time debugging issues with running yarn install inside Docker containers, and generally learning how to deploy Node.js apps in Docker. It seems to all work now though! Next steps: properly test it, write deployment instructions, publish to Docker Hub

Update attachment

Added a dummy Create a game screen, and updated the database to use PostGIS. Also researched different coordinate systems (EPSG 4326 vs EPSG 3857) and decided to use 3857. Wrote a procedure for creating a game that takes in GeoJSON.

Update attachment

Tried using Prisma's experimental PostgreSQL extensions feature, but it didn't seem to do anything, so I dropped it.

Update attachment

I integrated the tabs component into the UI! It mostly worked first try, but I had to ensure I was using the checked attribute (not selected) and move the .tabs.tabs-box markup outside of the Tabs component

Update attachment

Learnt how to use Context with Voby to make a tabs component. Haven't tested it yet, so fingers crossed it works as I expect it to!

Update attachment

I managed to add data to the database for the first time!

I wrote TSX for the form fields, some TypeScript that uses tRPC to send the data to the backend, and then the backend uses Prisma to add the player to the game in the database. I'm very happy to see it all working!

Update attachment
Mish
Mish
2h 18m 5 months ago

I've implemented a bottom navigation bar that can switch between screens, and a tRPC API that will be used as the backend for the app.

I also added a join a game splash screen (doesn't function yet)

Update attachment

Added Tailwind and daisyUI to the project. Used the theme builder to create a slightly-customised theme for the app, and then modified it to create a dark theme too.

Update attachment

The journey begins! I initialized a Voby project using the PWA template, created a tsconfig.json (because apparently the template doesn't include that?!), customised all the branding to be Hide and Squeak and used @vite-pwa/assets-generator to generate icons.

Then I turned the whole thing into a monorepo, ready for a backend folder to be created :O

Next step: Either adding Tailwind (with shadcn/ui or daisyUI) or deciding how to do the backend (Node.JS I guess)

Update attachment