So it appears indeed nobody has brought up the idea of a wiki yet!
I have talked about this in a previous post, now I’m proposing a more concrete solution:
We should have a collection of knowledge about the challenges of CodeCombat, and examples of tried ways how to tackle them, in the form of a Wiki!
Wikis are the best way of collecting proven knowledge that we have nowadays.
This forum is awesome for q&a, i.e. for opening questions the answers to which aren’t found anywhere yet. When those question are answered though, it’s time to collect an organize the answers in a Wiki.
Learners document their own secrets uncovered during play and keep them in a silo. While this helps the ones who uncovered those specific secrets,
It does not help them with the obstacles that were uncovered by someone else, because that someone also kept it to him/herself - and
I don’t understand why there’s a need for secrecy here. CodeCombat is already fully open source, so that can’t be the issue. If we don’t want CC to publish the solutions to the levels so people can just copy them - I agree! That’s not what the Wiki should be for. It’s for collecting and organizing information that is needed to solve the riddles by oneself!
Here are some examples of informations that meet the follwoing criteria:
- they are needed for completing a level, i.e. one cannot complete the level without having that information, unless by accident.
- they are not mentioned in the hints section or the methods section
- those who know them are either developers or found out by accident/trial and error, or by asking in the forums.
- it is not instructional to either find them out by trial and error/by accident or to fail a level because of not knowing them. Finding out these things does not help to understand code - they are just obstacles specific to the world of CodeCombat but knowing them doesn’t help you to be a good coder.
- those who don’t need these infornmations to play will not get their fun spoiled by the existence of the Wiki. You only look it up if you want to.
- Some soils in CC are slippery. When ordered to move to XY, the hero will not stay on that spot, but slip beyond it a bit. The Wiki could contain a list a those soils and the levels where they occur.
- weapons have speed, there are slower weapons and faster ones. The metric for that speed is not DPS (damage per second) as indicated in the shop: weapons with high DPS can still be very slow. One has to do a calculation in order to find out the actual speed. Why the actual metric for a weapon’s speed is not used in the shop is beyond me - but at least the Wiki could be a place where such information is found. In some levels, a fast weapon is needed to win. The Wiki could contain a list of those levels.
- Different heroes also have different walking speeds. Some levels can only be passed with a faster hero. The Wiki could contain a list of those levels.
- Stats of heroes are only indicated as colored bars in the hero gallery. Numbers are only shown when pointing the mouse at each bar. If you don’t want to show the numbers in the heroes gallery (for whatever reason) - they could be listed in the Wiki.
hero.findNearestEnemyreturns an object. It has various properties, and using them in one’s code is often crucial to winning the level - but they aren’t listed anywhere. We can only find the properties by trial/error, by accident or by asking in the forum.
- the methods section basically mentions only the syntax and an example for each section. The Wiki could hold way detail for each, e.g. what kind of object they return.
enemy.typeis a string,
coin.valueis an integer,
findByTypereturns an array etc. etc.
- the position of objects is stored in a dictionary. To use positions in one’s code, understanding dictionaries is handy.
I’m sure others have come across numerous other such things. I’ll just call them “non-instructional obstacles”: some may like them and feel part of playing a game is that it’s difficult (and that guessing what those diiffculties are and how to tackle them is also fun) others - like me - may perceive that they are just frustrating and they don’t help me learn.
CodeCombat, please host a Wiki and let me and others of the second kind collect information about the non-instructional obstacles of CC. I feel this would be an enormous step towards improving the learning experience!