Hacker News new | ask | show | jobs
How Else Heart.Break() turns players into coders (gamasutra.com)
72 points by eriksvedang 3917 days ago
4 comments

I've been working on a programming game of my own along similar lines: http://technomancy.itch.io/bussard

The setting is interstellar rather than urban, and it's still in the early stages of development, but the idea of everything around you being made out of code is central in both. The idea is that your ship behaves less like an arcade game and more like a mashup between Emacs and orbital mechanics--the config file for your ship binds keystrokes to various systems on your ship, and you're never more than a keystroke away from a REPL. But the functions that control your ship are available as an API you can call from your own functions as well.

I'm hoping that at some point it can become polished enough that it could be the means by which beginners could learn to code. There's something about having a "real-world" purpose behind your coding that can really catch the imagination of kids especially.

A good example of this is how earlier today we were testing the game and flying around, and we noticed that an asteroid had fallen into a very close orbit around a particular star. Normally matching velocity with an asteroid in order to mine it is rather tricky when the velocity is steady, but when it's careening in low orbit around a star it's virtually impossible. But by writing a 6-line function that checked the distance between the ship and the asteroid and only activated the laser when it was in range, eventually the wild gyrating around and firing made contact, and the asteroid was destroyed.

I don't think I've seen my kids as excited about a single function worth of code as when that asteroid blew up.

I love live coding environments, and yours looks really fun.

Being so easy to embed, Lua is perfect for basing a live coding environment on. Here is one I made that is also based on Lua, as well as an assortment of other embeddable languages: https://github.com/createuniverses/praxis

Being able to change the universe/game while its running is why I made this.

Wow, this is very cool. It shares a lot of the underlying motivation I had in making my own game, but it's much more abstract--I wanted to make it a game specifically in order to get my kids interested, but the same underlying sense of fluidity and hackability is what I'm trying to convey in my game.

That feeling is what can make programming particularly exhilirating and rewarding, and I'm hoping to capture it in the medium of a space game whereas your project seems to be more about exploring programming for the sake of programming and seeing where it takes you.

FWIW my future plans do include embedding other languages in the game. Right now it's just Lua (and Unix, to a degree), but I'm hoping to make it so that you can discover other civilizations built on wildly different technology--at least Scheme and Forth; possibly a DOS-like system thrown in there for giggles depending on how much work it turns out to be. At first you interact with these OSes as they are installed in space stations you encounter, but eventually you learn how to load them into your own ship (virtualization) so you can take advantage of certain in-game technologies built around them.

Game site - http://elseheartbreak.com/

"A game about friendship, love and technology in a place where bits have replaced atoms."

"The game is out now for Windows, Mac & Linux on Steam, GOG & Humble."

normally will be $25.00 currently on sale for $17.50; Sale ends in 4 days

This looks interesting enough that I feel like everyone else must already know all about it. This is the first I've heard of it though.
It looks like it was just released on the 24th.