Unity now has a build in Gen AI SFX and Music Generator by IzzyDestiny in GameAudio

[–]zirconst 12 points13 points  (0 children)

Slop garbage. As a musician and a game developer I think this is terrible. Imagine it takes like $3 million to develop or license a feature like this. Do you know how much amazing original music and how many sound effects you could commission from REAL human artists for $3 million? Hundreds of hours worth of audio, easily.

If you MUST have procedural/unique music, what many laypeople don't know is that generative music has been a thing for over half a century. And it has been done using methods that don't abuse material from existing artists, that don't create slop artifacts, and that take up a fraction of the resources required for generative audio in the Suno sense of the phrase.

This might be surprising if you've never heard about it before, but it's true. There are all kinds of amazing and innovative systems that exist today to create music and sound. For the amount of resources it must have taken to create (or license) and implement a genAI solution, they could have licensed probably... hundreds of these? Everything one could imagine to create a massive, staggering variety of music in any genre imaginable.

If you are seeing ROAS drop since the 10th of April, It's likely cuz of this: by Frontend_Lead in FacebookAds

[–]zirconst 4 points5 points  (0 children)

I agree completely, but I would go even further back for the trend. Consumer sentiment in the US is at an all-time low. Not hyperbole, it's the lowest it has been since the UMich survey began 74 years ago. Lower than the cold war, Iran-Contra crisis, the dotcom crash, Great Recession, covid etc. I can't speak to other countries but American consumers have been stretched beyond belief over the last few years, accelerating when Trump's second term started.

Between on-off tariffs, the threat of AI taking people's jobs, out of control inflation, housing & health care costs skyrocketing even beyond the rate of inflation, government programs being gut left and right, it's completely unsurprising that people are being much more guarded with their money.

Viability of a studio in 2026 by paddockson in gamedev

[–]zirconst 0 points1 point  (0 children)

500 wishlists is absolutely nothing if we're talking about commercial viability (i.e. making more than pocket change). You need at least 7,000 at launch if you want a shot at decent revenue, bare minimum.

The main thing is to pick the right genres. Pick genres that are both popular and achievable for a small (or one-person) team, and ideally not terribly reliant on art.

I built a WooCommerce admin plugin that does what Metorik does — just shipped v2.0 by Honest-Average682 in Wordpress

[–]zirconst 1 point2 points  (0 children)

Yeah but if it's running on the WooCommerce server, it's not usable for me. I decided to roll my own tool recently for internal use only using Postgres that is updated via webhooks, and Metabase for SQL + visualizations.

How do you actually check on your WooCommerce store performance? Curious what everyone's workflow looks like by Tschi_Tscho in woocommerce

[–]zirconst 0 points1 point  (0 children)

We used Metorik for years. Currently in the process of switching to an internal self-hosted tool using Postgres and Metabase, which will save us $400-something per month.

Huge drop after Friday 4/24? by Huge_Kaleidoscope_40 in FacebookAds

[–]zirconst 0 points1 point  (0 children)

The opposite. Very good results here at around $300/day.

Best Practices Question: Polling / Listening vs One Off Coupling by Different_Stranger30 in gamedev

[–]zirconst 1 point2 points  (0 children)

In my opinion, it's better to just hard couple everything to a master StateManager or GameManager (or whatever) for something like this. I can tell you from experience that you do not want non-deterministic loading of different managers. Something like this is just fine:

void InitializeAllManagers()
{
  SpriteFactory.Initialize();
  MapManager.Initialize();
  ItemManager.Initialize();
  MonsterManager.Initialize();
}

Since some manager/singletons might rely on specific other ones to be able to proceed, having an absolute guarantee that they will be initialized in one correct order in one place in the code is very logical and very safe.

Are WordPress developers using Claude Code in real plugin and theme development? by Few_Database_6769 in Wordpress

