It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
What if you could change anything?

<span class="bold">else Heart.Break()</span>, a peculiar mix of hacking, leisure, and adventure, is available now for Windows, Mac OS X, and Linux--DRM-free on GOG.com with a 30% launch discount.

A premise - you can change anything, down to the very atoms of the world. A query - what would you change? An answer - all the little things...
A new home, new place, and a town where atoms have been replaced by bits. It's a good thing that you're a bit of a programmer. So get out there, friend. Get to know the town and its people, with its little nooks and crannies, playgrounds and cafes. Take it slow, play it cool, reprogram a billboard on your way home so that it says "poop", no biggie, whatever. The world is your oyster, and you have all the time to soak it up. else Heart.Break() is a difficult game to truly nail down, but in offering everything from a deep and realistic hacking sim (no previous experience required), a day-to-day life simulator, and an adventure game, it quickly becomes one of the most curious gaming concepts this year.

<span class="bold">else Heart.Break()</span> is available now, DRM-free on GOG.com. The 30% launch discount will last until Thursday, October 1, 2:59 PM GMT.

Stream watch:

Want to see the game live? <B>Outstar will be showing off the title at Twitch.tv/GOGcom on Tuesday, September 29th, at 8pm GMT / 9pm BST / 10pm CEST / 4pm EDT / 1pm PDT in our all-new InDev release show. Tune in!
avatar
Kunovski: if wallet(full)=true goto
shop
Which is redundant, since it leads into one of two tests:
true == true (which will always be true)
false == true (which will always be false)

It stands out to me, since I used to write like that back in the day xD. "Is the value true?" - sound like a reasonable question, but the question should be "Is the value?"...
avatar
Kunovski: if wallet(full)=true goto
shop
avatar
Vestin: Which is redundant, since it leads into one of two tests:
true == true (which will always be true)
false == true (which will always be false)

It stands out to me, since I used to write like that back in the day xD. "Is the value true?" - sound like a reasonable question, but the question should be "Is the value?"...
to be honest, I expected all kinds of "this doesn't make sense at all" comments, my programming stopped at high-school level some 15 years ago :D

anyway, I checked and the wallet is empty actually, so there goes the end of this syntax :D
Now this looks pretty cool! Has anyone tried it out yet?
The visual style reminds me of the PS1 era, with the low-poly characters and pixelated look. Looks kinda nice... well, except for that chromatic aberration effect, which seems to sneak its way into everything these days. Maybe there's an option to turn it off.
avatar
Kunovski: if wallet(full)=true goto
shop
avatar
Vestin: Which is redundant, since it leads into one of two tests:
true == true (which will always be true)
false == true (which will always be false)

It stands out to me, since I used to write like that back in the day xD. "Is the value true?" - sound like a reasonable question, but the question should be "Is the value?"...
Actually, "wallet(full)" implies a function call, and that function takes a parameter that I guess takes varying levels or statuses, then returns a boolean value. Depending on the programming language, the "=" could be comparison or assignment, so we will just assume that it is comparison given the context.

I have more of a nitpick of, can a wallet ever be full?

I would think this would be a better check

if (PerspectiveGame.wantGame() && Wallet.cashAmount() >= PerspectiveGame.cost())
{
if (PerspectiveGame.buy(Wallet) == SUCCESS)
{
Game newGame = OwnGames.add(PerspectiveGame);

// Start download thread
newGame.downloadGame();
OtherActivities.drinkBeerWhileWatchingKittenVideos();
newGame.join();
newGame.play();
}
else
{
OtherActivities.cryOnForum();
}
}
avatar
Kunovski: to be honest, I expected all kinds of "this doesn't make sense at all" comments, my programming stopped at high-school level some 15 years ago :D

anyway, I checked and the wallet is empty actually, so there goes the end of this syntax :D
Maybe there's some kind of infinite moneys hack. :<
I've been reading about else Heart.Break() during it's development.

Glad it's released here! I will pick it up when I get home.
This game's title makes me feel old.
Apparently, and sadly for me, we are in the age where object-oriented notation is the default.
I guess twenty years ago it would have been called "else breakHeart()" or some such.
avatar
Lillesort131: () indicates a function with no arguments in most programming languages. Here, it means that the function Break() in the object Heart is called.
avatar
HeDanny: That neither makes any sense to me, nor does it even read like plain English. I will never be a programmer :(
Lol, I guess one has to have a very unusual kind of brain to actually want to become a programmer. But it is fun when you get into it. Allow me to present you A Quick Intro to Programming 101[tm] regarding Lillesort131's post.

Heart is one "thing" that we can access by writing its name. In the right conditions we call that an object. It can be a representation of anything, not just material, inorganic stuff.
We can then read or change its properties (e.g. Heart.beat_rate ) and we can command it to perform an action, or as we call it, a function [ like Heart.break() ]. We differentiate functions from properties by adding the parenthesis after their name.
Sometimes you need to include information the object may use to perform an action. Jump? Ok, but how high? These extra pieces of information are a function's arguments and they go inside the parenthesis.

I suppose you'll be able to beat this game now :-)
Post edited September 25, 2015 by joppo
Given that Break evidently isn't a reserved keyword, maybe it's a functional language.
Amazing concept for a game.

I liked this part:

Instead of rigid puzzles you will learn (with the help from other characters in the game) how the reality of the game can be changed through programming and how any problem can be solved in whatever way you find suitable.
Sounds very much like Aaron Swartz!
avatar
vicklemos: Totally unexpected release. Artsy, so cool..!
But what's with the () ? What's it supposed to be, a coffee bean?! :D
It's a function syntax which encloses parameters. Same as in math let's say you can write cos(x+y). cos is a function, and () enclose the parameter. In this case it's a function with no parameters - i.e. a function which does something (in this case - "break") and doesn't take any input.

Dot after Heart (and before Break) is a syntax which indicates that it's a method, i.e. a function which belongs to an object. See [url=https://en.wikipedia.org/wiki/Method_(computer_programming)]https://en.wikipedia.org/wiki/Method_(computer_programming)[/url].
Post edited September 25, 2015 by shmerl
Looks very interesting. Will be keeping my eye on this one...
An adventure game with programming mixed in? Sounds pretty cool and definitely worth checking out! Thanks for this interesting game!
Looks interesting, but asking 25$ is a bit steep
avatar
qwixter: I cannot buy this until the name is changed to "else Heart.Break();" It's complete anarchy without the semi-colon, and I keep waiting to see if more is coming.
Not all languages use semicolons to end statements, it's very possible that the language of the game uses line breaks.
This screenshot seems to use line breaks for both statements (Print, break, assignment) and blocks (if, loop).

avatar
mrkgnao: This game's title makes me feel old.
Apparently, and sadly for me, we are in the age where object-oriented notation is the default.
I guess twenty years ago it would have been called "else breakHeart()" or some such.
Or "else heart=break(heart)", if avoiding global variables.
Post edited September 25, 2015 by Maighstir