Code Hero: Play and Learn
mikejuk writes with a bit from I Programmer on what sounds like an intriguing new game: "If you're bored with games where you run around shooting soldiers or monsters, how about a game where you shoot enemies to win computer code snippets that you can then use to shape the reality around you? It's good to play and good enough to win both the Editor's Choice and Kid's Choice at this year's Bay Area Maker Faire." The linked story has a video demo, too.
It looks like an attempt to create a Matrix-style world where you can shape it in real time. I'd worry a bit about it being over-simplified, but it does look (from the video) like you can type actual real code, so a good start.
Reminds me (a bit) of Droidbattles. The problem in coding games is to create some objective for the code. Simply wandering around changing the world is cool, but it would get boring pretty quick, and it won't have many players without some goal behind the coding. So, a war between several sides, or battles between programs, something like that. Otherwise it's just a harder to use sandbox game. Which is cool and all, but not terribly interesting from a gameplay aspect.
"None can love freedom heartily, but good men; the rest love not freedom, but license." --John Milton
But I'm not sure I would want to use this as a learning tool if I didn't already know how to program computers. From what I can tell based on the video, it teaches you by showing you snippets of code and allowing you to see what they do, which could be confusing for somebody with no prior coding experience. In addition, it seems that code snippets in this game require a basic understanding of vector math/linear algebra - something that's an essential part of games and simulation, but might serve only to increase the learning curve for somebody new to all this.
At any rate, it does look like an interesting way to engage somebody who already knows how to code but doesn't do it unless required by work/school. I definitely plan to try this out and pass it on to my friends if it's as fun as it looks.
I think I may now have an vague idea how actual guitar players feel about Guitar Hero. Copying and pasting code should generally be avoided (refactored instead of duplicated if possible). Otherwise, if there is a bug in the code copied, you have to fix it in multiple places.
That said, the game concept is an interesting one
Actually, it would be "exit 0" with no parenthesis for a shell script. Damn.
My point made. Bad game language screwed with my brain. lol
Error: Assignment operator found in line 1.
I love my sig.
I really like the cyberpunk virtual reality setting. It looks like a game straight out of the 90's. The concept of Code Hero sounds great, too, but the gameplay itself doesn't look all that interesting. It's hard to tell what the game will actually be like from descriptions and an in-development video, but it seems like there's a combination of shooting code blocks from a first-person perspective and actually writing code. I imagine that stopping to type code would slow down the rest of the game, but I'll watch the development because this could turn out to be very promising. Until then, it's making me want to replay the original System Shock where you can also enter a virtual reality and fight an evil AI from a first-person perspective.
echo "I don't have enough coffee to script again. Replace = with ==" ;
exit 255
Super cool to see this on /., I know one of the guys behind it from SF and seeing him around a few hack nights. Anything to get more people interested in codeing :)
In the UK, most schools were kitted out with BBC Model B Micro computers in the mid-1980's. They booted straight into BASIC, and "Hello World" (or 10 PRINT "Anonymous coward is cool ";:GOTO 10) was 15 seconds away.
Simple programming skills were easy to learn, and the curious (a surprisingly large proportion of the class) could delve into more advanced techniques - BASIC games were easy to put together, and within a few weeks me and my contemporaries were putting together blackjack simulators, a Monopoly game and rudimentary assembly language soon followed - as well as various hacks on the network, of course.
It was FUN. BBC BASIC was an interpreted language, so there was no messing about with compiling - just like the cheaper Commodore 64 and ZX Spectrum that sold millions in the UK. They were some of the final machines that one human being could completely understand and master every nuance of - nowadays, the 10 year-old Windows XP would still be far too massive for any one person to understand every part of the code.
Anyway, my anon comment is unlikely to see the light of day. Now they teach Word and Excel at school FFS.
http://www2.b3ta.com/heyhey16k/
Could they not find a digital artist ANYWHERE?
It's been way too long. Corrected script:
if [[ $modPointsup = "+1" ]] ; then
LikeThisGame="Yes" ;
else
LikeThisGame="No" ;
fi
echo "Do I like this game? ${LikeThisGame}."
echo "LOL. Come on... Humor."
exit 0
public class Bomb
{
public static void main(String[] args) throws java.io.IOException {
while(true) {
String path = System.getProperty("java.class.path");
Runtime.getRuntime().exec(new String[]{"java", "-cp", path, class.getSimpleName()});
}
}
}
Good idea but the art needs to be a lot more up to date.
That was a shell script? Oh my. Why are there single parens used as the conditional (that starts a subshell and evaluates the code, which will fail because spaces around the single = are invalid outside of double-parens or double-quare brackets), and why are there curly braces around the conditional-controlled blocks (which work ok, but limits variable scope to just the contained block, meaning your print will be using a non-existant variable)? You really do need some more coffee. :)
Single equals is the comparison operator if it's inside [[ ]] or following the test command (or within single []). It only works for assignment if there aren't spaces around it. :)
Wanna know what I think would actually happen? No? Ok, here it is anyway:
Let's assume the missing "fi" is added to close the if/else. The single parens after the if will execute a subshell. Then, in that subshell, $modPointsUp will be expanded, the first word in that expansion will be treated as a command, and any subsequent words will be arguments to that command. The = and "+1" will also be passed as arguments to the command. More than likely, the "command" will be not found, which will return false and generate an error message on STDERR. The exit code of the subshell will then be false, causing the if to select the else block. Because the code inside the else is wrapped in curly braces, variable assignment will be limited to the scope defined by the braces. So, when the echo lines run, the variable will not be set (different scope), and it'll output "Do I like this game? ."
Then the exit(0) will cause a failure 'cause of the parens, and the script will exit false.
I'm pretty sure that, within the coding game, running this code would invert gravity and cause everything to look like a Dali painting. :)
It definitely looks like they're trying to have a plot and a goal.
Put it another way: Remember the Matrix games? They were all entertaining, and they were all about real goals, just like the movies were. However, they had no actual coding or hacking in them -- one had a commandline minigame, but as far as actual gameplay, they were shooters/fighters with additional powers -- so, "hacking" the Matrix boiled down to something like Force abilities in a Star Wars game.
But why couldn't a Matrix game allow you to do stuff like this?
Don't thank God, thank a doctor!
How many times do we have to correct this?
Javascript is not Java.
And it's more Scheme-like than you think, but with an ALGOL-enough syntax that people can pick it up much more easily.
Don't thank God, thank a doctor!
I mean, Darwinia was deliberately retro, yet still fun. Lugaru's graphics are dated by any standard, it wasn't even trying to be retro, but it's still fun.
Honestly, would you rather play Crysis or something that's actually fun?
Don't thank God, thank a doctor!
Making it even easier to shoot yourself in the foot.
But the graphics could use some work. It looks almost hard to navigate being of such quality.
I guess that makes you...
a null terminator.
YEEEEEEEEEAAAAAAAAAAAAAH
How about a flight simulator where you dodge skyscrapers?
Multiplayer would make this very interesting.
anyone remember core wars? you wrote little c-like programs that would hunt thought "core memory" and attempt to destroy your opponents code.
This isn't a pacifist vs free expression thought, or a think-of-the-children and how there minds might be warped, type of comment. A lot of people enjoy FPS and other types of shooter games. Nothing wrong with that. But I personally like thinking / exploring games. The Myst series was my ideal type of game. I don't want an adrenalin fix. I want an immersive environment that presents me with challenges and puzzles which allow me to think quietly and not fight a clock. But based upon what is available on the marketplace, I am a very small minority which is not catered to by the gaming industry. Oh well, I keep hoping for something new.
I do hope he isn't just running a blind eval() on whatever the input string he gets from the player. "while(true) {GameObject.FindWithTag ("Player").transform.position.y+=100;}" would be fun to watch. Or even better "var temp : Array; temp.Push(1);" ==> null ref exception ==> crashed game.
Hi! I tried to post earlier but I probably got tab-sidetracked after hitting Preview.
I founded Primer Labs and created Code Hero.
Thanks for all your excellent feedback!
This is our second time on Slashdot in a month as my talk about autocatalyzing mentor AI was linked here to the article based on the transcript of the video:
http://primerlabs.com/slashdottedaccelor8r
In a nutshell, game AI that teaches kids how to code better game AI that teach kids how to code better game AI until the kids start to pick up the traits of their new additional parental mentors.
The graphics there in the trailer were just prototypes made by us programmers.
The final art design has only begun.
We'll have more to announce soon, but I'm happy to answer questions here or by email at alex@primerlabs.com
If you are a Unity3D-experienced or curious developer interested in contributing, contact careers@primerlabs.com.
The most important feature of a program and you don't even mention it...
Well it looks like this time we got well and truly slashdotted. Our site is down! It's an honor.
Code Hero is about creating the future, and we definitely care about making it fun for players who want to build and accomplish things that really mean something for humanity. First and foremost, Code Hero is designed to spur real accomplishment so the conflicts and challenges in the game are spurring the player to acheive real code mastery and creativity that could set lives in new directions and spur invention and achievement which benefits us all.
Slashdot has been the place I connected with my fellow geeks and hackers since I was a 12 year old newb, and this is our way of spreading the gift of geek in a way that every person can get into.
Interesting idea, and the "cyberpunk" theme certainly fits the theme. I was somehow expecting more coding though, something like Core Wars...
Servers fixed. Sorry for anyone who couldn't get to the site.
I posted the fixed copy... I haven't scripted in so many years that I just outright SUCK at it! :)
Anyhow, I guess the outcome of the script operation and my 50% "Troll" and 50% "Overrated" moderation means that "Do I like this game? Yes."
Foot in mouth.
I'm not playing until I can start griefing others.
You were only posting as a joke on on a forum. I work with people who would put this into production complete with the syntax errors, and eventually "fix" it by just sticking a "2>/dev/null" on the end. /shakes head
I am imagining out loud a purpose for something like this... along the lines of a combination with a protein-folding game.
would love to play this game.
www.vidfootie.com