Giter VIP home page Giter VIP logo

universe's People

Contributors

ifiokjr avatar

Stargazers

 avatar  avatar  avatar  avatar

universe's Issues

fork and integrate basic version of `wired_elements`

Developer Story

As a developer, I want to be able to use hand drawn ui elements so that I can create a unique look and feel for the game.

Description

Add forked wired_elements code to the project. Over time improve the quality of the widgets to match the needs of the game.

In the future these changes can either be upstreamed to the original project or the project can be forked and maintained separately.

add rotation tracking from `sensors_plus`

User Story

As a developer of the game, I want to be able to track the rotation of the device, so that I can use it to control the character

Description

The main premise of this game is to make it possible to control your character using unconventional means. The first of these is to use the rotation of the device to control the character.

No libraries are support directly, so it needs to be implemented from scratch.

Track rotations using the gyroscope and accelerometer via sensors_plus.

The tracking should support two modes:

  • With the phone face up on a surface, a full rotation would involve rotating the phone 360 degrees flush with the surface.
  • With the phone face up on a surface facing you (in portrait mode) a full rotation would involve rotating the phone along the long edge (left โ†’ right or right โ†’ left) so it's face down on the surface and then doing so again, so it is face up on the surface.

There is another rotation type, but it's a very difficult motion to accomplish.

choose game platform for SpinnyBox 2D

Description

Decided on the tech stack for the game.

The choice is between:

Godot

Positives

  • Option to use rust for the game logic, which would allow using rust across the stack.
  • Provides a user interface for putting the game together.
  • Used in many games, so very stable and well-supported.

Negatives

  • Slow build times
  • No hot reloading
  • Annoying to deploy to mobile (requires a lot of setup)
  • Not good for the general game UI.
  • Very hard to build native iOS and Android apps functionality (e.g. rotation tracking).
  • gdnative uses a lot of unsafe code.
  • Creating a UI is difficult

Flutter

Positives

  • Hot reloading.
  • Very intuitive native plugin API.
  • Huge community.
  • User interface design is straightforward and well documented.
  • Fast build times.

Negatives

  • No user interface for flame (the game engine).
  • No 3D support.

Decision

I've decided to work with flutter due to the speed of iteration at this point. Although I've set up a godot sample project, I won't use it for the first 2D game.

In the future, I plan to work on a 3D version of SpinnyBox and this is where godot may shine. I'll also be monitoring the progress of gdextension.

setup basic gameplay

Description

Player should be visible with a character and a simple background.

create screen for rotation gesture validation

Description

The core of this game is the idea that rotating the phone to move the character is fun and works consistently across phones.

I've been able to get a basic version working on my phone, but I'm not certain that it works on all devices.

  • create a "Test Rotations Screen"
  • on this screen show a record button to track recognizable gestures
  • walk users through checking that their phone can recognize the valid gestures
  • record the data that is produced (with permission) and track the level of support across devices

add game obstacles

Descriptions

The user should be able to avoid obstacles in the game.

Obstacles are generated based on the random key the game was generated with.

Each player motion should fire an action that can be sent to the server so that games are fully replayable (this also opens the possibility of multiplayer and spectator mode).

setup google ads account for `iOS`

Developer Story

As a developer
I want to be able to add google ads to the app
So that I can make monetize gameplay

Description

  • Create a google ads account and add it to the game.
  • Add basic advert to the game finished screen.
  • Set the a random frequency of adverts appearing.

create game over screen ui

User Story

As a user, I want to see a game over screen when the game ends so that I can easily restart, see my score and exit.


Screenshots

rotate to move character left and right in game

User Story

As a user
I want to rotate my phone to the left and right
So that the character moves to the left and right

Description

The player should move to the left and right in response to rotation gestures from a user.

implement background image component

There should be a background component for the home page.

  • It should be able to take child components.
  • It should be full width and have a minimum height of a full page.

move dns to cloudflare

Description

I want to use spinnybox.com as the domain name, but the current domain registrar doesn't support top level CNAME domains.

Rather than use www I'll switch the DNS to cloudflare and setup the railway deployment to use spinnybox.com.

integrate codemagic into github ci

Description

  • codemagic builds should only be triggered if the CI passes
  • add flutter lint and format checks to the github workflows build

atomic css compiler for rust

Description

There are no atomic CSS tools built for rust.

I want to revisit skribble as I'm becoming increasingly frustrated styling the website with other tools.

create settings screen ui

User Story

As a user, I want to be able to update my settings, like sound volume, music volume and tutorial visibility so that I can customise my game experience.


Screenshots

create main screen ui

User Story

As a user, I want to be greeted with a designed main screen so that I can easily start a new game.

Screenshots


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.