Live data from Hacker News

Show HN: Angeldust – a fast and efficient video game

news.ycombinator.com

131–140 of 204 posts

Re: Show HN: Angeldust – a fast and efficient video game

#131

This looks incredible. Gives me vibes of old school Runescape, mixed with Minecraft. Plus the performance as you've detailed it sounds like quite a feat! Also very cool to see a project that supports old hardware--I remember being a kid with hand-me-down computers struggling to play even some Flash games. Gonna give this a play tonight. Rock on, dude!

Thanks for the feedback, I hope you enjoy playing. I'll be livestreaming again today at 17.00h UTC, feel free to swing by to hunt together, or talk technology!

Re: Show HN: Angeldust – a fast and efficient video game

#132

Earlier quoted context omitted.

I wrote a "bot" myself in the form of a network simulator for general and load testing of the server. If players were to automate the game I'd be more than happy to make a special server where we could show off their work. Making an agent navigate an open 3D space and performing planned tasks would make for an impressive demo for all parties involved.

That might make a good first open source release actually, if it implements a good chunk of the game protocol you might be able to use it to get a rough idea for the types of ideas people would want to run with, and it would also allow people to hit the ground running actually implementing ideas against the engine quickly. A separate test server would be a very good companion idea.

I hadn't even considered this before, but I see your point! Getting a "core" part of the game's "API" released first allowing players to fiddle around writing a bot sounds like a beautiful gift for the technically inclined players. Because of the small(er) scope it could help iron out wrinkles in the open-sourcing of the client as a whole later on. Thanks!

Re: Show HN: Angeldust – a fast and efficient video game

#133
post #126

Awesome job. I'm working on a game with some similar technical challenges (landscape is based on actual Earth though) and backend is in Java. I'll see if I can get my friends to play.

I read somewhere about doing your project in a "release early, release often" style of development. While developing Angeldust I got others involved and playing after just a few months of part-time development. Getting feedback, ideas and issues early definitely helped me build a rock-solid base on which I could build the overarching gameplay.

