GithubHelp home page GithubHelp logo

sqeezy / ggj2020 Goto Github PK

View Code? Open in Web Editor NEW
1.0 5.0 0.0 150.56 MB

Project for Global Game Jam 2020

License: MIT License

C# 90.49% Java 0.34% ShaderLab 3.49% Dockerfile 0.02% PowerShell 0.01% HLSL 5.65%

ggj2020's Introduction

ggj2020

Project for Global Game Jam 2020

This will have something todo with racing

Running the webserver

Requirements

Commands

Playing in the local browser

  1. Build the Unity WebGL project from Unity. Ensure that the output lands in src/Ggj2020/build, it will then we automatically symlinked into the webserver.
  2. Run the webserver. For that, cd into the src/comm-server folder, and run ./gradlew clean bootRun --rerun-tasks
  3. Navigate in your browser to localhost:8080

Deploying your own server

  1. Ensure that the WEBGL project is built, see step 1 above
  2. Build the webserver. For that, cd into the src/comm-server folder, and run ./gradlew clean build --rerun-tasks. This will produce a comm-server.jar in src/comm-server/build/libs/. You can run this with Java 11 on your server or use the docker files in src/comm-server to build and deploy a contaner to your own server.

ggj2020's People

Contributors

sqeezy avatar friedrichwessel avatar schnapster avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar  avatar  avatar  avatar

ggj2020's Issues

Dumb Communication Server

Should be based on WebSockets caused they are a fairly well supported technology for real time communication.

Connects the master client with the player clients.
Relays the player client events (game controller commands) to the master client.
Relay game events from the master client to the player clients.

Technology doesn't really matter because it shouldn't know anything about the content it transports.
SignalR is dot net native but Unity WebGL support looks shaky. Also we don't care about automatically downgrading the connection. And remote procedure calls are meh, events should be good enough. It is also a mostly unknown technology to @napstr in both building & deploying it. Going with a classic spring boot setup should be good enough.

Upgrade Concept

  • specific resource to some upgrade
  • weapon / shield / ammo-cap / engine

Define various Events

Stuff like

  • Client joined / left the game
  • Client game control events (steering, using actions, etc)
  • Game update events (health bar, positions of ingame objects like the player, other player, possible items, screen position)
  • What map is being played
  • What do the other players look like, what are their directions, animations etc

Domain Model

Model

Logic and Data

  • Car
    • PlayerId
    • Position
    • Ammo

Presenter

  • CarPresenter
    • Handles messages from user input and modifies model

View

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.