Skip to content

Instantly share code, notes, and snippets.

@Apexal
Created July 17, 2023 22:48
Show Gist options
  • Save Apexal/3b4d765449efd6dce1aa8921a9571921 to your computer and use it in GitHub Desktop.
Save Apexal/3b4d765449efd6dce1aa8921a9571921 to your computer and use it in GitHub Desktop.

Wrathskeller 2 Proposal

Vision

You open a webpage and are prompted to login with Google. You're then asked to upload or take a full-body picture. It shows you the proper pose to make sure everything is visible. You take/upload the image and after just seconds, in front of your eyes, the background of the image disappears, and the image of you BLINKS and raises its hand in a wave at you. Controls appear on the screen and you find you are able to control your character walking, running, jumping, and attacking in different ways (punches, kicks, etc.). The background turns into a parallax background of some street scene, and enemy characters appear on the right and start charging you! You hit a button on your keyboard (or controller!) and your character taunts on screen before running into the fray. Everytime you take a hit, your character reacts and your controller (if using one) vibrates. You eventually clear the stage and your character jumps for joy before.

Milestones

Since this is very technically complex and spans different technologies, we can work up to the final version through incremental milestones. Here are descriptions of the milestones where each builds upon the previous, we can break them into actionable tasks later.

Milestone 1

You can login to the webapp with Google. You are prompted to upload or take an image. It correctly segments the person versus the background and labels each body part.

Milestone 2

A character rig is created for the image and the segmented body parts are mapped to bones in the rig with joints at the proper locations.

Milestone 3

Pre-made animations are runnable on the dynamically created character rigs. You can watch a walk animation play on an uploaded image.

Milestone 4

A game engine is able to load the character, rig, and animations into a game and play them in the game. Controls are wired up to the character entity.

Milestone 5

A basic game flow exists where a created character player has health, attacks, movements. Pre-created enemy characters exist and can be fought on a static level.

Technologies

Backend

Supabase provides a generous free tier with managed Postgres (with a great table and data editor), authentication, security rules, file storage, and edge functions. Which means we can fetch/store generated characters and have logins without rolling our own server.

TBC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment