Play it through before continuing to read (so your experience isn’t changed by my explanation!).
This is the first in what will be a series of levels building up to Emphasis on Aim. One of the main complaints about Emphasis was it didn’t provide the information needed to win it. I thought about it and realized that it encompasses many different topics in programming, so I made this one as an experimental ‘tutorial’ level where there’s no actual coding required, it’s just a mini-sandbox for people to mess around in. The next level would be something where you actually do have to write something.
A few questions when you’re done:
Did you read what Anya said?
Did you see the bit in the code asking to check the guide for more info on if/else? Did you open the guide and read the if/else article at all?
Was the guide tab on if/else useful?
Do you think a no-goal-tutorial style like this would work?
If you can have someone who doesn’t know anything about coding try it and post their experience here, that would be awesome!
We could put levels like this into the Guide zone. If we put easier level for basic understanding, and if they want to learn more then play, then yes, tutorials withouth goal work. But it’s pretty boring. People might get bored of reading the code. They learn quicker if they have to do something .
For your other questions, i only opened the guide after you asked me if i did. So no i didn’t, but after i did. And the guide describes well the if/else.
The best thing with your application is fast response and clear goals. This does not provide any of those qualities. Sandboxes are awesome, but don’t disable all the methods. Learning to read code and showing working examples are important, but you already incorporate this into the documentation. Those who want to mess around with working examples can do that with their own solutions.
I read it, but commenting the code for reference and instructions of what the level and functions do, is not very effective. Personaly, when I look at the code, I just want to start. See what the code is doing and then change things.
That kind of important info in the first 2 lines should be said by Anya right after starting the level, IMO. I don’t mind if it is repeated on the code as a comment, though.
I can’t find the if/else guide EDIT: I found it. I always thought the guide was hovering the mouse over the functions and the statements we have available! But yes, it is well explained.
Maybe just in the levels introducing something new. Imagine you start learning what an array is and does. And I agree with the other replies. The player can read all the code he wants at a start of a level to see what it is doing (usually you already do this, but with examples that won’t work in that case).
I found the “level” to be confusing since its not a level but as @Sootn mentioned its a sandbox. I just sort of clicked through it and “beat” it before I even realized I could uncomment anything. Nothing drew my attention to the code so I didn’t really see it before just clicking done.
I think if you separate it from the other levels and have a series of sandbox environments with experimental codes that it would be fun to play with and may teach people about cool stuff you can do with coding. In addition to sandbox environments you may want to experiment with idea of challenge levels, by that I mean having other metrics for their success beyond just finishing the level. How many ogres can you make Tharin slay in a minute. Im kind of idea-ranting right now…
The main point is novice coders such as myself are easily lost/intimidated so if it isn’t clearly telling us what to do we are likely to just hit done if we can.
Not particularly. Without a clear goal, this sort of tutorial gives no incentive to experiment. I gave myself a goal of having Tharin reply to the tower guard as he passes by. Something like that might make the tutorial more engaging and invite experimentation.
I’d suggest you put two units (friend and ogre) close by the tower without walking. They’d just stand there and you’d offer a method that loads nearby units. The player would then have to use an if/else statement to attack the ogre and not the allied, level done. That way, when facing a level where a bunch of ogre/allied units passes by like Emphasis, the player would be better prepared.