So if you have friends (you're already doing great there!), get them playing today! Or tomorrow! It also forces you to have a working build pipeline and packaging process for getting builds out to others instead of toying around on your own machine. Also: don't take my advice as gospel, but judge its merit for yourself.

Re: Show HN: Angeldust – a fast and efficient video game

#134

Congratulations, amazing work! I absolutely love how you have opted out for frameworks on the website and that it just work. Kudos! The same for your considerations for making it work on old hardware and you comments on your live stream today about your old Mac and making it run on Windows XP as well. More developers need that attitude. I wish you all the best and I hope this becomes a Minecraft size success!

(Michael Scott:) Finally! Thank you. The "old school" PHP -> HTML + CSS with minimal JavaScript website is a thing of beauty I think. It's heartwarming that HN didn't dismiss my website just because it's not Web 2.0 or 3.0. From a technical perspective it's very much Web 1.0. But I see it as being elegant, functional, very fast and maintainable. It's tied in to the game at a core level as well, with real-time updates of in-game action. Also: I didn't even see a CPU spike during HN's peak hug, so try harder, soldiers!

As for the older hardware and building something for performance: in my dreams this past night I realized that HN as a website closely fits my design philosophy. This website is just completely transparent and gets out of your way. You get a box. You enter text. Boom. It's beautiful. I hadn't posted on here before, but the entire experience has been delightful.

Tangent: sometimes it feels like the home computer I grew up with was faster than any modern device that I use. I'm glad I'm at least able to recreate that feeling of raw performance on older hardware. Computers have always been insanely fast, I'm not sure where we lost sight of that.

Re: Show HN: Angeldust – a fast and efficient video game

#135

Have you thought about porting this to Nintendo switch? Indie community is huge so many games do well on the platform.

Yes. A lot! Unfortunately I've always considered "the big three" consoles completely out of reach for my project. Many players have asked about a port to the Switch and other consoles. I'm confident I'd be able to pull it off technically without too many issues. But I have zero experience dealing with parties like Nintendo and adhering to their (I imagine) very strict policies for games. Being a mostly-multiplayer cross-platform-play title complicates things too I think.

During my stream yesterday I also discussed Switch compatibility. I think Angeldust is a perfect fit for the Switch. Nintendo's design philosophy very closely matches mine. Angeldust is big, bold, colorful, cheery. Let's get it on there stat I'd say!

If you have pointers on getting started with indie development on the Switch, I'd happily start reading up. Now's a good time as any. And with most things in the game I learned everything by just starting and winging it. Hopefully this'll be another case of being able to quickly internalize things and get going.

Re: Show HN: Angeldust – a fast and efficient video game

#136
post #112

Earlier quoted context omitted.

Is there any way I can diagnose this? As far as I can tell Angeldust is actually available on both the Mac and iTunes App Store. Any feedback or advice is welcome here.

I originally followed your link on your website, which opened App Store and gave me that notice about it not being available in this country. However, now I just opened App Store, searched for "angeldust", and bought it for less than 5€... so clearly it is available. So it has something to do with the path a user takes from the link on your website thru the Apple dialog that asks where to open the link [App Store], e…

Thanks so much for taking the time to follow up. I think you are right on the money with my website-link being stale or outdated. I've contacted Apple to diagnose and fix the issue. If you—or another hacker—knows a good way to link to apps on the iTunes App Store from a website I'd love to hear it. Apple's link builder seems to tie in a regional preference which might not match the user's actual region.

Re: Show HN: Angeldust – a fast and efficient video game

#137

I tried to download the game from appstore but it's not available in NZ, maybe you can provide actual package to download without app store.

Of course! I can't distribute iOS apps outside of the iTunes App Store, but I do have DRM-free, standalone versions of Angeldust for macOS here:

Itch.io: https://metagaming.itch.io/angeldust

Steam: https://store.steampowered.com/app/488440/

If anyone nows a way to distribute iOS 6.1+ apps that doesn't violate my agreements with Apple, get in touch with me :D!

Re: Show HN: Angeldust – a fast and efficient video game

#138
post #126

Awesome job. I'm working on a game with some similar technical challenges (landscape is based on actual Earth though) and backend is in Java. I'll see if I can get my friends to play.

I read somewhere about doing your project in a "release early, release often" style of development. While developing Angeldust I got others involved and playing after just a few months of part-time development. Getting feedback, ideas and issues early definitely helped me build a rock-solid base on which I could build the overarching gameplay. So if you have friends (you're already doing great there!), get them playi…

Hah, I know, I meant to play your game. Thanks!

Re: Show HN: Angeldust – a fast and efficient video game

#139

Earlier quoted context omitted.

Good question. I started working right after what we call "middle school" in the Netherlands which translates to high school I think. During the daytime I would work my job and in the evening self-study for the "Open University" we have here. I lived with my parents during this time and could save up money as a buffer. Thanks to that support I could financially bridge these past years of development without worrying…

You're killing it! Great choices, fantastic execution. You're going to go far. Keep it up!

Thanks! A slight word of warning though, something that also came up during yesterday's livestream:

I've been really lucky to be able to successfully fulfill my childhood dream by making this game. But like Freddie Mercury sung: it's [not always] been a bed of roses or a pleasure cruise. I've sacrificed progress in other areas of my life to see this through to the end. I hope to catch up there starting as early as next year. Nonetheless I definitely wouldn't be the same without having taken on this adventure. I've grown so much as a developer, an entertainer and even as a person by creating Angeldust.

Re: Show HN: Angeldust – a fast and efficient video game

#140

Earlier quoted context omitted.

This question was the most asked one during my livestream. It's a good one! Even though it's 01:33 right now after a 7 hour livestream, I'll try to answer it as clearly as possible, building from the foundation up to the high level. The Angeldust game world is tracked in an "active chunk set". A chunk is a 2D part of the world, 32x32x64 in-game blocks (meters). The active chunk set tracks only the chunks that contain…

Thanks for the explanation! I happened to be thinking of similar multithreading ideas (chunks and ping-ponging states) recently, but was stuck on what happens when computation happens across chunks in multiple threads. e.g. an object move across chunk border, or an object interaction affecting two objects in different chunks. Could you elavorate on your approach about these? I'm really curious

Good follow-up question! As for the read state, you're already golden in the sense that you only read data and don't update it. If a chunk needs world or entity data from a neighboring chunk—or even halfway across the world—you can just follow pointers there and you know the data is available and accurate.

For the write state, you're absolutely right that entities will need to transition between chunks. The server looks up the destination in the "active chunk set" I mentioned and then uses per-chunk std::vectors guarded by a mutex to push "migrating" entities. This requires a mutex since multiple CPUs/cores/threads/chunks can be pushing entities to the same destination chunk. These mutexes largely have zero to little contention.

Does that answer your question in an acceptable way?

Post reply on HN