Live data from Hacker News

Cramming 'Papers, Please' onto Phones

dukope.com

141–150 of 187 posts

Re: Cramming 'Papers, Please' onto Phones

#141
post #99

Haxe is really unusual and interesting, and I don't think it gets talked about enough. > Haxe can build cross-platform applications targeting JavaScript, C++, C#, Java, JVM, Python, Lua, PHP, Flash, and allows access to each platform's native capabilities. Haxe has its own VMs (HashLink and NekoVM) but can also run in interpreted mode. Compiling from one language to another isnt particularly unusual, but compiling fr…

> The "real" compiler authors spend months working on linkage, calling conventions, runtimes, symbol mangling, allocators, and debuginfo

Don't worry: targeting high-level languages gives you a different, equally-frustrating set of problems! Actually, many of them have equivalents to the low-level ones: you also have to worry about calling conventions, name mangling, runtimes… they just look quite different.

Especially you want to support any kind of dynamic functionality, there are many uncomfortable trade-offs involved.

Re: Cramming 'Papers, Please' onto Phones

#143
post #40

Earlier quoted context omitted.

Yes, the guy is honestly some type of genius. To be this talented of a programmer, and across multiple platforms, languages, and toolsets just dazzles me. It's hard enough to just be competent with one platform. I can't imagine. And on top of that he composes the music and makes the art and literally everything else. I honestly just don't understand how a person can get that good at that many things.

He's also a fantastic game designer. I played through Return of the Obra Dinn last year and it was one of the coolest game experiences I've had. It really doesn't hold your hand, it's just using logic and clues to piece together a mystery and put names to faces. Keep a notepad handy and it's a real fun time!

His post on how exactly he came up with those really nice 2bit graphics in a way that it doesn't hurt the eyes and creates that very unique look was very enlightening.

Re: Cramming 'Papers, Please' onto Phones

#144
post #94

Earlier quoted context omitted.

> Any other dev would just make it a static image and call it a day. You think so? Games are often full of little things like that. That's a good thing to point out, but it certainly doesn't seem as unusual as you paint it. Letting the user be playful is generally what games are good at ;)

I agree that good games give you things to play with, but this is literally the toggle to slide out a UI element, and only exists because a phone screen was too small for the original design to fit. If it had been a little triangle that you tapped, no one would have said anything. Instead it’s got realistic chain physics and jingles around as you move the card. I’m trying to think of another instance of “sliding out…

There is barely any external UI in this game (at least when you're actually playing), most of what you see is in universum. Had the game chosen a different art style, those could be 3D models that you would interact with in 3D space. You can easily imagine putting a VR headset on and having all these documents, stamps and pullchains around you, so it's only natural for them to behave in a realistic way - just like, say, SUPERHOT VR is started by pushing a floppy into the drive, when it could be just a simple button.

Re: Cramming 'Papers, Please' onto Phones

#145

Earlier quoted context omitted.

https://apps.apple.com/in/app/papers-please/id935216956

I thought this just came out for mobile? There's reviews that say 7 years ago.

Used to be iPad-only, now it supports iPhone, too. See also the v1.4.0 entry of the version history.

Re: Cramming 'Papers, Please' onto Phones

#146
Desktops still exist! In fact streamers and PC gamers use them! I don’t really play games on my phone I think the people that do are usually playing games because it’s convenient or prioritized in cost over desktops, since everyone believes they and there kids need phones.

Re: Cramming 'Papers, Please' onto Phones

#148
post #99

Haxe is really unusual and interesting, and I don't think it gets talked about enough. > Haxe can build cross-platform applications targeting JavaScript, C++, C#, Java, JVM, Python, Lua, PHP, Flash, and allows access to each platform's native capabilities. Haxe has its own VMs (HashLink and NekoVM) but can also run in interpreted mode. Compiling from one language to another isnt particularly unusual, but compiling fr…

Haxe's transpiling helped me in a project once. The client needed a small-ish web app written ASAP, but they didn't know anything about their backend/stack when asked since they were non-technical and using an external provider for everything. The provider was not responding to emails for some reason, and the deadline was approaching, so I decided to start writing the thing in Haxe.

I figured they were either running PHP/SQL or Node, so I wrote a simple backend in a way that would make it easy for to deploy to either one with minimal changes. By the time the provider finally replied, the project was nearly half way complete. It turned out that they were using a standard PHP/SQL stack, so had I gone with Javascript there would've been problems. Instead, all I had to do was change one flag in my build system.

I don't know if this is a big selling point for Haxe since it's such a highly specific situation... but it's probably at least worth mentioning :P

Re: Cramming 'Papers, Please' onto Phones

#149
post #113

Earlier quoted context omitted.

There's also that Haxe is older than a lot of the stuff we take for granted today. It's roots are in ActionScript, and it started as basically a successor to AS2 before Adobe came out with ActionScript 3. It did "same codebase on server and client" by compiling to flash bytecode and PHP before node existed. It's ECMAScript/AS roots + static types + type inference make it feel like alternate-timeline TypeScript as it…

one aspect that's a bit underrated in haxe isn't just the cross-compilation, but the macro system - it's way more powerful a macro system than the regular macros found in C/C++. It's closer to a LISP macro, but only at compile time (rather than also runtime macros). For example, you can define a json file, and have a macro that produce a class that matches that json file's fields. It would type-check (and you get aut…

Another cool thing about macros is that, since the Haxe compiler itself implements a language server, you can go really crazy with AST manipulations and it will all show up in your IDE's autocomplete feature (if you have one).

There was a demo I saw a while back where someone added Google search suggestions to their IDE by hitting a Google endpoint in a Haxe macro.

Re: Cramming 'Papers, Please' onto Phones

#150
post #19

Earlier quoted context omitted.

A lot of it is about tradeoffs (long term vs one-off projects, business stakeholders, and a long etc), but there's also significant selection bias. Most "indie" projects die before having much of a playable thing, and many successful solo indie projects can take many long and grueling years (e.g. Stardew Valley). Engineering in most organisations will place stability and predictability very high among priorities, and…

I think we can ignore the selection bias because I’m not aware of any “AAA app” (for lack of a better term) that moves as quickly and productively as the best game studios do (see my comment about Grinding Gear Games below). Additionally, these apps employ engineers that are supposedly amongst the best money can buy. At least, if there is some better way to hire top engineers it should be fairly obvious in AAA app ou…

Part of that is probably that game developers tend to be passionate about the work they do, whereas most people working in app development probably don't give too much of a shit about the boring apps they're making. It's hard to get motivated when you're just making a glorified front-end to a database, another e-commerce site, etc.

Of course, the tradeoffs in work-life balance for game development is massive, so it's not like that extra productivity is free (unless you're management). Nobody working at a typical software firm is going to be expected to crunch 12 hour work days for weeks just to ship.

Post reply on HN