Loving this series so far. My exp with game dev is with pygame, ofc as we all know Python is horrible at looping. Is looping over the sprites for updates performant enough for a game? Is there an upper limit to this where Go cant handle it? Can ebiten easily handle 100,000 sprites? If Go can handle it even with the garbage collector thats awesome. Im so used to hacky ways to manage DirtySprites with pygame lol
It highly depends on what you're doing to the sprites, how you're storing them, and how you're accessing them. Go is very fast. It can handle thousands or tens of thousands of sprites with ease. However, a lot of performance is lost from cache misses. I would look into optimizing caching over loops if you want to handle 100,000 entities. The basic idea is: predicable, continuous access of memory means more can be cached. In my owns tests without trying to optimize, I was able to get ~20k sprites updating and drawing while staying above 60fps, and there was a lot I could improve upon.
I used the same "SubImage" code for drawing the skeleton that I did with the ninja sprite. All the characters sprites have the same layout in this pack
Thank you! You explained Struct Embedding very well. It clicked right away for me.
most hyped series of the year!
wake up, honey! new Coding With Sphere tutorial just dropped
Love this series!
I love this series! I am coding along with lua and love2d, learning from you how to think and code. Thanks!
Very nice, to the point!
Amazing content. Keep it up!
Loving this series so far. My exp with game dev is with pygame, ofc as we all know Python is horrible at looping. Is looping over the sprites for updates performant enough for a game? Is there an upper limit to this where Go cant handle it? Can ebiten easily handle 100,000 sprites?
If Go can handle it even with the garbage collector thats awesome. Im so used to hacky ways to manage DirtySprites with pygame lol
It highly depends on what you're doing to the sprites, how you're storing them, and how you're accessing them. Go is very fast. It can handle thousands or tens of thousands of sprites with ease. However, a lot of performance is lost from cache misses. I would look into optimizing caching over loops if you want to handle 100,000 entities. The basic idea is: predicable, continuous access of memory means more can be cached. In my owns tests without trying to optimize, I was able to get ~20k sprites updating and drawing while staying above 60fps, and there was a lot I could improve upon.
Awesome stuff
Keep it going!
Great one, when do you plan on posting the next episode?
@@vmarcelo49 sometime within this week hopefully !
Great. Search for multiple cursor/selection to rename all the g.x at once
@@Palessan69 yeah I normally use multicursor but I blanked there for some reason lol
awesome. the playlist itens are in the wrong order
is that catpuccin colorscheme??
It's mellow
I see that the skeleton png is a sprite sheet. How it loaded only 1 skeleton?
I used the same "SubImage" code for drawing the skeleton that I did with the ninja sprite. All the characters sprites have the same layout in this pack