Preferences

zzlk
Joined 36 karma
I created the largest StarCraft: Brood War map archive that currently exists (and has ever existed): https://scmscx.com

  1. I think it's probably not true that it all adds up over a lifetime. That's the model that is widely used but there's some good evidence to suggest it's not accurate.

    see: https://en.wikipedia.org/wiki/Linear_no-threshold_model

  2. I wanted to use this a long time ago but the rust support wasn't there. I can see now that it's on the front page with apparently first class support so looks like I can give it a go again.
  3. The strip is depressing, but the actual city outside of the strip is pretty cool. It's rapidly growing with very affordable housing. The food scene is excellent because of a diverse population. The nature scene is excellent. Electricity is very cheap, no income tax, low property taxes. Extremely well maintained and overbuilt infrastructure, very little traffic. A very nice airport (my favorite in the US) that is very near the population center and also with reasonably priced parking.

    Vegas has a lot to offer and the strip really dominates the perception of it which is unfortunate.

  4. I'm working on a distributed object storage system to be the backing store behind my website (https://scmscx.com). It currently uses back blaze b2 which is good and cheap but I thought it would be fun to roll my own.
  5. JSON5 is exactly what you're looking for and has somewhat decent adoption. I use it for configuration on one of my projects and I really enjoy it.
  6. From the bottom of the article:

    > # ps. By design, this website is as usable as YAML.

    It's intentionally bad.

  7. It's the supply of when you should build it. In the early game it's essentially how many workers you have.
  8. I'm not sure about how it works in WoW but I can give you a warning about what happens in StarCraft. To prevent other people from editing StarCraft maps (which are MPQs), users would intentionally mangle the MPQ format in just the right way so that the game could still play it but other tools could not open it for editing. So, if there is anything like that going on in WoW world then it might be very hard to reassemble the original MPQs and get a byte for byte match.
  9. I'm surprised to see MPQ come up. What game is it?
  10. I see many people in the comments nostalgically talking about the custom mapping scene and how it got them into programming.

    The same is true for me, so I think here is a good place to plug my starcraft custom map archive website [0]. In 2020 because of the pandemic StarCraft enjoyed a surge of popularity again, I went looking for some custom maps that I remembered from the early 2000s but I couldn't find them. The existing websites at the time were not solving the problem for me so I set out to solve it myself. The website is a passion project for me, I don't want it to generate any revenue. It's been a fun ride and it's now easily the largest map archive that has ever existed. I think eventually I'll make a show HN post about it when I implement a few more cool features, but that will have to be for a later date.

    [0] https://scmscx.com

  11. to be clear because this is often a point of confusion (I believe it was done intentionally to be confusing but I digress). The remastered client is actually free, the HD skin (and ladder play) is $15. So you can play online with custom maps and the campaign and so on for free.
  12. In 2020 I wanted to look up some classic StarCraft 1 maps that I used to play but there wasn't a good database around that I could easily search through. So I made https://scmscx.com to serve that purpose.
  13. This is a nice solution. I came up with something similar where once it got stuck without making much progress I would just blow away a big radius and that would often help it get unstuck. I did eventually abandon this approach though. I can't remember the exact reason why but I think my back tracking system was not compatible with it. So if it got stuck after blowing away some tiles then it would be truly stuck and could not backtrack anymore.
  14. a) determine in bounded time whether any solution exists at all

    I can't prove it but I think this is roughly the same thing as the circuit satisfiability problem, which is np-complete. So, I think the best thing you can do there is a very large exponential time bound.

    b) use a deterministic procedure to find a solution

    You can solve this problem deterministically with depth first search. But I found that to be pretty slow and generate not very aesthetically interesting results most of the time.

  15. I implemented this algorithm to generate StarCraft 1 maps and it worked quite well. The results it generates have quite a natural property to them that you don't see with similar things like perlin noise. I wrote it in rust which I compiled down to wasm, put it on a web page with an ugly UI and gave it to the community. They used to to produce some interesting maps and the results of one run even got included in a real released and finished map. One other benefit of this algorithm is that people can hand craft a map, placing tiles in certain places, and then you can ask the algorithm to complete the map. The algorithm will seemlessly blend generated content with your original tile placements (which are just more constraints). This is really nice for filling in unimportant areas with a consistent level of detail.

    Unfortunately I could never really get it to be fast enough. There are an enormous number of tiles in StarCraft, 15,000+ for some tilesets, and people want to generate maps of up to 256x256 tiles. This is a huge state space and under these conditions the algorithm very often gets stuck in a local minima. I've tried so many different heuristics to get it to work but it doesn't work reliably enough to be a truly useful tool in this situation unfortunately.

    There are many explanations out there about how this algorithm works, more so than many other algorithms. I think the reason for that is because from hearing the basic high level idea of this algorithm most people are able to then go and implement it and then that makes for an interesting blog post (I could do the same after implementing, I think). What almost all of these blog posts are missing is how to make it fast, and how to implement back tracking efficiently. I had to try a lot of things to get to where I am now and I don't feel like I've fully explored the space of possible implementations despite trying a lot of different approaches.

    Here are some example generated maps: https://media.discordapp.net/attachments/583406212272619571/... https://i.imgur.com/LK5a6jU.jpg https://cdn.discordapp.com/attachments/583406212272619571/10... https://cdn.discordapp.com/attachments/583406212272619571/99... https://cdn.discordapp.com/attachments/583406212272619571/99...

This user hasn’t submitted anything.

Keyboard Shortcuts

Story Lists

j
Next story
k
Previous story
Shift+j
Last story
Shift+k
First story
o Enter
Go to story URL
c
Go to comments
u
Go to author

Navigation

Shift+t
Go to top stories
Shift+n
Go to new stories
Shift+b
Go to best stories
Shift+a
Go to Ask HN
Shift+s
Go to Show HN

Miscellaneous

?
Show this modal