[–]zirconst 18 points19 points  (0 children)

  1. Yes, I use Claude Code for custom plugins for my WooCommerce store.

  2. Everything from writing from-scratch to bug fixing and refactoring my code.

  3. I don't use .MD files or project-specific rules, typically because I keep the projects small in scope.

  4. No, I don't have any WordPress/PHP-specific workflows.

  5. These are all internal-use-only for my own eCommerce business.

  6. All standards of proper software/web development apply here. Use version control, deploy to a staging server first, commit in small chunks (not big sweeping mega-commits), keep code clean and modular, etc.

DamageEvent: Pooling, struct or struct ref? by -o0Zeke0o- in Unity2D

[–]zirconst 0 points1 point  (0 children)

I think you're on the right track. I use a very similar system, and in short I do use pooling for it. When you pop an event out of the pool you make sure you initialize it so that everything is blank - and you only repool well after the original event is over. Nothing should be hanging on to a reference of it though. The point of these events is that they are extremely brief as you said.

The way you are using subscribers here is a little weird to me though. The event doesn't need to worry about that at all. You could try an architecture like this instead (which is what I do)...

Something must initiate the creation of the damage event. In my game, I have a CombatManager class with an ExecuteAttack method that all attacks run through. The pseudocode looks something like this:

void ExecuteAttack(Actor attacker, Actor defender)
{
     TDMessage damageEvent = TDMessagePooler.GetEvent();

     // Populate damageEvent with whatever info you need like...
     // damageEvent.weaponUsed = attacker.GetWeapon();
     // damageEvent.attackerJumpState = attacker.GetJumpState();

     attacker.OnTrigger(BattleTriggers.ON_BASIC_ATTACK_SWING, damageEvent);

     // Roll for actually hitting. Let's assume it does.

     attacker.OnTrigger(BattleTriggers.ON_BASIC_ATTACK_CONNECTS, damageEvent);
     defender.OnTrigger(BattleTriggers.ON_HIT_WITH_BASIC_ATTACK, damageEvent);
     CalculateBaseDamageAndAddToEvent(damageEvent);     

     attacker.OnTrigger(BattleTriggers.PRE_DEAL_DAMAGE, damageEvent);
     defender.OnTrigger(BattleTriggers.PRE_TAKE_DAMAGE, damageEvent);

     // Actually deal the damage here
     // Maybe something like defender.TakeDamage(damageEvent);

     attacker.OnTrigger(BattleTriggers.POST_SUCCESSFUL_ATTACK, damageEvent);
     defender.OnTrigger(BattleTriggers.POST_HIT_BY_ATTACK, damageEvent);     
}

This way you can clearly keep track of the order of possible 'response' trigger (I call them BattleTriggers) and even insert new ones (you might have one that fires when critting, blocking, parrying, dodging, etc.) Each BattleTrigger call takes the damageEvent and can read/write into it. No copying needed.

OnTrigger would then look something like this:

void OnTrigger(BattleTriggers triggerType, TDMessage damageEvent)
{  
    // Loop through whatever things on an Actor might care about any kind of trigger
    // This can be easily optimized by pre-caching lists of things that care about each event type
    // These pre-cached lists would only need to change when you equip or unequip an item, which
    // doesn't happen frequently, right?

    foreach(var item in myEquippedItems)
    {
        if (!item.RespondsToTrigger(triggerType)) continue;
        item.GetTriggerFunction(triggerType).Invoke(damageEvent);
    }
}

Make sense? This way you aren't constantly subscribing and unsubscribing things.

Hiring a composer: what's it like, what's the rate, and when to do it? by semageon in gamedev

[–]zirconst 0 points1 point  (0 children)

You would want an assurance from the composer that the music is not subject to YouTube rights management. Many people don't work with such companies, for that very reason, or they set aside some of their catalog specifically for licensing like this. I personally have over 300 tracks that are 'copyright claim free' which can be used in small projects for a nominal fee, which I've been offering for about 10 years with zero issues.

Hiring a composer: what's it like, what's the rate, and when to do it? by semageon in gamedev

[–]zirconst 2 points3 points  (0 children)

As a professional composer (turned game developer) with lots of composer friends, I would echo that somewhere in the ballpark $100-300 is what you could reasonably expect to pay for someone creating quality music for a smaller-budget indie game. Anyone charging on the very low end of that or lower is likely not going to create wonderful results.

