Git Product home page Git Product logo

d-flector-1's Introduction

D-flector-1

A project where we as a team of five members convert a game concept document into a game during the development of ten weeks. The weeks are split into three phases, two weeks of pre-production, five weeks of production and three weeks of post-production.

The project is an assignment for the course Game Design 2: Game Development (5SD064) at Uppsala University.

Screenshots of the Final Assignment Version

Main Menu

Screenshot of the main menu

Level Selection

Screenshot of the level selection menu

Tutorial

Screenshot of the tutorial

Playing

Screenshot of game play

Pause

Screenshot of the pause menu

Options

Screenshot of the options menu

Conventions

Naming

Files

  • Sprites: Spr_"whos"_"insert purpose of sprite"
  • Animation: An_"whos"_"insert action of animation"
  • Concept Art: CoArt_"insert name"
  • Code: CS_"insert what it's for"_"what it does"
  • Prefab: Obj_"type of object"
  • If there several objects of the same type (for example enemies) then specify

Unity Tags

  • Unity tags should be in CamelCase notation. Capitalize the first letter and separating words. Ex ExampleTag

Classes

  • Class names should be in CamelCase notation. Ex. ClassName
  • Class properties should be in mixedCase notation. Ex classProperty
  • Properties that are static should be all capitalized and separated with underscore. Ex STATIC_PROPERTY
  • Names should be descriptive.
  • Names should not be abbreviated.

Code Standards

  • Follow naming conventions.
  • Properties should be private to the extent it makes sense.
    • Properties that should be accessible through the editor need to be public.
  • Use Unity utility methods and constant variables when possible.
  • Remove unused variables and properties.
  • Comment only when explaining complex logic.

Code Review

  • Can you understand the changes, does the code do what is intended?
  • Does the code follow the "Code standards"?
  • Is there any redundant or duplicate code?
  • Is the code as modular as possible?
  • Can any global variables be replaced?
  • Is there any commented out code?
  • Do loops have a set length and correct termination conditions?
  • Can any logging or debugging code be removed?

Commit Messages

  • Commit messages should isolate one change when possible. If you are adding an and to the message you can probably split the commit up into several commits. Remember that it's better with a lot of smaller commits than with a few large onces.
  • Commit messages should explain what and why you have changed something rather than how. The actual content of the commit already explains how so you don't have to do it again.
  • Limit the subject line to 50 characters.
  • Capitalize the subject line.
  • Do not end the subject line with a period.
  • Use the imperative mood in the subject line (more information: http://chris.beams.io/posts/git-commit/#imperative).
    • What is within the quotes is the subject line and the prefix is how it should be read, read the link for a detailed description.
    • Example of good: If applied, this commit will "Refactor subsystem X for readability"
    • Example of bad: If applied, this commit will "Fixed bug with Y"
  • Example of how commit messages have a tendency to deteriorate, xkcd: Git commit.

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.