Thanks to visit codestin.com
Credit goes to github.com

Skip to content

This is my CS260 "startup" project. Once completed, it will be a arbitrarily multiplayer online inversus-style game.

License

Notifications You must be signed in to change notification settings

vviseguy/startup

Repository files navigation

Required Class Notes

Where the project stands

You can now use the multiplayer functionality!

  1. navigate to the "sign-in" page
  2. enter a username and click "sign-in" (this will give you a player name so that you dont overwrite other people as a guest.. this is a bug that will need to be fixed)
  3. Navigate to the "join-game" page
  4. If you have a code, enter the room code into the provided box and click "join game". Otherwise, select "create game" and "start game". The code for others to join will be visible at the top

Sadly, game functionality is limited to only moving at the moment :(

You can now get random dad jokes on the home page! (Taken from the icanhazdadjoke.com api)

Things I have learned in the Simon project

  • I don't like doing html without css - even when focusing just on structure. I like to be able to center things, and arrange things using display: grid;.
  • That I can spend way too much time on css...
  • box-sizing: border-box; is a very useful change to make.
  • Box-shadows have a lot of applications
  • I got to see how async and await functions work better, its starting to make more sense.
  • It was also cool to see how local storage storage works hands on.
  • I was surprized at how easy it was to make and coontrol a mongdb database - I had troubel with the password part, but resetting it did the trick. I learned that changing systems is about as hard as the amount of times you reference that system and taht abstraction in your code (calling a function or group of functions that handle the database access) can help make that transition easier.
  • Websockets have also been cool to use, and to see how easy and intuitive it is to make event-based programs! We did something mildly similar inn another class in c, and oh, what a nightmare it was! I'm so grateful for abstraction!

Startup

The full-stack startup project that I would like to persue is an Inversus-style multiplayer online game.

gameplay

The Premise

The game is a one-player or multiplayer game. The goal is to survive as long as possible. Players may shoot, and move in 2 dimensions. The classic mode would be cooperative in nature; the player(s) defend against spawning enemies that can move and interect similarly to the players. The score is a function of enemies destroyed and time survived.

Basic data such as high score will be saved to a user's account.

For those not familiar with Inversus, know that it is a minimalistic cross platform game, not yet avaliable on the browser. Click here for more information/gameplay: https://www.inversusgame.com/

Feature TO-DO List

Game feautes

  1. enemy spawning
  2. enemy ai
  3. collisions
  4. scorekeeping

Features pending covering the technology in class

  1. user login and data storage
  2. global scoreboard
  3. game set-up and joinging over the internet

Layout features

  1. giving the game a definite color scheme
  2. making the background a fuzzed-out gif of gameplay

Website Layout

startup-website-diagram

Current Bugs

  • On mobile devices, input lags. I don't know if this is because of the nature of js events or because of the amount of code that is running. It appears that the amount of code fun on each input event is less than a 100 lines.

Forseeable Challenges

As is the biggest challenge will likely be keeping both (or all) players interacting with eachother in real time. I would like to minimize traffic to the server and back, so I will have to ensure that the client-side renderer is extrememely consistant. To the point of rendering the same pixel-perfect output regaurdless of the frame rate of the cient computers.

I anticipate that live connection, score keeping, login and the other tests I do not now know how to hande will be addressed as I go through the course.

Other Features

  • setting a color pallette
  • life regeration
  • power-ups
  • more robust collisions to allow for a moving environment

About

This is my CS260 "startup" project. Once completed, it will be a arbitrarily multiplayer online inversus-style game.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published