HN user

tikotus

399 karma

Making games in many forms Daily logic puzzle: https://cluesbysam.com Ad free mobile games: https://games-by-sam.com Physical mystery puzzle magazine: https://cluehound.com Consulting: https://adartis.fi

Posts3
Comments99
View on HN

Finnish technology students played an elaborate prank when the ship was being lifted. Just before the event, a group dived down to the ship and planted a statue of Paavo Nurmi, also known as "The Flying Finn", on the deck. When the ship was finally lifted, the legendary Finnish runner was one of the first things they discovered. This played well with the friendly rivalry between the neighbours, though the Swedes did not appreciate it as much.

https://fi.wikipedia.org/wiki/Vasa-jäynä

I used to work at Rovio (the creator of Angry Birds). Everyone was telling the story of a talk given by Peter Vesterbacka, the head of marketing. When it was time for questions, a man from the audience asked what physics engine the game uses. Vesterbacka gives the correct answer, Box2D, to which the person replied with another question. "Why isn't it mentioned in the credits? And by the way, I'm Erin Catto, the creator of Box2D." To this Vesterbacka replied "Come talk to me after the show". Maybe that's when Erin was given the hoodie? Also, his name was soon added to the credits.

But one thing amazed us all. It was impressive that the marketing guy knew which physics engine was used!

Oh, nice! What a wonderful surprise!

Very easy to build, and quite small. A release build of the library is 916K (on macos at least). I have a game engine that compiles to WASM for web, and having 3D physics has been a challenge. 3D physics libraries tend to be large and hard to compile. I didn't try yet, but compiling this into a WASM library with emscripten should be easy, and it's likely small enough to be justifiable for a simple web game.

Germany is not EU though. Very different bureaucracy in different EU countries. Up to a point, EU doesn't add a single bit of bureaucracy to the stack. Only once you reach a certain limit you will have to enroll in an international VAT system, which is not too bad.

EDIT: Just re-read your message. I thought it said EU. But the point stands, Germany is not Europe either.

PHP's Oddities 2 months ago

I hadn't done any PHP in almost 20 years, not since my studies when LAMP was still the way to go. But recently I had a reason to create a dynamic web page (not what I usually do) and went with PHP. Haven't regretted it.

I haven't run into any of the quirks. I keep things simple, and it just works. The only problem I ran into was the realization that PHP is the wrong tool for long running tasks. After some rogue requests/users running my whole service to ground, I had to move the long running endpoints to node.

Async stuff, vector math (vector value type) and special let-style forms for pushing/popping render states. For example, if I want a drop shadow, I can do (vfx/drop-shadow [settings] ...) and a drop shadow effect will be applied to what is rendered within that scope. Also GC that works well with game style allocations where most of the allocations are dropped every frame.

I was also curious about this, and I don't think the other replies understood what was being suggested.

If I understood correctly, the aim of the engine is to lower the in-memory size of the history of game states, by only snapshotting the delta. I'm also curious what would happen if, instead, you'd just run any deterministic snapshottable physics engine, and delta compressed the history on the fly. I think this is how, for example, Braid works.

Might be that it doesn't work, that running the delta check on two big enough snapshots would be too slow, and that's what this engine fixes. But would love to hear if it was considered.

Zed 1.0 3 months ago

Actually, inspired by this, I went ahead and installed Zed to try it out. After a couple of hours of working remotely using Zed, I'm impressed. It actually works, and the experience feels great. Only little issue was that when I first opened the remote folder, I was greeted with a blank window. I thought it was stuck loading and was about to give up, but turns out I had to open the project panel myself to see the files. Otherwise, working fine so far! Memory-wise it's practically free.

EDIT: Scrap that. After a while it starts running at 100% CPU on my macbook. I'm editing a small, simple PHP remotely over SSH. I haven't yet tested if it only happens with remote editing. Too bad... Well, at least it didn't trash the server like VSCode.

EDIT: Logs showed it was trying to do some auto suggestions every few seconds, but failed due to missing credentials. Didn't seem like something that would eat up 100%, but after disabling all AI features (I'm glad there was an option for this), the problem disappeared, and I'm happy with Zed again.

Zed 1.0 3 months ago

I'm glad to hear the SSH remote editing is working well.

A lot of the time I'm developing on a remote server using VSCode Remote-SSH. I mostly love it. But! It consumes a lot of memory. And not only that. At times it gets stuck in some infinite loop or such, and ends up consuming all memory on the machine, preventing all traffic. Takes a few minutes for the OS to finally kill it, so I can get back in. I'm pretty this is happening due to large collections of symlinks (the subprocess eating up the memory is rg). But also just JavaScript editing at times launches up a bunch of ts-servers consuming everything and more.

