LSD: Dream Emulator must also rank up there, surely? :)
Gorogoa has been on my “pile of shame” for several years now. Perhaps today’s the day.
LSD: Dream Emulator must also rank up there, surely? :)
Gorogoa has been on my “pile of shame” for several years now. Perhaps today’s the day.
The morality system was a huge disappointment for me. You said most of what I wanted to say, so I’ll be brief.
Right near the start of the game, an NPC outlines the Way of the Open Palm vs. the Way of the Closed Fist, more or less the same way you described them. And I was so excited to see a morality system in which both sides were morally defensible positions. But from the very first Closed Fist follower you meet (just minutes later), they may as well all be monacle-wearing moustache-twirlers who punctuate every sentence with “mwah-ha-ha!”
The worst example that I remember is a bootlegger who’s essentially holding a town hostage. Far from following either philosophy as described, he’s just plain evil, and in fact I easily came up with (IMO solid) arguments for actually swapping the game’s morality labels on the player’s options. But no, one option is clearly “evil”, so that’s Closed Palm, while the other is obviously “good”, hence Open Palm.
Not much of a game really (more of a multimedia slideshow), but I’m finding it very absorbing nonetheless. So far it’s striking a good balance of subtle foreshadowing and keeping things relatively brief.
It seems to be running without issues under Wine/Lutris.
According to the author, the giveaway is in support of World Suicide Prevention Day. Also, at least for me, it looks like it actually runs until the 12th, even though the author just said the 10th.
Whoops! When I looked at the second time that the shift value is calculated, I wondered if it would be inverted from the first time, but for some reason I decided that it wouldn’t be. But looking at it again it’s clear now that (1 - i) = (-i + 1) = ((~i + 1) + 1), making bit 0 the inverse. Then I wondered why there wasn’t more corruption and realized that the author’s compiler must perform postfix increments and decrements immediately after the variable is used, so the initial shift is also inverted. That’s why the character pairs are flipped, but they still decode correctly otherwise. I hope this version works better:
long main () {
char output;
unsigned char shift;
long temp;
if (i < 152) {
shift = (~i & 1) * 7;
temp = b[i >> 1] >> shift;
i++;
output = (char)(64 & temp);
output += (char)((n >> (temp & 63)) & main());
printf("%c", output);
}
return 63;
}
EDIT: I just got a chance to compile it and it does work.
I first learned about Java in the late 90s and it sounded fantastic. “Write once, run anywhere!” Great!
After I got past “Hello world!” and other simple text output tutorials, things took a turn for the worse. It seemed like if you wanted to do just about anything beyond producing text output with compile-time data (e.g. graphics, sound, file access), you needed to figure out what platform and which edition/version of Java your program was being run on, so you could import the right libraries and call the right functions with the right parameters. I guess that technically this was still “write once, run anywhere”.
After that, I learned just enough Java to squeak past a university project that required it, then promptly forgot all of it.
I feel like Sun was trying to hit multiple moving targets at the same time, and failing to land a solid hit on any of them. They were laser-focused on portable binaries, but without standardized storage or multimedia APIs at a time when even low-powered devices were starting to come with those capabilities. I presume that things are better now, but I’ve never been tempted to have another look. Even just trying to get my machines set up to run other people’s Java programs has been enough to keep me away.
I don’t know if this will work or even compile, but I feel like I’m pretty close.
long main () {
char output;
unsigned char shift;
long temp;
if (i < 152) {
shift = (i & 1) * 7;
temp = b[i >> 1] >> shift;
i++;
output = (char)(64 & temp);
output += (char)((n >> (temp & 63)) & main());
printf("%c", output);
}
return 63;
}
You say active waiting, but I wonder if you mean a busy-wait? Busy-waiting is generally bad, but don’t forget that your main loop is just what executes when the OS decides to give your program some processor time. If you just check a stored timestamp vs the current clock at the start of each iteration, and then do nothing unless enough time has passed, control will go back to the OS for a bit, not the start of your next loop, so it’s not a true busy-wait.
The original PC’s hardware timer was… not great, and I believe that the situation only got worse over time. I understand the desire not to waste resources, but modern OSs are designed with the fear of not fully exploiting resources, so there’s only so much you can do.
deleted by creator
It’s not a really big thing, but it is a pet peeve of mine (and some others); the name of the series isn’t “Dues Ex” but “Deus Ex” (day-us ex), as in “deus ex machina” (day-us ex mack-in-a).
“Deus ex machina” literally translates as “God from (the) machine”, and originally referred to a type of stage prop used in ancient plays, then in more modern times the term came to refer more generally to the sort of plot device that used that prop, which is a previously unmentioned person or thing that suddenly appears to save the heroes from an otherwise inescapable threat. At some time in the 60s or 70s it started to become popular to use it in a more literal sense in sci-fi stories about machine intelligence or cyborgs.
Maybe, but it’s gonna be more like SkyNet with electrolytes; it’s what terminators crave.
This genie must’ve read or watched Brewster’s Millions.
I saw it at the cinema and vaguely remember enjoying it well enough. It’s not a great movie, but it’s not awful, either. I didn’t know that it was supposed to be terrible; it looks like reviewers gave it a slightly better than average score.
I don’t expect ever to watch it a second time, if that helps.
Lara Croft and the Cradle of Life, though… All I can remember about it now is that afterwards, my friends and I agreed that we should’ve trusted our instincts and just walked out after about 30 minutes.
That’s still newer than any of my daily-use laptops that are all running full-featured Linux distros just fine. I got 'em all cheap secondhand, and just pumped up the RAM (12-16GB) and installed SSDs.
Looks very interesting, thanks for posting!
Watching the video and reading the blurb, I immediately got some Panzer Dragoon vibes (a lone hero riding a flying mount, an evil empire hoarding ancient technology, biomechanical weapons, lots of airships, Moebius-influenced visual design, Celtic touches in the music), and looking at reviews, some other people have picked up on that too. But it’s not a bad thing; the (solo!) developer seems to have borrowed a few parts of the franchise that they liked and run in a fairly different direction with it overall.
Did you read all the way to the end of the article? I did.
At the very bottom of the piece, I found that the author had already expressed what I wanted to say quite well:
In my humble opinion, here’s the key takeaway: just write your own fucking constructors! You see all that nonsense? Almost completely avoidable if you had just written your own fucking constructors. Don’t let the compiler figure it out for you. You’re the one in control here.
The joke here isn’t C++. The joke is people who expect C++ to be as warm, fuzzy, and forgiving as JavaScript.
Yeah, I’m sure that almost all of us have felt this way at one time or another. But the thing is, every team behind every moronic, bone-headed interface “update” that you’ve ever hated also sees themselves in the programmer’s position in this meme.
When I go to that URL on a stock, direct FF install, I still see that notice.
I think I was kinda in the same boat as you.
In theory, I loved the fact that if you wanted to check, the game would tell you when you theoretically had enough information to identify one of the crew or passengers, so you knew where to focus your thinking. But I got stuck on some characters who seemed to me to be implied or hinted, but for whom I didn’t think I had positive proof.
I eventually got tired of continuously reviewing the same scenes over and over, looking for some detail that I had overlooked, and read a walkthrough to find out what I was missing. It seems that I hadn’t missed anything, and “an educated guess” was the standard expected by the game, not “definitive proof”. But I was burnt out with the game by that point and stopped playing.