Edit: The contents discussed by me in this thread are my own ideas (or a collaboration of ideas), I'm okay with others taking this general premise and using it elsewhere provided they let me know, give a polite nod in the credits, and don't sale it
So I had this idea pop into my head today, but I'm afraid I lack the technical know how to make it happen so I'm putting it up here and if someone thinks it's a fun idea, it's yours to run with (please just give me a nod in the credits )
Welcome to the pleasant village of Thompson and it's closest neighboring village Ritchie, it's a peaceful land where people have learned powerful techniques to get them through the repetitive tasks of work so they can play and have fun. Day and night mighty developers work to create new and powerful techniques for work and play. One day an evil and powerful black hat, a developer whose work has become cruel and twisted, unleashes a virus on the villages that infects the villagers and robs them of their ability to perform techniques. The world grows grey and people are forced to perform their duties themselves. You alone seem to kept the ability to perform simple techniques, but for some reason you can't use other people's techniques, you have to write them yourself! Are you brave enough to travel the lands in search of lost skills to improve your techniques and bring joy back to the lands?
My thought is that you start the game and see people performing techniques (programs) that get them through the mundane chores of life using a blend of actual programming and readable language i.e.
While (floor is dirty)
Ideally, the game would be designed such that you could choose which programming language you wanted to use and the dialogue would change with it.
Once the black hat takes away the ability to perform tasks, the game starts proper. You can perform tasks, but you can only do a single task and then the task ends. Such as "attack" "defend" "use item".
When you write a technique it has to be a full program in the programming language of your choice and there is a list of commands you can use (attack, cast fire ball, etc). The goal of the game is to travel the lands, learn more commands, expand the number of tasks you can do before a technique has to end (a loop counts as 3 tasks no matter how big it is).
It's soon learned that anyone can use a technique you write so you start to build a party and side quests involve finding the right commands to help NPCs perform repetitive tasks as you finish side quests that specific village colors change from the muted tones to brighter ones. A village with all side quests completed gives you a special command or item.
When you write the technique there's no error checking. If you mess up then the technique fails in battle.
Special areas are blocked until you can perform a certain technique to unblock them (not just a single command, but it's a riddle and you have to write a technique (program) to solve the riddle).
What do y'all think? It seems like it would be a fun way to learn programming. If you use the techniques properly than you can actually have them execute when it's not your turn (i.e. If PC dies then raise PC or if PC health is <50HP cast Heal) more powerful commands cost more tasks (you can only perform so many tasks per technique and if you have a background task such as the example above then you have less available tasks to use when it's your normal turn).
Dear forum: Play nice