Content uploaded by Lorenz Cuno Klopfenstein
Author content
All content in this area was uploaded by Lorenz Cuno Klopfenstein on Nov 04, 2019
Content may be subject to copyright.
CodyColor: Design of a Massively
Multiplayer Online Game to Develop
Computational Thinking Skills
Lorenz Cuno Klopfenstein
University of Urbino & DIGIT srl
Urbino, Italy
cuno.klopfenstein@uniurb.it
Riccardo Maldini
DIGIT srl
Urbino, Italy
riccardo.maldini@digit.srl
Saverio Delpriori
University of Urbino & DIGIT srl
Urbino, Italy
saverio.delpriori@uniurb.it
Alessandro Bogliolo
University of Urbino & DIGIT srl
Urbino, Italy
alessandro.bogliolo@uniurb.it
Permission to make digital or hard copies of part or all of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for profit or commercial advantage and that copies bear this notice and the full citation
on the first page. Copyrights for third-party components of this work must be honored.
For all other uses, contact the Owner/Author.
CHI PLAY EA ’19, October 22—25, 2019, Barcelona, Spain.
© 2019 Copyright is held by the owner/author(s).
ACM ISBN 978-1-4503-6871-1/19/10.
https://doi.org/10.1145/3341215.3356315
Abstract
Computational thinking and coding-based problem solving
are increasingly seen as crucial cross-disciplinary skills
and an important part of a well-rounded education. Coding
games and problem solving exercises have been grow-
ing in popularity. Many large-scale initiatives have been
launched in order to bring these initiatives into classrooms,
from preschool to secondary education. CodyColor is a
simplified coding game, which takes basic programming
instructions representing movements (“turn left” and “turn
right”) and represents them with color blocks. In contrast
to most other coding games, color-coded programming re-
lies on no symbolic interpretation on part of the player in
order to be approachable by very young players as well.
We present a massively multiplayer online version of Cody-
Color, discuss design and implementation specifics, and
enumerate some of the possible game modes.
CCS Concepts
•Social and professional topics →Computational think-
ing; •Information systems →
Massively multiplayer online
games;
Author Keywords
Coding; Computational Thinking; Game; Massively Multi-
player; Online; Web application.
Works-in-Progress
CHI PLAY'19, October 22–25, 2019, Barcelona, Spain
453
Introduction
Over the course of the last years, Computational Think-
ing (CT) and coding have been widely recognized as a cor-
nerstone skill for 21st-century students, since they enable
“solving problems, designing systems, and understanding
human behavior, by drawing on the concepts fundamental
to computer science” [13]. CT focuses on the process of
abstraction, integrating basic engineering principles (such
as efficiency, correctness, etc.). While these skills have
been largely seen as drivers to solve the lack of computing
and digital skills that threaten economic development and
innovation in the near future [12], CT foremost is a thought
process that enables problem deconstruction and problem
solving through an algorithmic approach.
The importance of teaching CT to children of any age group
has been underlined by the spread of educational tools,
often adopting game-like interfaces to teach fundamen-
tal coding concepts [6]. Online tools and initiatives such
as “Hour of Code” or Code.org have reached millions of
users [7]. Teaching efforts are often supported by grass-
roots initiatives by teachers or large-scale coding literacy
campaigns such as “Europe Code Week”, which has been
running with increasing participation since 2013 [5].
Bringing CT into the classroom at early ages is often blocked
by the lack of experience by the teaching force: care and
training must be provided to teachers in order to carefully
incorporate coding tools and concepts into traditional edu-
cational curricula. One of the fundamental misconceptions
that hinder this integration, as argued by Yadav et al., is that
CT is necessarily about computers and coding is conflated
with programming [14].
The introduction of “unplugged” coding tools, such as
language-neutral card games or physical movement games,
maintain the immediacy and effectiveness of online instru-
Figure 1: CodyColor logo.
ments in teaching fundamental concepts (such as action
and behavior representation, algorithm design, interpreta-
tion, and execution), but significantly improve accessibility.
Unplugged tools provide a high level of flexibility and adapt-
ability, making them ideal to be integrated in extra-curricular,
outreach, or after-school events [11]. Card games such as
“CodyRoby” are usable by children of any age group, any
level of experience, and can be used in regions affected by
digital divide retaining the same effectiveness [1].
Related work
“CodyRoby” cards rely on the same movement action primi-
tives of “Hour of Code” games [1]. The card game is based
on one player (i.e., Cody) acting as a programmer and
building a sequence of instructions, and another one (i.e.,
Roby) acting as an interpreter and executor, reading the se-
quence of instructions and performing actions as indicated,
in order to solve a task. Roles can be interpreted by two or
more players, or they can both be conflated into the same
individual for single-player games.
These game principles have been previously adapted in
a variety of formats and games, both offline and online.
Program design and execution sessions, using the same
Works-in-Progress
CHI PLAY'19, October 22–25, 2019, Barcelona, Spain
454
action-based building blocks, have been adapted to large-
scale events with participation of live audiences [2], aug-
mented reality supported games [10], physical maze-games
that must be solved using algorithmic instructions [9], and
mixed-reality multiplayer games based on a “treasure hunt”
metaphor [8].
CodyColor
Figure 2: Main game screen in
CodyColor, allowing the player to
drag Roby on a starting cell on the
chessboard’s border.
CodyColor is an “unplugged” coding method, originally de-
signed in 2018 [4]. The game is based on a reduced set
of coding instructions, limited to two color-coded blocks: a
red block is used to indicate a right turn while a yellow block
indicates a left turn. The absence of color (i.e., a neutral
gray block) is interpreted as a “
NOOP
”no-operation com-
mand. Players of the game (impersonating the Roby robot,
thus acting as simple code interpreters and executors) start
at a given starting position and perform indicated actions
as they reach a new block. Forward movement (i.e., the
“advance” action) is implicit and is always performed after
reaching a block and executing the block’s action.
The game’s three kinds of instructions are usually repre-
sented as large colored tiles that can be placed on the floor.
Actions can be put in a sequence, allowing programmers
to represent a movement path both graphically (through
the physical arrangement of blocks) and algorithmically
(through the concatenation of movement actions).
At the start of the CodyColor game, a set of random blocks
is arranged into a chessboard. Players choose the block
from which they start and their initial orientation: from their
starting block, players start executing the actions of the
blocks they stand on and moving across the grid. Players
continue interpreting action blocks until they move outside
of the chessboard.
Mentally interpreting the color blocks and projecting the
path determined by the starting point can be a tricky ex-
ercise even for adult players. Several game schemes for
single or multiple players have been designed based on this
mechanic, such as finding longest paths, determining the
exit point based on the starting point, finding infinite loops
(if any), and so on [4].
Since its initial release, CodyColor has been successfully
used in preschool and in primary school education. The
reduced abstraction between instructions and their repre-
sentation, if compared to other “unplugged” methods such
as cards or code blocks, has been appraised as particularly
effective.
Design of the online game
The CodyColor concept has been adapted into an online
multiplayer game, implemented as a progressive Web ap-
plication. By being playable through a simple Web Browser,
the game is accessible to very wide audience and can be
played by users with limited technological means and exper-
tise: no installation and no user registration is required to
access and play the game.
When users connect to the game, they pick a temporar-
ily unique username and are added to the game “lobby”,
where automatic match-making is performed. Once a
match between two or more players is set up, the game
starts showing a randomly generated CodyColor grid with
color-coded blocks, as shown in Figure 2.
Users play by analyzing the chessboard and dragging their
Roby robot to one of the “entrance” cells (i.e., a cell on
the chessboard’s border). As soon as both users have
positioned their executor, the robots start executing the
actions and moving through a path on the chessboard:
players that picked the longest path win the game. In case
of a tie, players win based on the time they needed to pick
Works-in-Progress
CHI PLAY'19, October 22–25, 2019, Barcelona, Spain
455
their starting cell (i.e., the quickest player with the longest
path wins the game).
The game adopts a fixed chessboard of 5
×
5 cells: each
cell can assume one of 3 colors, therefore allowing a total
set of 3
25
different arrangements, each of which can be re-
peatedly and deterministically generated. Each possible
chessboard presents different potential paths to the player
and a unique set of “best” paths. Leaderboards and top
scores are stored separately for each chessboard permu-
tation, allowing players to try to guess the unique best path
for each scenario.
From a technical standpoint, the CodyColor online game is
implemented using a message-based broker (“RabbitMQ”,
using the Advanced Message Queuing Protocol over Web
Sockets). Client and server use a pub/sub communication
pattern, which allows straightforward interest management
(based on independent game lobbies and game sessions)
and easy replica management, ensuring the system’s scal-
ability to massively multiplayer online game (MMOG) lev-
els [3].
Figure 3: Battle royale mode, with
three players competing on the
same chessboard.
Game modes
The basic game mode randomly matches two available
players in a private “game room”, where they compete on a
randomly picked chessboard. Once a winner is determined,
the couple of players can stay in the same game room and
keep competing, as long as no player closes the game.
Other game modes that have been designed and imple-
mented include:
•Training:
a virtual single-player room is provided,
that allows the player to experiment on random chess-
boards without time limits and competing players.
•Invited game:
a “game room” is generated by one
player, who is provided with a unique link that can
be shared via social media or messaging. Players
following the link are added to the room and can start
competing on a shared chessboard.
•Battle royale:
a “game room” for multiple players is
generated (they can join by picking available game
lobbies or following invitation links, as above). A se-
quence of matches is played: at the end of each
match, players are ranked on a leaderboard and gain
points according to their performance. Point are ac-
cumulated until one of the players decides to drop
out of the game, terminating the game session and
determining the final winner.
Conclusion and future work
The CodyColor online game has been published online
on 28th April 2019 as a beta version, reaching more than
25000 played games over the course of little more than
2 months (available at https://codycolor.codemooc.net).
Source code of the game’s back-end and front-end is
available online and released under the MIT license (see
https://github.com/digit-srl/CodyColorServer and https://github.
com/digit-srl/CodyColorClient).
The game reflects the original design choices of the un-
plugged CodyColor game, providing two color-coded ac-
tions: red representing a right turn and yellow encoding a
left turn. This color choice is not ideal for color-blind users,
therefore a revised version of the game might more aptly
rely on a yellow-blue color coding.
Future work will focus on the design of additional game
modes, possibly focusing on different educational scenar-
ios, introducing other competitive game modes (based on
Works-in-Progress
CHI PLAY'19, October 22–25, 2019, Barcelona, Spain
456
computer science concepts such as infinite loops, shortest
paths, etc.) or cooperative game mechanics.
While currently implemented game modes focus on having
individual players connected with their own device, in class-
room scenarios multiple players often share one device (an
interactive blackboard or tablet): single-device multiplayer
game modes will be introduced either using split-views (on
high-resolution devices) or hot seat mechanics.
In August 2019, CodyColor was presented at the “Code
Week Summer School for Teachers” in Brussels as a teach-
ing tool for European educators. During the upcoming Eu-
rope Code Week event [5], from 5th to 20th October 2019,
open large-scale gaming events will be organized during
school hours, which are expected to be played by a signifi-
cant number of children of different ages. For the occasion,
the game will be translated in a variety of languages.
Furthermore, future work will also focus on evaluating the
game’s efficacy as a teaching tool: validation protocols will
be devised in order to evaluate the effect of the game (and
similar coding literacy tools) and correlating their usage
with improvements in other cross-disciplinary subjects or in
psychometric tests.
Acknowledgements
The authors wish to thank members of the CodeMOOC.net
association, who supported the creation and enthusiasti-
cally tested preliminary versions of the CodyColor game.
REFERENCES
1. Alessandro Bogliolo. 2015. Unplugged
language-neutral card games as an inclusive
instrument to develop computational thinking skills. In
Proceedings of the 9th International Technology,
Education and Development Conference (9th
International Technology, Education and Development
Conference). IATED, Madrid, Spain, 7609–7615.
2. Alessandro Bogliolo, Saverio Delpriori, Lorenz Cuno
Klopfenstein, and Brendan Dominic Paolini. 2016.
Immersive Coding: Innovative Tools and Formats for
Large-Scale Coding Events. In Proceedings of the 8th
International Conference on Education and New
Learning Technologies (8th International Conference
on Education and New Learning Technologies). IATED,
5510–5516. DOI:
http://dx.doi.org/10.21125/edulearn.2016.2313
event-place: Barcelona, Spain.
3. César Cañas, Kaiwen Zhang, Bettina Kemme, Jörg
Kienzle, and Hans-Arno Jacobsen. 2014.
Publish/Subscribe Network Designs for Multiplayer
Games. In Proceedings of the 15th International
Middleware Conference (Middleware ’14). ACM, New
York, NY, USA, 241–252. DOI:
http://dx.doi.org/10.1145/2663165.2663337
event-place: Bordeaux, France.
4. CodeMOOC. 2018. CodyColor.
http://codemooc.org/codycolor/. (2018). Accessed:
2019-07-06.
5. CodeWeek volunteers and European Commission.
2013. Europe Code Week. (2013).
https://codeweek.eu/
6. Zasmin B. Kafai and Quinn Burke. 2014. Connected
Code: Why Children Need to Learn Programming. MIT
Press.
Works-in-Progress
CHI PLAY'19, October 22–25, 2019, Barcelona, Spain
457
7. Filiz Kalelio˘
glu. 2015. A new way of teaching
programming skills to K-12 students: Code.org.
Computers in Human Behavior 52 (Nov. 2015),
200–210. DOI:
http://dx.doi.org/10.1016/j.chb.2015.05.047
8. Lorenz Cuno Klopfenstein, Saverio Delpriori,
Brendan Dominic Paolini, and Alessandro Bogliolo.
2018a. Code Hunting Games: A Mixed Reality
Multiplayer Treasure Hunt Through a Conversational
Interface. In Internet Science, Sotiris Diplaris, Anna
Satsiou, Asbjørn Følstad, Michail Vafopoulos, and
Thomas Vilarinho (Eds.). Springer International
Publishing, Cham, 189–200. DOI:
http://dx.doi.org/10.1007/978-3-319-77547-0_14
9. Lorenz Cuno Klopfenstein, Saverio Delpriori,
Brendan Dominic Paolini, and Alessandro Bogliolo.
2018b. CodyMaze: the Hour of Code in a Mixed-Reality
Maze. In Proceedings of INTED 2018. Valencia,
4878–4884. DOI:
http://dx.doi.org/10.21125/inted.2018.0953
10. Lorenz Cuno Klopfenstein, Andriy Fedosyeyev, and
Alessandro Bogliolo. 2017. Bringing an Unplugged
Coding Card Game to Augmented Reality. In
Proceedings of the 11th International Technology,
Education and Development Conference (11th
International Technology, Education and Development
Conference). IATED, 9800–9805. DOI:
http://dx.doi.org/10.21125/inted.2017.2327
event-place: Valencia, Spain.
11. Brandon Rodriguez, Cyndi Rader, and Tracy Camp.
2016. Using Student Performance to Assess CS
Unplugged Activities in a Classroom Environment. In
Proceedings of the 2016 ACM Conference on
Innovation and Technology in Computer Science
Education (ITiCSE ’16). ACM, New York, NY, USA,
95–100. DOI:
http://dx.doi.org/10.1145/2899415.2899465
event-place: Arequipa, Peru.
12. Benjamin Southworth. 2014. A UK digital skills gap
looms. The Guardian (Aug. 2014).
https://www.theguardian.com/media-network/
media-network-blog/2014/aug/18/
uk-youth-shortage-digital-skills
13. Jeannette M. Wing. 2006. Computational Thinking.
Commun. ACM 49, 3 (March 2006), 33–35. DOI:
http://dx.doi.org/10.1145/1118178.1118215
14. Aman Yadav, Sarah Gretter, Jon Good, and Tamika
McLean. 2017. Computational Thinking in Teacher
Education. In Emerging Research, Practice, and Policy
on Computational Thinking, Peter J. Rich and
Charles B. Hodges (Eds.). Springer International
Publishing, Cham, 205–220. DOI:
http://dx.doi.org/10.1007/978-3-319-52691-1_13
Works-in-Progress
CHI PLAY'19, October 22–25, 2019, Barcelona, Spain
458