New Content, Steam Deck Compatible, Steam Next Fest, Artists, and Performance Optimization
You can probably tell by the title but this has been a huge week for Bloodmoon Survivors! There's been a lot of forward momentum ever since I've been building up to the first play test and it feels like I'm attacking this game on all fronts. Let's get into it.
Art
From an art perspective, Ref has been switching from menu building, now that it's fully complete, to level 3! It's been a long time coming but I feel like I've finally cleared the dreaded demo hurdle, and everything from here on out feels like it should be smooth sailing. I've been thinking of ways to parallelize our work so I've asked for a bulk order of the next 2 level tilemaps first so that I can play with them and add lighting etc, while he starts on enemies. Naturally he delivered, check it out.
(Inspired by Path of Exile 2 Oghland farms, I really want to explore a cozy farm land wrecked by the moon scorch. Here are the base tiles. Emphasis on dry, and scalded earth)
To compliment the basic tiles, we added a bunch of carnage to the scene. I'm starting to learn that the moon scorch manifests as a new plight on each biome. In the desert, it was unearthly infection, something out of "the color from outer space", here it is fire and disease.
In this level I want everything to burn.

And he has even begun work on the first enemy. I really like the idea of livestock contorted by the moon. I think we should lean into the farm aesthetics but go for the scariest parts. I.E infected pigs, rats, scarecrows, the good stuff!

Capsule Art and Steam
Another win for this week has been looking for an artist to touch up the capsule art. This is an unfortunate side effect of my steam research. I found that the way the art was done, although very good, is simply not marketable. I've been shopping around and I think I found another artist with a portfolio that specializes in steam capsule art. The plan is to get it redone to better fit the platform and I'm hoping to get it ready by the end of next month, stay tuned!
Next Fest
The other thing I've been keeping an eye on this week is next fest. I've been trying to drink in all of the new games releasing so that I can learn what sells and what doesn't. At this point I've played about 2 dozen game demos and here are my most noteworthy for anyone interested:
- The King is Watching
- He is Coming
- Wanderstop
- Asguard
They are all beautiful games, but I think out of the 4, the one that most relates to Bloodmoon Survivors is Asguard. I am very interested in seeing how the full release goes for the team and wish them the very best.
I also highly recommend the Chris Zukowski coverage videos on youtube to any aspiring devs to get a better sense of what these games are doing right!
The key takeaways I've learned is BE GENEROUS WITH THE DEMO, and to put the Wishlist button everywhere you can, as this is the main metric that drives next fest. I'll be sure to steal these pieces of advice and put them in blood moon!
Programming
From a programming side, I've made some major fixes in preparation for my coming playtest. The main things I've changed are I added a new resolution for steam deck when my friend played the game on his and reported it was 90% compatible. The only remaining thing to do was to adjust the screen to fit the deck but I actually ran into some interesting issues. For some reason my UI was breaking on the deck, and I found out it was because it has a weird aspect ratio (16:10 | 1280x800) This was putting my canvas scaler out of whack, and to fix it I had to make a small concession. I decided to override the default screen size for the deck and set it to 1280x720 which has a pixel perfect upscaling of 1.6 to my reference resolution of 800x450. this made fixed the issue and only cut out a teeny tiny sliver of black bars on the deck. It's annoying to sacrifice screen space, but to keep the UI in order I was willing to make the trade.
The other bug with for me this week was improving the performance! This has been on my todo list for a while and I've been dreading it, but to my surprise it wasn't so bad. I started with the fixes that were easy reaches.
I knew that my status effects get "Reset" the moment the game loads which essentially meant all 5 were getting set on every enemy right away and this disabled. This was bad object pooling so instead I added some lazy instantiation so they only get "reset" when they were activated on the enemy to begin with. This fix along improved performance by like 10 frames.
The next fix was actually one that hurt the fps in the beginning but saved me from a very nasty loading issue at the 20 minute mark when the last boss loads in. Basically, although I object pool, the pools where never initialized ahead of time, this was actually great at the beginning of the round because there was no preloaded stuff, just an empty scene that gradually filled up with more enemies, but the last bosses are really supposed to be spectacles. When they attack, it's BLASTING the screen with attack patterns, so when they first spawn, I load in over 50 attacks at once. That's A LOT of instantiation. To fix this, I set up preloading for them so that they are in memory and ready to go when the scene loads instead of being rushed out at the last second.
Finally, once I was done with the easy reaches, I turned my attention to the profiler, and found that most of my performance issues were actually coming from my UI. I'd had issues with the past with dynamic rescaling happening every frame but it turned out that was no longer the problem. The issue was that unity was not batching the way I expected. When I built my UI I thought that Canvas Groups were how it subdivided it's UI elements for the redraw call, but it turned out that was not the case. Unity actually separates by Canvas elements, so basically I had to add one to each sub element that I didn't want updating every frame. Fortunately my UI helper package was flexible enough that it could handle this update, and by the end I was actually improving performance across that board by almost 20 frames! This was huge!
After shipping the new build to steam, I compared it to the old one and found that it was average 30 fps faster. Wow! I'm now at 120 fps 90+ percent of the time
Next Week
The reason I'm writing the article early is because tomorrow I'm going to finalize my little tweaks and fire off the playtest. Wish me luck! I think monitoring the progress through my back end and filing bugs will take up most of my programming time. As for art, Ref will be on making the tiles for level 4 so we have both, and I'll be making my dynamic tile sets so that I can build out the levels faster. Busy busy. That's all for now so see you next week.
Files
Get Bloodmoon Survivors
Bloodmoon Survivors
Survive the night by fighting your way through hordes of enemies
Status | Prototype |
Author | TheNevel |
Genre | Action |
Tags | 2D, bullet-heaven, Bullet Hell, Loot, Pixel Art, Roguelike, Roguelite, Singleplayer, Survivor-like, vampire-survivors |
Languages | English |
Accessibility | Configurable controls |
More posts
- Metrics and Playtest!8 days ago
- Main Menu Touch Up15 days ago
- Main Menu and Achievements23 days ago
- Code Hardening29 days ago
- Main Menu Revamp And Updating Controls36 days ago
- Finishing VFX, Resource Nodes, and Revamping the Melee System43 days ago
- Resource Economy, UI cleanup, and Powerups50 days ago
- Continuing Powerups56 days ago
- Coolifying your powerup effects63 days ago
Leave a comment
Log in with itch.io to leave a comment.