Git Product home page Git Product logo

spacey's Introduction

Hi there ๐Ÿ‘‹ my name is Josca.

Welcome on my GitHub Page. I am a female Web Developer, freelance online editor and an MBA student in digital and media managment based in Hamburg.

I learned to code at the neue fische bootcamp ๐Ÿ  in summer 2020 and fell I love with game development ๐ŸŽฎ I created my own little game Spacey in just one month from scratch and with vanilla Javascript.


Languages and Librarys

html5 css3 javascript react nodejs express bootstrap

Tools

git mongodb heroku postman photoshop xd


My Stats

JoscaWij's github stats Top Langs


More about me:

๐Ÿ‘ฉโ€๐Ÿ’ป I started programming in 2020 and love it. In this article you can read all about my experience at the neue fische bootcamp.

๐Ÿ‘ฉโ€๐ŸŽ“ In 2021 I will major in digital and media managment with the focus von data analysis and social media marketing.

โœจ I love to express my creativity in coding creative projects or writing.

๐ŸŽฎ In my sparetime I love gaming - especially RPGs with a good and engaging story.

๐Ÿ‘จโ€๐Ÿš€ So it shouldn't be a surprise that I am working on my own game called Spacey

Readme Card


Get in Contact

๐Ÿ–‹ LinkedIn

spacey's People

Contributors

dependabot[bot] avatar joscawij avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

spacey's Issues

Game physics friction

User Story

As a developer
I need to implement friction that the player can move correctly

Description

  • Player sould stop the movement on its own
  • Player walks like he is sliding on ice without friction
  • Player would slide of the plattforms on its own

Material

To do's:

  • create a constant friction
  • implement friction in movement / speed of the player (playerWalk-function)

Game physic gravity

User Story

As a developer
I need to implement grafity
that the player falls from plattforms and returns to the ground when jumping

Description

  • Gravity-constant that reduces the yPlacement of the character constantly

Material

https://www.w3schools.com/graphics/game_gravity.asp

To do's:

  • constant gravity
  • implement gravity in jumping movement

Planet / ground graphic

User Story

As a player
I want the ground to have a texture
to make clear where the player is

Description

  • Rocky / asteroid
  • scalable SVG of a planetlandscape in comic style

Material

Planet

To do's:

  • create SVG in Photoshop

Basic movement (horizontal)

User Story

As a player
I want move the character to play the game

Description

  • Basic movement: right, left
  • Movement with -> and <- keys

Material

  • keypress event
  • keycodes

To do's:

  • keycodes for the two arrow keys
  • setup a playerWalk function
  • add keylistener events and decrease / increase xPlacement-value of the player

Draw basic platforms

User Story

As a developer
I want easy way to "draw" all plattforms with one function

Description

  • Function
  • The function "gets" an array with the x & y-placement of the object and the width
  • height should be the same for all plattforms
  • Draw rectangle

Material

https://reactjs.org/docs/hooks-custom.html

To do's:

  • set up an array with the numbers per object in the array
  • create function

React router

User Story

As a developer
I need to implement routes
to have different pages

Description

  • react-router-dom
  • Route 1: home / menu
  • Route 2: game

Material

https://www.npmjs.com/package/react-router-dom

To do's:

  • npm install react-router-dom
  • setup Router / Switch / Routes to place the components into

Startscreen / Intro of the game

User Story

As a player
I need to know whats the game is about and which keys I can use (another issue)

Description

  • floating popup screen?
  • little storytelling intro
  • keys to use
  • keys should look like, like they are pressed

Material

To do's:

  • write intro-text
  • new component
  • add images of keys
  • add "weiter"-key

Basic movement (vertical, jumping)

User Story

As a player
I want to jump with the character to play the game

Description

  • Basic movement: up
  • Movement with up-key

Material

  • keypress event
  • keycodes

To do's:

  • keycode for the arrow keys
  • setup a playerWalk function
  • add keylistener events and decrease / increase yPlacement-value of the player

Main Menu

User Story

As a player
I want to be welcomed before the game starts

Description

  • Main Menu with stars in the background

Material

image

To do's:

  • create new component
  • Add Game-Name
  • Add picture
  • add button
  • link buttons to page
  • CSS

Hitting the ground - floor value

User Story

As a developer
I must implement a ground-level so my character can stand on something

Description

  • Floor constant that contains the hight of the ground
  • Player should be standing on the ground
  • Player should land on the ground after jumping (preparation for jumping function)

Material

https://www.w3schools.com/graphics/game_gravity.asp

To do's:

  • const floor
  • function / if -> player hitting the ground

Basic game loop on canvas

User Story

As a developer
I need to setup the basic game loop on a canvas
that I can implement the other features

Description

  • <canvas> html element
  • basic game loop
  • Context API -> context 2D

Material

const createCanvas = () => {
const canvas = createElement("canvas", { className: "game" });
return canvas;
};

const context = canvas.getContext("2d");

const loop = () => {

 
requestAnimationFrame(loop);
 };
 loop();

To do's:

  • create canvas
  • set context
  • setup basic loop

Canvas styling

User Story

As a player
I want a nice background to make the game visually enjoyable

Description

  • <canvas> html element
  • background img in CSS
  • Placement of the canvas on a larger screen

Material

image

To do's:

  • add background image
  • center the canvas on larger devices

Clean setup with storybook

User Story

As a developer
I want a clean setup without startercode and using storybook
because I can work freely and show the components seperatly

To do's:

  • Install storybook npx sb init
  • Delete starter-code

Collision detection - player & plattform

User Story

As a player
I want to be able to land on a plattform when jumped higher than the plattform
for that the developer must implement a collision detection between the player and the plattform and handle the event.

Description

  • player sould be able to jump higher than the plattforms
  • player sould land on the plattform after jumping higher than the plattform

To do's:

  • add collision detection
  • implement handling of the event

Level ending

User Story

As a player
I want the game to end in some way
so I have to implement 2 endings (death and safety)

Description

  • safety: astronaut is on his little rocket
  • death: astronaut in his jumping pose

Level 2

User Story

Level 2 of the game from the beginning to end incl. Endscreen, when failed

Description

Infinity scrolling background; astronaut on rocket trying to avoid the asteroids; ending animation - player flies away

Material

AsteronautRakete

To do's:

  • draw only a specific part of the canvas
  • responsiveness of the canvas
  • draw player
  • infinity scrolling background
  • add obstacles
  • collision detection
  • movement of the player
  • restrict the movement at top and bottom of the screen
  • ending animation

Viewport

User Story

As a player
I want to only see the "important" things of the game

Description

  • viewport to crop the game and make only a view plattforms visible
  • if I don't do this the player would always see the whole game and the player would be way to tiny

Material

  • tilemap camera / moving background
  • scrolling camera

Plattform graphic

User Story

As a player
I want the plattforms to match the space astetic of the game

Description

  • scalable SVG of a asteroid in comic style

Material

First Design:
image

Design-Overview:

Design:
Asteroid-gif

To do's:

  • create SVG in Photoshop

Loading Screen

User Story

As a player
I want see an entertaining loading screen to not get board

As a developer
I should implement a loading screen to give the component enough time to load completely

Description

  • Astonaut flowing in space?
  • Text: "XXX" (wip)

Material

To do's:

  • Design the loading-screen SVG
  • load the SVG in project
  • new component loading screen
  • implement image in loading screen
  • CSS - center image and text

Favicon and Title

User Story

As a user
I want to have a nice branding of the page and not the react logo

To do's:

  • Change Title
  • Change Logo

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.