Skip to content

fidrelity/microbuilder

Repository files navigation

IMPORTANT NOTE

DO NOT WORK AT MASTER BRANCH - NEVER. thx.

Instructions

localhost ready (02.2013)

Postgresql

Download and install: www.postgresql.org/download/

Create database ‘microbuilder’

(In Windows you MUST set a password and set it in config/database.yml)

Execute rake command

>> rake db:migrate

Wenn Fehler mit game.visible -> kommentiere alles mit ‘visible’ aus in app/models/game.rb

Redis:

Download Windows: github.com/kcherenkov/redis-windows-service

Create file: config/redis_credentials.yml

username: your-OS-username
password: your-OS-password

In redis.conf:

requirepass your-OS-password

Oder in redis-cli:

>> CONFIG SET requirepass your-os-password

Falls redis.conf nicht gefunden wird, dann starte redis-server mit:

>> redis-server path/to/redis.conf

setup heroku

gem install heroku
git remote add heroku [email protected]:playtin.git
heroku keys add ~./.ssh/id_rsa.pub

deploy steps

git checkout -b deploy
rake assets:precompile (test if everything works)
git add .
git commit -m "compiled assets"
git push heroku deploy:master (git push -f heroku deploy:master)

if migrations:

heroku run rake db:migrate

git checkout master
git branch -D deploy

Game JSON

// definitions
{} : object
() : optional
<> : data-type
[] : array
| : or

// objects
<int>
<float>
<string>
<vector> : { x : <int>, y : <int> }
<area> : { x : <int>, y : <int>, width : <int>, height : <int> }
<circle> : { x : <int>, y : <int>, radius : <int> }

game : {
  version : <int>

  title : <string>
  instructions : <string>

  duration : <int, seconds>

  ( backgroundID: <int> )

  gameObjects: [
    {
      ID : <int>
      name : <string>
      graphicID : <int>

      position : <vector>

      ( boundingArea: <area> | <circle> )

      behaviours : [
        {
          triggers : [
            { ID : clickObject, objectID : <int> }
            { ID : clickArea, area : <area> }

            { ID : touchObject, objectID : <int>, object2ID : <int> }
            { ID : touchArea, objectID : <int>, area : <area> }

            { ID : overlapObject, objectID : <int>, object2ID : <int> }
            { ID : overlapArea, objectID : <int>, area : <area> }

            { ID : timeExact, time : <int, %> }
            { ID : timeRandom, time : <int, %>, time2 : <int, %> }

            { ID : counterEqualsObject, objectID : <int>, object2ID : <int> }
            { ID : counterGreaterObject, objectID : <int>, object2ID : <int> }
            { ID : counterSmallerObject, objectID : <int>, object2ID : <int> }

            { ID : counterEqualsNumber, objectID : <int>, counter : <int> }
            { ID : counterGreaterNumber, objectID : <int>, counter : <int> }
            { ID : counterSmallerNumber, objectID : <int>, counter : <int> }

            { ID : gameWasWon }
            { ID : gameWasLost }
            { ID : gameStart }
          ]

          actions : [
            { ID : moveInDirection, angle : <float, radians>, speed : <0-4> }
            { ID : moveInRandom, speed : <0-4> }
            { ID : moveInLocation, location : <vector>, speed : <0-4> }
            { ID : moveInObject, objectID : <int>, speed : <0-4> }

            { ID : moveToLocation, location : <vector>, speed : <0-4> }
            { ID : moveToObject, objectID : <int>, offset : <vector>, speed : <0-4> }

            { ID : jumpToLocation, location : <vector> }
            { ID : jumpToObject, objectID : <int>, offset : <vector> }
            { ID : jumpToArea, area : <area> }

            { ID : moveRoam, mode : <wiggle, reflect, insect, bounce>, area : <area>, speed : <0-4> }

            { ID : moveSwap, objectID : <int> }
            { ID : moveStop }

            { ID : moveAlongPath, mode : <loop, ping-pong, once>, speed : <0-4>, path : [ <vector> ] }

            { ID : scaleSize, scale : <int>, speed: <0-4> }
            { ID : flipObject, mode : <horizontally, vertically, both> }

            { ID : artToFrame, frame : <int> }
            { ID : artPlay, mode : <loop, ping-pong, once>, frame : <int>, frame2 : <int>, speed : <0-4> }
            { ID : artStop }
            { ID : artChange, graphicID : <int> }

            { ID : counterSet, counter : <int> }
            { ID : counterUp }
            { ID : counterDown }

            { ID : gameWin }
            { ID : gameLose }
          ]
        }
      ]
    }
  ]

  graphics : [
    { 
      ID : <int>
      frameWidth : <int>
      frameHeight : <int>
      frameCount : <int>
      url : <string>
    }
  ]
}

Change log

version 5

  • queueing actions before execution

version 4

  • added ‘scaleSize’ action

  • added ‘flipObject’ action

  • added ‘object2ID : <int>’ to trigger : ‘counterEqualsObject’

  • added ‘object2ID : <int>’ to trigger : ‘counterGreaterObject’

  • added ‘object2ID : <int>’ to trigger : ‘counterSmallerObject’

  • added ‘objectID : <int>’ to trigger : ‘counterEqualsNumber’

  • added ‘objectID : <int>’ to trigger : ‘counterGreaterNumber’

  • added ‘objectID : <int>’ to trigger : ‘counterSmallerNumber’

version 3

  • added ‘object2ID : <int>’ to trigger : ‘touchObject’

  • added ‘object2ID : <int>’ to trigger : ‘overlapObject’

  • added ‘objectID : <int>’ to trigger : ‘touchArea’

  • added ‘objectID : <int>’ to trigger : ‘overlapArea’

version 3

  • added ‘object2ID : <int>’ to trigger : ‘touchObject’

  • added ‘object2ID : <int>’ to trigger : ‘overlapObject’

  • added ‘objectID : <int>’ to trigger : ‘touchArea’

  • added ‘objectID : <int>’ to trigger : ‘overlapArea’

version 2

  • removed trigger : ‘clickSelf’

  • removed trigger : ‘gameIsWon’

  • removed trigger : ‘gameIsLost’

  • removed action : ‘gameEnd’

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published