• Game Dev Report
  • Posts
  • Be wary of Overengineering, and introducing the Steam Brick

Be wary of Overengineering, and introducing the Steam Brick

Also tracking special ISS data in Unity, and Low vs High Quality Wishlists

Hello and Welcome, I’m your Code Monkey!

Here comes February! I hope you had a great January full of progress on your own projects. I did manage to publish 2 FREE multiplayer courses, almost 7 hours of videos (plus companion projects), very productive! Now I'm focused on making my DOTS RTS game into Multiplayer and then I will be updating my Ultimate Unity Overview course to Unity 6. So my February is already stacked!

Yesterday I didn't have time to do my weekly private livestream because I was at a birthday party all afternoon, my grandma just turned 100! I really hope I have those same longevity genes!

  • Game Dev: Don’t Overengineer, Wishlist Quality

  • Tech: Steam Brick

  • Fun: pISS

Game Dev

Avoid Overengineering!

I love making complex systems that are code heavy and support everything from the most basic use cases to the most complex. But, while it is fun to write code, always remember to not needlessly overengineer your projects.

This response to a Reddit post is excellent. The original post is asking about whether it's best to create/delete projectiles or just enable/disable them.

In technical terms the answer is enable/disable, meaning use an object pool. However, in real terms, it's likely that the answer does not matter. Spawning and Destroying objects is indeed more expensive, but unless you're making a bullet hell shooter then it won't matter. If your player fires one bullet per second then the difference between the two methods is negligible.

So the main takeaway here is be wary of overengineering. Not every problem requires the ULTIMATE PERFECT solution, sometimes "just works" is more than good enough and you're better off doing that and moving onto the next task. This does NOT mean write sloppy code! Even if you go with “just works” make sure you write it properly.

Another great saying is "premature optimization is the root of all evil", meaning don't waste time trying to optimize some code until you have already identified that there is a problem with that code.

You should absolutely always be thinking of the best way to do things, but sometimes the best way is "good enough" so you can move on and actually complete your projects.

I definitely have to re-remind myself of this lesson every once in a while. Sometimes I think of building some system and immediately start trying to think of ways to expand upon it to make it more modular and more capable. Then I take a step back, remember what my original goal was, and focus on that first and leave upgrades for the future.

Affiliate

FREE 2D VFX, Fresh Assets, SFX Bundle

Start the year FRESH with the new Asset Store Sale!

Recent assets 50% OFF! There’s a Global Illumination tool, Stylized Water, Colorize, Grid and Inventory system, as well as tons of visuals and effects. Whatever new prototype ideas you have, maybe get something to help you build them!

Check the page HERE to see everything on sale.

The Publisher of the Week this time is CartoonVFX9x, great publisher with tons of 2D stuff. Effects, Particles, Characters, Weapons, etc.

Get the FREE Fireworks Effect 2D which which has a bunch of great looking effects, perfect for any 2D game.

Get it HERE and use coupon CARTOONVFX9X at checkout to get it for FREE!

Need any Sounds or Music? Get the latest HumbleBundle!

Adding sound to your games is one of the easiest ways to make it look 10x more awesome. This bundle is 98% OFF and contains a massive amount of variety to suit every game, every genre.

Over 40 hours of audio tracks and 6000 individual effects for just $20! Get it HERE!

Game Dev

High Quality vs Low Quality Wishlists

If you're a developer then you already know just how important wishlists are, they can make or break your game.

If you launch with <1,000 wishlists then your odds of success are very low. If you launch with >10,000 wishlists then your odds of success improve dramatically.

But are all wishlists the same? Technically no, this post talks about the concept of wishlist quality.

The article features an excellent marketing lead scoring diagram that easily explains what actions make one lead more valuable than another one. This is an excellent concept to learn both in game marketing but also in any kind of marketing/promotion.

Someone that just presses the button is a lot less committed than someone that joins the game Discord, opens your emails and posts messages on the forums. The post has some excellent tips on how to improve the quality of your leads/wishlists.

Technically you would want all your wishlists to be high quality and convert as soon as the game is out (that's the goal), and if you're doing paid promotion then you definitely want high quality leads.

But if you're doing organic promotion then don't worry too much about "quality", just get as many wishlists as possible and, as long as you didn't do anything shady to get them, you will hopefully have a successful launch!

I still think wishlists are a fascinating thing. On the one hand it's really stressful to try to get them, but on the other hand it's really awesome how devs can get an idea for how well their game will perform even before launch. If you launch on consoles/mobile then usually you don't know how well it will do until launch.

Tech

Introducing: The Steam Brick

Do you like your Steam Deck? Do you wish it were quite a bit smaller? Enter the Steam Brick!

Basically one dev took a Steam Deck apart piece by piece until only the core essentials remained. Screen? Out. Controllers? Out. Just kept the battery and internals, the bare minimum to make it work.

In the end it does work! The before and after pictures show a massive change in size, this one can actually fit in a pocket! Just pair it with a screen (or some AR glasses) and a controller and it's good to go.

There's an FAQ on the website which includes this excellent question:

"Why did you do this again? Because I was so preoccupied with whether or not I could that I didn’t stop to think if I should."

Funny, although I think it's actually useful! This is a very custom build but it would be great if there was an official implementation of something like this.

I definitely think the Steam Deck is awesome but way too bulky, I miss the time with my GameBoy that could easily go anywhere.

Fun

Dev made Unity plugin for ISS urine...

One dev made a pretty funny Unity plugin, it adds an icon on the Unity editor to display the current urine level aboard the International Space Station.

Right away you might be asking, why would anyone do this? To quote one of the brightest scientific minds of our time, Cave Johnson from Portal: "Science isn't about why, it's about why not!"

Although more seriously, if you want to learn a tool, like UI Toolkit, then doing silly things like this can be a great practice project. You get to use the tool in an actual project as opposed to just learning the theory. This is a great learning strategy even if what you're building is something silly for fun.

The dev made a public GitHub if you want to see how it works. It uses another super useful plugin for customizing the toolbar and the data from the ISS is grabbed from here.

I was recently playing a bit with UI Toolkit, I was making a custom Editor Window for my free courses and in the coming months I want to make a Code Monkey Toolkit Asset, I definitely really enjoy working with it for making Editor windows (much better than IMGUI!)

Get Rewards by Sending the Game Dev Report to a friend!

(please don’t try to cheat the system with temp emails, it won’t work, just makes it annoying for me to validate)

Thanks for reading!

Code Monkey

Reply

or to participate.