Coder Social home page Coder Social logo

lucvandenbrand / ggj18 Goto Github PK

View Code? Open in Web Editor NEW
18.0 5.0 2.0 304.8 MB

Snappy Cobra - Global Game Jame Game 2018.

C# 47.58% ShaderLab 12.08% HLSL 22.14% JavaScript 1.33% CSS 0.08% Elixir 3.94% HTML 0.17% ASP 12.69%
unity game jam ggj18 c-sharp

ggj18's Introduction

GGJ18

A game developed for the Global Game Jam 2018!

๐Ÿ”ฉ Build and Run

This is a Unity project, so simply open the project from Unity and build it. The project is setup under Unity 2017.3.0 Windows, other versions might work, but are not officially supported!. Linux users might try this build.

๐Ÿ’ผ Branch Workflow

Development

The development branch (or branches related to it) contains all active work.

Master

The master branch contains all work that is production-ready. Before anything can be merged into master, it must be approved by a pull-request!

๐ŸŽฎ Unity Workflow

Within the Scenes folder, there is space for an ignored KlootScenes folder. This folder is for you to mess around with on your own, the folder is never commited such that you do not need to worry about merge conflicts.

Keep in mind: merge conflicts are truly avoided by proper communication!

Installing and running Elixir for the server code:

The server code is contained in te snappy_server folder.

To install Elixir, I recommend using the asdf version manager.

https://github.com/asdf-vm/asdf

You'll need Erlang, Elixir and nodejs.

asdf plugin-add erlang
asdf plugin-add elixir
asdf plugin-add nodejs

# If problems during installing Erlang, install these packages first: https://github.com/asdf-vm/asdf-erlang#before-asdf-install
asdf install erlang 20.1
asdf global erlang 20.1

asdf install elixir 1.5.2
asdf global elixir 1.5.2

asdf install nodejs 9.4.0
asdf global nodejs 9.4.0

Then, go to the snappy_server folder and run mix deps.get to install the Elixir dependencies.

Then, go to the snappy_server/assets folder, and install the nodejs dependencies using npm install.

Then, you can start the server from snapp_server by typing mix phx.server.

While running this in your terminal, start the game in Unity. It will attempt to connect at (for now) port 8002.

The web-view for on phones can (for now) be seen at port 4000.

ggj18's People

Contributors

gezzellig avatar jmdejong avatar lucvandenbrand avatar mbreemhaar avatar qqwy avatar rugluc avatar timostrating avatar tincoboekestijn avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

cubicme krazyl

ggj18's Issues

Refactor Unity Code

It is always a nice practice to refactor the code after a Jam. The process gives proper insight in the core design of the game, and also make you hate Unity less ;)

Things one could do:

  • Rename variables, classes and gameobjects to have a proper semantic meaning.
  • Move constants out of the code and into parameters.
  • Remove code duplication (and improve reusability)
  • Ensure constant formatting.
  • Improve readability of the code.

A general advice is to make the code adapt to this cheat-sheet: https://www.planetgeek.ch/wp-content/uploads/2014/11/Clean-Code-V2.4.pdf

Architecture decisions

Game build for Web. Split into multiple components.

  • Rust Game Logic linked with Elixir server.
  • Web based Controller communicating with server.
  • Web based display code (Flow? Typescript? ThreeJS?).

Does the exact unity version matter?

I have unity version 2017.3.0p2 (linux) but when I opened the project I got a warning that the project was last built on version 2017.3.0f1

Does this matter?

Can't build

I can't build because of the use of UnityEditor in the scripts (and removing that gives other errors).

Could someone who has succesfully built the game push the fix?

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.