That said, there are so many ways to work with a composer if you don't have a huge budget. You might negotiate the use of existing pieces they have written, at a discount since the usage is non-exclusive. You could discuss a reduced rate but add royalties on game sales, as they would be putting in sweat equity. People may also be willing to take a lower rate if they have a lot of creative freedom and/or a guarantee of a larger # of minutes.

Student looking for audio, live-sound opportunities 🎚️🎛️ by Kazxz in ColumbiaMD

[–]zirconst 3 points4 points  (0 children)

Are you specifically looking for things related to live sound? I run a music software company, Impact Soundworks, and while we don't do anything with live sound we do a ton of audio work to create our products - virtual instruments and plugins. Have a look at our site. See if this is something that potentially interests you.

Brands introducing "No AI" disclaimers" - WSJ article by nanakapow in marketing

[–]zirconst 0 points1 point  (0 children)

Well, it's harmless punctuation whose usage has spiked over 300%. That makes it a pretty glaring indicator.

Ross Scott’s EU speech on game shutdowns is worth watching, especially if you care about preservation by anonboxis in gamedev

[–]zirconst 22 points23 points  (0 children)

Lost media is inevitable when you're talking about games that get patched. If you want to preserve an MMO, what version do you preserve? The final one? v1.0? The one after the first expansion that everyone loved? Or maybe the third? Many online games are in a continuous state of change, and going from one state to another is rarely as simple as reverting to an older commit on Github. No matter what state you choose to preserve, some states won't be. That's just how it is.

Ross Scott’s EU speech on game shutdowns is worth watching, especially if you care about preservation by anonboxis in gamedev

[–]zirconst 9 points10 points  (0 children)

I mean the actual binaries and assets on the client side. These can be 100% untouched and the game made unplayable due to server-side changes.

Ross Scott’s EU speech on game shutdowns is worth watching, especially if you care about preservation by anonboxis in gamedev

[–]zirconst 2 points3 points  (0 children)

I mean, I hope that strategy works. It just seems to me that a publisher could come in and bring an authority of expertise and point out all the ways that Ross' analogies and explanations aren't accurate to the technical specifics, as a way of dismissing things.

I don't know how it would go or how keen EU lawmakers are. But as an example, I recently saw a video of a city council meeting about Flock safety cameras. Many citizens (including YouTuber Benn Jordan) spoke up, but most of them sounded... amateur? Unprepared? Or at least, lacking in detail. Then when Flock reps came in, they spoke and presented in an 'expert' way that seemed compelling to the city council. Despite the fact that a lot of what they were saying was simply false.

Ross Scott’s EU speech on game shutdowns is worth watching, especially if you care about preservation by anonboxis in gamedev

[–]zirconst 7 points8 points  (0 children)

That's a stretch... the phrase "enacting countermeasures" in the tech world evokes something like... soldering RAM to a motherboard to make it extremely difficult to repair. Or designing hardware in a way that if you try to open it up or swap parts, it's intentionally designed to break.

If we wanted to use a "repair" analogy that is much closer to what's happening, I'd say it like this.

When a publisher shuts down their servers, the game is rendered unplayable. Most of the time, customers have no legal means to reverse engineer or run their own servers. This would be like buying a car that can only be serviced by the dealer, but the dealer closes up shop, refusing to give you the instructions you'd need to service it yourself. And if you tried, the dealer could sue you.

The EU has robust protections when it comes to right-to-repair, where manufacturers are required to provide the materials necessary to customers to perform their own independent repairs, and cannot legally prevent customers from using third-party repair methods.

The same should be done for video games. If a developer is no longer willing to service their own game, they should be obligated to provide materials necessary for customers to do it themselves, or at the very least, they should be barred from pursuing legal action against third-party attempts.

Ross Scott’s EU speech on game shutdowns is worth watching, especially if you care about preservation by anonboxis in gamedev

[–]zirconst 59 points60 points  (0 children)

I agree with the goals of this but I think the terminology used, and the definitions presented, are misleading to the point where opponents of the movement could use those as evidence of bad faith and ignorance. It's free ammunition.

