Game Metadata
Name: CodeCombat
URL: https://codecombat.com/play
Developer: CodeCombat
Platform: Browser
Goal: To teach multiple programming languages including Python, JavaScript, CoffeeScript, Java, Lua & C++.
Learning Objectives
The developer assumes that there is already a specific language that the player plans to learn. (Thus, the choices of languages) The developer also assumes that the player already have understanding towards instructions.
The game centers around:-
1. Problem solving - To be able to move the character to the desired path
2. Programming - To program the move so that the character could move as desired
3. Critical thinking - To be able to avoid being seen by the Ogre, the player has to think of ways to move the character so that it does not cross path with the Ogre.
Game Elements
Noun: Main Character (for the player), the spikes, the gems, the Ogre / the Brak, the background, the equipments, the language, the methods, the "notepad", the buttons (to run the code / to be done / hints / reset / map / game menu / sign up), the title of the current level, the health status, the configuration buttons (volume button / mute button / volume level / full screen / zoom in / zoom out), the Map, the Clans, the Items, the Heroes, the Achievements, the language toggle, the sign up / login button, the pop-up to inform the kind of syntax we're learning, the inventory and the traps, the achievements (the XP / gems gained).
Verb: Moving the character, typing the program, choosing the equipment, unlocking certain equipments with diamonds, choosing / changing the language, choosing the level at the map, saving the current level, changing the hero, going back to the map, signing up / logging in the game, attacking the enemy, hints, being attacked / die, ability to join clans,
Gameplay:
The game starts with inquiring the player on the language we would like to learn.
Upon starting a level, the game would inform the kind of syntax we're learning on that level and player may choose the equipment needed. Once entering the level, the game would give a list of goals we'd try to complete in the level.
In the first level, the game would provide hint for players to use the methods available. In JavaScript, since the capitalization is important, if the user keys in wrong capitalization, the game would alert that the capitalization is wrong. If we're slow in writing down the program, the game would hint of what to be done.
After a few levels, the game started increasing the complexity of the code. For example, adding parameters to the function.
The Core Gameplay Loop: Solving the challenges by writing codes to move the characters.
Learning Mechanism
The gameplay users the Scaffolding technique in which the code gets a little bit more complicated at each level.
As for the hints, the game uses "Guided Attention" at two places:
1) To hint of the methods available so that the players would know how to start
2) To provide hints of what to be done at the level if the players seem to be slow
The game also uses Feedback principle to provide feedback of how the player is doing. It has checklists as to what the player should complete and it would check the checklist once the player has runs the code.
Overall Critique
For me, I feel like the game is straight to the point and players would definitely learn the syntax of the language. It is easy to understand despite the extra features / nouns that were added to the game.
However, I find the equipment are against the "Coherence" principle. As far as the free game goes, it does not seem to give an impact to the gameplay / towards the understanding of the codes. I find it confusing when I first started - what is the equipment for / how does it serve the purpose?
Comments
Post a Comment