This is super scary, if I'm poking around on the prod server.

Looking for alternatives. Zed is on my list.

I've had two people reach out to me asking about one of my services. They both said ChatGPT recommended it to them.

My service does kind of exist. It's a small tool I created for a client while retaining full rights to the tool. So I created (vibe coded) a site around it, making it look like an established service. Even ran google ads for it for a while.

The service still doesn't show up on google with relevant search terms. There hasn't been another client. I forgot about the service. And then ChatGPT started recommending it to people.

I wonder what I did to achieve this. Did vibe coding the business page inject it into ChatGPT's training data?

I find this very hard to believe. I haven't seen many good AI integrations, and my understanding is that at least Microsoft is now backtracking with them. Going in the opposite direction of adding more of them, even replacing apps with them, doesn't sound like a thing that has proven demand.

How would that even work? What would it replace? Surely not TikTok or games. Email? Chats? Sports apps? Safari?

Am I missing something, is this a serious headline?

Ah, Tiled Words is great! Well done. Did you know Netflix launched a daily puzzle platform, Puzzled, around the time your game came out, and they have a similar game called Bonza (which they acquired, the game exsited as an app before that)? I found it an interesting coincidence.

I still find ads questionable, even if I rely on them. If I spend, say, $100 on ads, after printing and shipping, I make, say, $10 dollars in profit. Meta just made $100 dollars in profit, thanks to my hard work that earned me a fraction of that. It's hard to swallow and fathom what an amazing business they're running.

Same goes for F2P games. They pour millions (billions) into marketing games, with crazy small profit margins. When a mobile game company earns a million, Meta earns 10 millions (or more). Apple opens up the platform for 3rd party appstores with only 15% cut instead of 30%. Where does this new profit margin go? Into ads. Now companies can afford putting more money into ads, to outcompete others. Others follow suit. Instead of a million, the company now earns 1.01 millon in profit. Meta earns 11 million.

This isn't the ad platforms' fault, but I still find it somehow wrong.

Edit: typos

Thanks!

My ad is just one image and some clickbaity headline. The image is very simple, high contrast, designed to pop out. I'm targeting all kinds of puzzle subreddits. I'm getting just about $0.15 cost per click in US. The budget is quite small, but this helps reaching out to new audiences who spread the game further to their friends. The majority of the growth is still organic, but ads do help. I'm still not sure if it's a net positive though, since I don't have strong monetization in the game, and don't do any fingerprinting of users, or much analytics at all.

The best ad we've had was made by an influencer we hired to do an ad. She knew how to grab the attention of our target audience, and speak to them.

But in general we just slap all kinds of videos there. Some perform 2x better than others, impossible to guess whuch ones, but in the end the range of success isn't massive. I haven't marketed many different kinds of products, but here's my take: If an ad is giving something like 20% return on ad spend, getting to 100% can be tough by just improving the ad. What matters more is that it's a product that is easy to sell. We sell escape game murder mystery magazines. Murder mysteries in any form are simply very easy to sell.

My wife and I have a small life style business, selling a physical product. We make a nice daily profit using Meta ads. X dollars go in, X*A dollars come out, A > 1.0. When not running ads, it's just tumbleweeds.

I also have a digital daily browser puzzle. I've grown the user base quite a bit by running one simple ad on Reddit with amazingly good metrics.

In the past I worked for F2P mobile game companies. Their business is based on running successful internet ad campaigns.

This is very interesting and well done.

I've gone through something similar, but for a more functional language (a Scheme). It's interesting how here the biggest wins are from optimizing the objects, while the biggest wins in my case were optimizing closures. The optimizations were very similar.

"Three implementation models for scheme" gives all the answers to make a fast enough scheme, though it has something of a compilation step, so it's not interpreting the original AST.

https://www.cs.unm.edu/~williams/cs491/three-imp.pdf

A bit tangential, but I believe dynamic vs static typing works the same. I switch quite often between them, and when ever I've had a longer break from dynamic typing, coming back to it feels quite heavy. "How did I ever do this?" It feels so heavy.

But a few hours (or days) in, I forget what the problem was. A part of my brain wakes up. I start thinking about what I'm passing around, I start recognizing the types from the context and names...

It's just a different way of thinking.

I recognized the same feeling after vibe coding for too long and taking back the steering wheel. I decided I'd never let go again.