Download and install: www.postgresql.org/download/
Create database ‘microbuilder’
(In Windows you MUST set a password and set it in config/database.yml)
>> rake db:migrate
Wenn Fehler mit game.visible -> kommentiere alles mit ‘visible’ aus in app/models/game.rb
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
gem install heroku git remote add heroku git@heroku.com:playtin.git heroku keys add ~./.ssh/id_rsa.pub
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
// 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>
}
]
}
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’