Domain: inform7.com
Stories and comments across the archive that link to inform7.com.
Comments · 18
-
Re:Why bother?
Simple answer to that question: To teach children how to break down a process. I learned programming concepts before I learned about other things. Coding CAN teach analytical skills if people don't just copy and paste. Of course when I learned programming from Logo, Basic and Pascal you couldn't use the Internet to look everything up. Just had to try and break down the problem. I've taught children as young as 6 programming concerts and others are trying to teach the basic concepts at a younger age, like a game, which I think is rather brilliant. you can teach programming through board games.
https://www.kickstarter.com/pr...
https://en.wikipedia.org/wiki/... (yes. believe it or not it CAN teach pattern recognition which is good for programming and other things)
http://home.bloxelsbuilder.com...
http://codemonkeyplanet.com/ (this one I haven't tired but it looks FUN
A simple answer besides giving more ideas of how, is because you don't have to be a math wiz to be a great programming. It's about problem solving. I've always seen it as a a MacGyver type of affair: see the problem use what you have, make it work. Math can help, but not essential. Problem solving skills and being able to break a task down is THE most important part of programming, and that children should be developing as fast as they can for everyday life.
Oh, for video games that teach programming:
https://codecombat.com/
https://checkio.org/
https://vim-adventures.com/
http://www.cyber-dojo.org/
https://lightbot.com/
http://importantlittlegames.co...
https://www.gog.com/game/space...
https://www.gog.com/game/human...
http://www.machineers.com/#_=_
http://www.rpgmakerweb.com/pro... (this is more for making RPG games rather than a game, but students from 11+ seem to like it, I specifically link to the "XP" version because the others seemed less intuitive for students)
For aspiring writers to do their craft and do/learn programming:
https://renpy.org/ (specifically for graphic novels, the rest are all text only)
http://textadventures.co.uk/sq...
http://textadventures.co.uk/qu...
http://inform7.com/ (for zork fans especially)
http://www.tads.org/
https://twinery.org/
I've used many of these to help in teaching programming to children of various ages. Hope you all find this list useful. -
Look forward to the enhancements in other engines
Inform7 ( http://inform7.com/) , Twine (http://twinery.org/) Quest (http://textadventures.co.uk/quest/) , Adrift (http://www.adrift.co) and other text adventure programming engines may get a nice boost from this.
-
Re:Let's "program" computers in English, or Latin
I thought it was the idea behind COBOL, too.
But if you really want to see how far this idea can go, look at Inform 7. -
Re:Creating interactive fiction to learn programmi
Inform is a great tool for creating interactive fiction. Since it requires logic, branching, etc. I always thought it'd work well as an introduction to some of the thinking that is required in the design of programs.
It's interesting that you mention this. I actually teach a Theory of Programming Languages course at a state University, and the first (out of five) languages that I introduce to my students is Inform 7. I do so for a few reasons:
1. It's a great introduction to "specialty" programming languages. An example of how languages can be created and used for highly specialized use cases.
2. It's a very unique way of looking at programming (unlike Java, which has been drilled into the CS students since Freshman year).
3. It has full language documentation in an accessible form, like grammar tree and parse generation tables.
4. It's fun to make games and I think logic games fit in well with a Computer Science course in tandem with CS language concepts.Although, strangely, #4 is quite polarizing among my students. I only get one of two responses typically: "I hate it!", or, "This is awesome!". I guess game creativity isn't something that people usually take CS courses for...and since it's the "easiest" of the five languages to pick up, my students typically have a shortened time to learn it. So maybe that's it...
-
Creating interactive fiction to learn programming
Inform is a great tool for creating interactive fiction. Since it requires logic, branching, etc. I always thought it'd work well as an introduction to some of the thinking that is required in the design of programs.
-
Inform 7
You could have him look at Inform 7 and its associated examples for interactive fiction. It uses a subset of English to express the game setting and logic, and exercises programming and small-to-large-scale writing skills. The (IMO) very nice UI also assists in organizing and testing the game structure and execution as well.
-
Re:Will the door have windows?
It's funny. In he intervening years, text adventure authoring has come a long way. It's now possible to create games in a near English functional programming language.
http://inform7.com/BUT the games compile down to the age old Infocom game file format, and so are limited to the ancient concepts of wandering between rooms and manipulating objects. And whilst the range of user input that can be understood has expanded, it's still just combinations of "verbing" and "object" or moving by compass directions.
Still, some authors have managed to be creative even within this limited game engine, and create games that don't APPEAR to be simple rooms and objects games.
I wonder, would a truly unlimited interactive novel be fun to play? It could be tested out by a kind of Turing test scenario. Have a player play such a game, and have a real novelist provide the "game" text. Of course such a thing would entail the player waiting a considerable time between "moves". But it would mean that their input would be boundless, they could do anything in the "game".
Considering how hard it is for most authors to get things published and make a living whilst they are writing, this might even be a feasible real way of gaming, allowing authors to make a small income whilst doing their chosen activity. Though it would need to be a pay-per-move system.
-
Re:Lets Clarify.......
Never heard of Ren'Py before. Its scripting language kind of reminds me of Inform 7.
-
A co-author's thoughts
Hello. I'm one of the co-authors of the workshop paper that inspired this article. I say "inspired" because the article is completely misleading.
First off, the paper was a position paper. It was primarily speculation about how we could do authentication in the future. The idea behind it was that humans are bad at remembering very specific facts but are very good at remembering stories - narratives. What would it mean to authenticate using stories? Think about how you'd verify the identity of a friend communicating via text message from an unknown phone number or account. Make a computer do that.
And yes, fully developed such a system would be AI-complete. But I think there are lesser incarnations that might be usable and secure. But that is just educated speculation on my part.
Now the paper did present a simple example of how you could do something kinda-narrative-like using text adventures (yes, think Zork). Such a system isn't discussed in more detail because there are many usability challenges. But it can be done. Carson Brown got his Master's thesis in fact by by building such a system. (Yes, I was his advisor.)
If anyone wants to build a PAM module based on Inform 7 drop me a line. Could be fun! But it won't be practical.
If you want to learn more, the paper is "Towards narrative authentication, or, against boring authentication.". The workshop in question is the New Security Paradigms Workshop.
And in case you were wondering, none of us are doing any follow-up work on this right now. But I'm always open to collaboration opportunities.
:-)--Anil Somayaji
-
Re:Shortcoming
Nothing better than writing "Add one to number of gadgets, storing result as number of gadgets." instead of "nGadgets = nGadgets + 1;" or even "nGadgets++;"
If you're so inclined, COBOL is over there, and Inform7 is over there (and it's pretty interesting in its own way).
Seriously, syntax is never the problem, logic and the need to explain every step is the problem.
-
Inform 7
Inform 7. The good thing about text adventures is that they don't necessarily require gigantic graphics and sound budget - you can focus entirely on storytelling.
Inform 7 is also a good example of how programming can be extremely unintimidating. Inform is one of the few "natural language" programming languages that actually accomplish the goal of being an usable programming language and not making programming too verbose.
I think I7 would be a good platform for introductory games from a pedagogical point of view, at least - it lets you focus on creating puzzles, internal logic and story, which to my non-expert understanding are probably fairly important topics when you actually sit down and design games. =)
-
Re:The dream that will not die
rargh. You should look at Inform 7.
-
Inform 7
While not completely free-form, writing interactive fiction in Inform 7 is done mostly in natural (if somewhat simplified) English. So it's not like these things are new.
-
Inform 7
For those who felt a creative urge when hearing this, take a look at http://inform7.com./ It's easy to use, but it helps if you're a programmer since the way the "english langauge" and grammar gets translated to objects and relations have some gotchas.
-
Inform 7
Inform 7 might be of interest. It's a tool for creating interactive fiction (otherwise known as text adventures). It uses a natural language syntax, and it's dead easy to learn the basics, making it ideal for non-techy types.
Text games might not be the kind of thing you initially had in mind, but this could be a useful way to teach topics like storytelling, characterisation, dialogue trees and so on. As an added bonus, your students can have a prototype game up and running in no time, with the accompanying sense of satisfaction, rather than having to spend weeks learning complex tools first.
-
Re:Underhanded Way to Increase Comments in Code
Inform 7 does something similar. It's a highly domain specific language, designed solely for authoring interactive fiction, but it too uses a natural-language type syntax.
Opinion is divided over how successful the language is. It certainly seems to encourage some people who would never otherwise have tried programming to give it a go. It also results in some very readable code. For expressing complex algorithms, however, its effectiveness is more debatable.
-
Re:It's not about the learning curve.
I haven't actually seen this language, so I can't say for sure, but I would argue that many programming concepts are easier to express in actual code, or at least pseudocode, than in anything truly resembling English.
On the other hand, there are concepts that are easy to express in English, but difficult to express in most programming languages.
For example, relative clauses showing the relationships between objects. Take a sentence like "if the Style menu contains a checked item corresponding to a font style which is not provided by the current font, uncheck the item". To translate that to code (say, C#), you'd probably have to write something like:
foreach (MenuItem item in styleMenu.Items)
if (item.Checked) {
bool found = false;
foreach (Style style in currentFont.ProvidedStyles)
if (style == item.CorrespondingStyle) {
found = true;
break;
}
if (!found) {
item.Checked = false;
break;
}
}That's a lot more code, and its function is less obvious. Even using the SQL-like LINQ syntax, it's a bit unwieldy:
var query = from item in styleMenu.Items where item.Checked && !currentFont.ProvidedStyles.Contains(item.CorrespondingStyle) select item;
foreach (var item in query)
item.Checked = false;But in Inform 7, which resembles English and makes use of concepts (like relative clauses) found in English writing, you can use the sentence almost as written:
if the Style menu contains a checked item (called X) corresponding to a font style which is not provided by the current font, now X is not checked;(Of course, Inform 7 is made for writing text adventures and isn't suitable for general-purpose programming... yet.)
-
Re:Did someone say "programmable platforms"?
"What if that environment allowed the display of English text? What if the environment had English equivalents for some symbols?"
Like, for example, Inform 7?
It would suck if Apple disallowed that.
But hey, it's the GUI visual age! All pointy-clicky with the grunty. Wait, sorry, grunts aren't allowed, they could be interpreted as "language". Language bad, tree pretty.