正在加载视频...
视频加载失败
"Use the GPU to optimize the rendering" >30fps on a 1000x1000 map. Absolutely crazy. The switch to simplified hexagons (solid color) isn't even needed btw, I just think it looks cleaner.
43,109 次观看 • 8 个月前 •via X (Twitter)
42 条评论

30fps on what's essentially a still image, on a modern PC, is actually kindof pathetic. Here's a video of 1000x1000 animated sprites, at 60fps, from 6 years ago.

Entirely different problem. This is running in javascript, on a browser, and the tiles are dynamic, not just animated images. If this were in C or a game engine you'd be right. But the simple fact is, I typed 7 words and got a 20x performance boost.

Ok how’d the boost work?

@RealAstropulse using the GPU to help with rendering. he said it on his post

@RealAstropulse Lol

I was going to say something mean about optimization but then I noticed you're running it in the browser... nvm

👉😎👉

Literally 1 million tiles! Mission accomplished.

any plans to opensource? does this use anything from redblob?

No clue what redblob is. I plan on releasing the whole thing on github once it's done. I've already uploaded the map generator.

you'll love this

wild

Honestly, despite it being AI, this looks so cool. Cant wait for this game to drop, crazy how good AI pixel art can look nowadays. Any tips for using retro diffusion?

AI just multiplies creativity. If someone's got good vision and art direction skills (I think mine are alright), it can be leveraged to make some awesome stuff :) General tip for RD is to check the example galleries to see what styles/models make, and use descriptive prompts.

Thanks! I'll check it out

This looks clean man. Been watchin for a while and it is fun seeing your progress

what is this? It looks amazing! Can you make custom maps? I've looked at map making resources such as wonderdraft, but something like this would be incredible.

Its a game I'm working on, similar to settlers of catan. You can generate your own maps using this script!

Are the maps random or is there an editor?

Random, based on physical properties like continents, elevation, humidity, temperature, etc. I might make an editor but with the scale this is meant to be placed at you'd have to make some massive maps by hand. Not fun.

Chunked?

Nope, doesn't need to

That’s a mil individually rendered quads? All visible, no frustrum culling on CPU?

Yep! It does cull when you're zoomed in, but when its zoomed out all the way its not culling anything.

How does the quad shader handle translucency? Given their shapes I’m guessing all sprites are calculated as translucent?

whats the tech stack?

Javascript, html, webgl. Coding with ChatGPT, and Antigravity. Artwork made with Retro Diffusion.

What game is this?

It's a massive catan-style digital-physical hybrid board game I've been working on :)

Hey! Same thing when I moved most of my iso map rendering in a shader. I don’t even think if I will need chunking anymore. It’s like GPU was made for this, or something! :p

Beautiful work

Add some perlin noise layers (aka octaves) to make this map less boring. For example "continents" or "plates", to make bigger water areas (seas/oceans).

The large map like this is bland because the generator isn't made for this scale. Look at the code I'm already using: It's a pretty sophisticated physically based simulation using elevation, continents, temperature, and humidity.

You could get it down to 1 draw call and way better fps using BatchedMesh2 if built with threejs

can I asked what was the prompt?

aim higher, you can do better

cool! I don't know how much you control the rendering but you could try a quad tree acceleration structure to improve framerate even further

It's static, so you can just bake it all in one texture.

It is not static, each tile needs to be able to be interacted with, moved, changed, etc etc.

All at once? You can dynamically draw only cells your are interacrting with, leaving the rest as the solid baked image. That's how nearly all 3d engines work even now - the most of the scene is "static" and unmoving, while fe elements move around, can interact, etc.

Cool! Could the map be baked and you turn off interactivity after a certain zoom, switching to the baked version of the map? I think the costs of updating and handling the baked map would be cheaper than rendering the octs, but be more complex of course

would be cool to see maps for 2d rpg games
