Loading video...

Video Failed to Load

Go Home

"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 views • 8 months ago •via X (Twitter)

42 Comments

Kingmakers Game's profile picture
Kingmakers Game8 months ago

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.

Astropulse's profile picture
Astropulse8 months 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.

Kingmakers Game's profile picture
Kingmakers Game8 months ago

Ok how’d the boost work?

Maldito's profile picture
Maldito8 months ago

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

Kingmakers Game's profile picture
Kingmakers Game8 months ago

@RealAstropulse Lol

DeSerrate's profile picture
DeSerrate8 months ago

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

Astropulse's profile picture
Astropulse8 months ago

👉😎👉

Tristan Rhodes's profile picture
Tristan Rhodes8 months ago

Literally 1 million tiles! Mission accomplished.

Aaron Slodov's profile picture
Aaron Slodov8 months ago

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

Astropulse's profile picture
Astropulse8 months ago

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.

Aaron Slodov's profile picture
Aaron Slodov8 months ago

you'll love this

JuanGalt.com's profile picture
JuanGalt.com8 months ago

wild

clozy's profile picture
clozy8 months ago

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?

Astropulse's profile picture
Astropulse8 months ago

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.

clozy's profile picture
clozy8 months ago

Thanks! I'll check it out

Timboslice's profile picture
Timboslice8 months ago

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

Collectivetrauma's profile picture
Collectivetrauma8 months ago

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.

Astropulse's profile picture
Astropulse8 months ago

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

Collectivetrauma's profile picture
Collectivetrauma8 months ago

Are the maps random or is there an editor?

Astropulse's profile picture
Astropulse8 months ago

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.

Either's profile picture
Either8 months ago

Chunked?

Astropulse's profile picture
Astropulse8 months ago

Nope, doesn't need to

Either's profile picture
Either8 months ago

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

Astropulse's profile picture
Astropulse8 months ago

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

Either's profile picture
Either8 months ago

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

foo's profile picture
foo8 months ago

whats the tech stack?

Astropulse's profile picture
Astropulse8 months ago

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

Custer's profile picture
Custer8 months ago

What game is this?

Astropulse's profile picture
Astropulse8 months ago

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

John Smith's profile picture
John Smith8 months ago

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

Gamer Brethren Advocates | Squad Up✊ gbamfs.org 📢's profile picture
Gamer Brethren Advocates | Squad Up✊ gbamfs.org 📢8 months ago

Beautiful work

zbigniewcebula's profile picture
zbigniewcebula8 months ago

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).

Astropulse's profile picture
Astropulse8 months ago

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.

Sinan Ata's profile picture
Sinan Ata8 months ago

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

OMI/ GAME DEV's profile picture
OMI/ GAME DEV8 months ago

can I asked what was the prompt?

Zanthous ✾ Zankai's profile picture
Zanthous ✾ Zankai8 months ago

aim higher, you can do better

Anton L's profile picture
Anton L8 months ago

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

Alexander Petrov's profile picture
Alexander Petrov8 months ago

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

Astropulse's profile picture
Astropulse8 months ago

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

Alexander Petrov's profile picture
Alexander Petrov8 months ago

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.

Maldito's profile picture
Maldito8 months ago

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

Muhammed Milan's profile picture
Muhammed Milan8 months ago

would be cool to see maps for 2d rpg games

Related Videos