Specifications of FlagShipEU (http://flagshipgame.eu/): a mobile game the first implementation of which will be the result of an open crowdcoding experiment conducted during CodeWeekEU 2014.
The video-log of the presentation is available at: http://youtu.be/Pu_QJEe2-dM
http://informatica.uniurb.it/
2. CrowdCoding
1. Open specs
2. Live coding sessions based on Ai2
3. Video logs and Video tutorials
4. Incremental release
5. CodeWeek edition for Android in 1 week
6. Open .aia project files
7. New third-party compliant versions / portings welcome
8. Publication of all compliant versions on the reference website
9. Publication of the list of contributors
10.Contests
3. Name: FlagShip
1. The name of the app must contain “FlagShip”
2. A link to the reference website http://flagshipgame.eu/ must be
available somewhere in the App (at least in the “about” page)
4. FLAG SORTING GAME
PLAY
Cover screen
1. Must contain at least two buttons/links to set
the preferences and to play the game
2. No other constraints
5. GamePlay: Flag sorting game
The game presents 16 flags (randomly taken from a larger set)
placed in random positions on a 4x4 grid. Then it challenges the
player to tap the flags in order according to a given sorting
criterion
6. GamePlay
• Given sorting criterion
(alphabetical order used as
default)
• 16 randomly chosen flags
• Random positions in a 4x4 grid
• Challenge: tap the flags in the
proper order in minimum time,
according to the sorting criterion
proposed
FLAG SORTING GAME
CHALLENGE: Sort Flags by:
HINT
Alphabetical Order
SCORE
BEST 12,340,100,142
RESTART HINT
PLAY
34,242,106
NEXT
TIME
Italy
74 secs
7. Grid
• The 4x4 grid must take a square
region of the screen
• The entire area taken by a flag
must be sensitive to the tap
• Flags must be spaced in order
to reduce the risk of false taps
FLAG SORTING GAME
CHALLENGE: Sort Flags by:
HINT
Alphabetical Order
SCORE
BEST 12,340,100,142
RESTART HINT
PLAY
34,242,106
NEXT
TIME
Italy
74 secs
8. Challenge
• The challenge must be clearly
declared in the same screen in
which the game is played
• Information about the sorting
criterion (including definition and
source of data) must be
provided somewhere in the
game
FLAG SORTING GAME
CHALLENGE: Sort Flags by:
HINT
Alphabetical Order
SCORE
BEST 12,340,100,142
RESTART HINT
PLAY
34,242,106
NEXT
TIME
Italy
74 secs
9. Correct tap
• The first tap is always correct
• The n-th tap is correct if the
sorting parameter associated
with the tapped flag is greater or
equal than that associated with
the last tapped one
• At the n-th correct tap, number n
is displayed over/near the
tapped flag
FLAG SORTING GAME
CHALLENGE: Sort Flags by:
HINT
Alphabetical Order
SCORE
BEST 12,340,100,142
RESTART HINT
PLAY
34,242,106
NEXT
TIME
Italy
1
74 secs
2
10. Wrong tap
• At each tap, the value of the
parameter associated with the
tapped flag is displayed
• A tap is wrong if it is not correct, i.e.,
if the value of the parameter
associated with the tapped flag is
less than the one associated with the
last tapped flag
• When a wrong flag is tapped, it
simply disappears from the grid
FLAG SORTING GAME
CHALLENGE: Sort Flags by:
HINT
Alphabetical Order
SCORE
BEST 12,340,100,142
RESTART HINT
PLAY
34,242,106
NEXT
TIME
Italy
1
74 secs
2
Estonia
11. Game Over
• The game is over when all the
flags have been tapped
FLAG SORTING GAME
CHALLENGE: Sort Flags by:
HINT
Alphabetical Order
SCORE
BEST 12,340,100,142
RESTART HINT
6
4 5
PLAY
34,242,106
1
2
3
7
NEXT
TIME 74 secs
12. Suggestions
• There must be the possibility for
the user to activate suggestions
• Suggestion consists on
displaying the value of the
parameter associated with the
next flag to tap
FLAG SORTING GAME
CHALLENGE: Sort Flags by:
HINT
Alphabetical Order
SCORE
BEST 12,340,100,142
RESTART HINT
PLAY
34,242,106
NEXT
TIME
1
Germany
74 secs
2
13. Hints
• There must be a way for the
user to ask for hints at any time
during the game
• Hint consists on a fast run of a
semi-transparent circle over the
grid, visiting all the flags in the
proper order
FLAG SORTING GAME
CHALLENGE: Sort Flags by:
HINT
Alphabetical Order
SCORE
BEST 12,340,100,142
RESTART HINT
PLAY
34,242,106
NEXT
TIME
1
Germany
74 secs
2
14. Scoring criterion
• The score is related to the size of the space in which
the solution has to be found.
• There are 16! (i.e., more than 1020) different ways of
sorting 16 flags
• The maximum achievable score is 16!
• The first tap is always correct and sets the score to 1.
• At the n-th correct tap the score is multiplied by n
• To achieve the highest score, all the flags have to be
tapped in the proper order
15. Time
• There are no limitations to the time
taken by the player to sort the flags
• However, a timer is displayed to
make the player aware of the
elapsed time
• Time affects the final score either as
a bonus or as a penalty if it is lower
or greater than 60 seconds
FLAG SORTING GAME
CHALLENGE: Sort Flags by:
HINT
Alphabetical Order
SCORE
BEST 12,340,100,142
RESTART HINT
6
4 5
PLAY
34,242,106
1
2
3
7
NEXT
TIME 74 secs
16. Bonus
• The score achieved by tapping on the flags is
multiplied by:
– The size of the set from which the 16 flags where taken
(there could be the possibility for the user at configuration
time to restrict the set of flags used in a match. Needless to
say, the minimum number is 16.)
– The remaining seconds in the first minute (if any)
17. Penalty
• The score achieved by tapping on the flags is divided:
– By the seconds exceeding the first minute (at game over)
– By 2 at every correct tap if suggestions are active
– By the number of untapped flags whenever a Hint is
requested
18. Best score
• The app must store locally the best score achieved by
the user
• Each time a best score is achieved, there must be the
possibility for the user to share it on social media
through the app
• The message must contain at least the following
elements: “#FlagShipEU”, the score, the ID of the
sorting criterion (as specified in the official open-data
repository of sorting criteria)
19. Open-data sorting criteria
• The first version of the App will be developed using the flags of
the 38 CodeWeek countries and the alphabetical order of their
English names as default sorting criterion
• Both the flags and the sorting criteria will be managed as
collaborative open data
• Everybody can contribute either by adding a country or by
adding a sorting criterion
• In both cases, reliable data need to be collected in order for
that country and that sorting criterion to be used in the game
• The official open-data repository is the one that will be made
available through the official website http://flagshipgame.eu/
20. Official specs
• The official specs are the one published at
http://flagshipgame.eu/specs/
• A compliance-check service will be made available
through the website to allow third parties to register
their own versions of the game and to have them
officially listed in the website
21. CodeWeek edition
• The development of the CodeWeek edition sarts right after this
presentation
• Live coding sessions organized during codeweek will be announced on
the roadmap page http://flagshipgame.eu/roadmap/ and on social media
(hashtags #FlagShipEU #codeEU)
• Video logs, tutorials, an project files will be posted on roadmap page to
allow people to re-use the code, to send comments, to contribute with
code segments and functions, to develop in parallel their own versions of
the application
• Step-by-step updates will be made available on Google Play to allow
people to test the App, provide feedback, discover bugs, propose
improvements, and watch the application tke shape in their hands
• The official CodeWeek edition will be release on October 16 with a
message by Neelie Kroes, during a wrap-up event in Rome (
http://flagshipgame.eu/rome-2014/)
22. Engagement
• Add your name to the list of partcipants
http://flagshipgame.eu/join/
How to contribute:
• Attend FlagShipEU events (like this one)
• Code (develop/refine a function)
• Test (play with the app and provide comments)
• Debug (stress the app and report bugs)
• Provide geographic data (invent a sorting criterion, find reliable data and
fill in the table)
http://flagshipgame.eu/input-form/
• Localize the app (Translate the labels, website)
• Conduct a contest (just play)
• Promote the app in your country
23. Numbers:
• 38 CodeWeekEU countries (28 EU countries + 10)
• 16 combinations of a given set of 38 flags
N1 = (38 choose 16) = 38!/(16!*22!) = 22,239,974,430
• Permutations of the 16 choosen flags
N2 = 16! = 20,922,789,888,000
• Number of different instances of the game:
N1 x N2 = 465,322,312,113,382,000,000,000 = 4.65 x 1023
• Same order of magnitude:
Stars in the universe
Atoms or molecules in a mole of a given substance
24. Challenge:
• The probability of winning (find the right sequence) by chance is
1/16! = 0.000,000,000,000,048
• Highest achievable score:
16! x (38-16) x 59 = 27,157,781,274,624,000
• Expected typical score:
< 1,000