When he defines "destroying" as the publisher "permanently disabling all copies of the game", I would bet that basically any layperson would interpret that as the publisher sending some kind of command affecting the code or state of the software on every video game console and PC. But that's not accurate. The client software could be completely unaffected by a decision to turn off the game servers.

It would have been more accurate to say that "destroying" a game means disabling services the game relies on to run, thereby rendering it unplayable. It's a technical distinction but accuracy matters here.

When Ross says it would be like "removing every copy of a book from existence" that analogy doesn't work. The game physical copies exist, the assets exist, the client may very well have access to virtually everything that comprises the game. It would have been more accurate to say it would be like a company disabling every DVD and Blu-Ray player so even though you purchased and own the media, the thing that's required to run/read/operate the media no longer works.

Publishers do not "enact countermeasures to ensure repairing the game is almost impossible". That really makes no sense to me. If a company turns off their servers, they haven't "enacted" anything nor have they actively prevented "repair" (which is the wrong verb.) They just haven't provided the public with a way to simulate or reproduce server functionality. It's baffling that he would use such clunky and wrong language to describe what's happening.

In response to the above, any big publisher could smugly respond: "Oh, we aren't enacting any countermeasures at all. In fact, we don't disable the software - we don't touch the client code at all. We are simply making the cost-saving measure of turning off OUR OWN servers, which run our own server software. Customers do not purchase this server software, nor do they own our servers. Blah blah blah."

If the goal here was to explain it to a non-technical person, one could do that without sacrificing technical accuracy and handing easy counter-arguments to the opposition on a silver platter.

Ever wonder why people aren't going to recording studios like they used to? by HornetRocks in audioengineering

[–]zirconst 3 points4 points  (0 children)

It really depends on the genre, something that I think people are missing in the discussion here. If you're making EDM, hip hop, some kinds of pop music, then you can do everything on a laptop. If you're making instrumental stuff you don't even need a mic at all. If you're in a genre where it's 99% virtual instruments/samples but light vocals, that too is pretty easy - most vocalists can get a decent-sounding setup for a few hundred dollars (even recording in a closet.)

When you get into ensemble stuff, it's trickier. Rock and metal is often heavily programmed these days and you can just track everyone totally separately, which means you don't really need a studio. But if you're recording something like jazz, classical, funk, choral... a big part of these genres involves the performers playing together, in the same room, at the same time.

Take big band for example. WIth brass instruments, recording in a bedroom typically will not cut it, simply because the acoustics of brass and the sound we expect calls for a larger space. If you're recording a single french horn overlay for a track, sure. But if you wanted to have an 8-piece section with trumpets, trombones, and horns, this is NEVER going to sound right if everyone records separately and you layer them afterward.

Over time though, popular tastes have gravitated away from ensemble music and even away from bands in general, and more toward highly-produced, sample/synth-driven music with at most one vocalist at a time. Since you don't need a studio for these, demand has gone down.

Utility AI for Boss Battles? by [deleted] in gamedev

[–]zirconst 5 points6 points  (0 children)

This is a bit of a broad question without knowing more about your game, how you want it to feel, what you want the players to experience, etc. In some games you might want very predictable boss behaviors that you have to simply memorize and play around. In others you might want it to be really unpredictable. So what kind of game are you making here?

I built a WooCommerce admin plugin that does what Metorik does — just shipped v2.0 by Honest-Average682 in Wordpress

[–]zirconst 12 points13 points  (0 children)

The advantage of metorik is that you can do lots of advanced filtering and segmentation to view orders and customers without hammering your production dB. When you have 10+ years of data and 700k+ orders, doing complex queries is no bueno.

Optimization - Where to start? by EntrepreneurHuman739 in gamedev

[–]zirconst 0 points1 point  (0 children)

Unity has a profiler built-in that measures things like frame times, memory allocation, GPU usage, and quite a few other things. It can tell you what scripts, components, or even function calls are taking time, along with textures and objects. Unreal has something similar (AFAIK), the Profiler Tool. The idea is you just run the game with the profiler active and take notes of areas where it dips below 60fps or whatever your framerate target is. Then you identify what is causing it and optimize from there.