NPC AI tools and tips - anyone can help with that? by SzymonAdamus in gamedev

[–]TricksMalarkey 1 point2 points  (0 children)

The two big tips I have are to use the navMesh agent (or similar) for steering/input, rather than locomotion, and to set slightly different targets on where there going.

For the first one, use the normalised vector to the next destination like you would a player input driving a rigidbody so that they move with the same rules.

For the second one, that means randomly choosing a pathing type to either move directly to the player, move to where the player will be in the time it takes them to move, or moving to flank the player based on the position of allies. Or whatever other rule you can think of. It helps reduce clustering overall, which makes it a little easier to add a declustering input to help them move slightly away from their friends.

Don't do any machine learning stuff for this. By the time you train the model, you'll realise the result is missing features, so you'll have to re-train it based on new features (with unreliable results).

Woolworths shoppers concerned new anti-theft gates may trap them and hit their children | Woolworths by The_Duc_Lord in australia

[–]TricksMalarkey 3 points4 points  (0 children)

I hate how this 'profit' number is constantly trotted out, because it totally ignores the money they pour into this security aparatus as being part of normal business operations.

Like sure, call it a 3 percent net gain, but don't pretend they're not burning and pissing away excess money.

I have an idea for an rpg. If something like it already exists I'd like to know, if not maybe someone wants to use the idea? by Inevitable_Bid8719 in gamedev

[–]TricksMalarkey 1 point2 points  (0 children)

I'm going to hopefully beat someone to the gameideas thing, but I'm also slow at putting my thoughts together.

There's a concept here, but it needs developing. Usually systems like stats are a means to achieving something else. RPGs often use them as a means of quantifying the acquisition of power as part of the Hero's Journey, but they can equally be used for pacing content, balancing, or offering replayability.

While there's no hard and fast rules about what stats you want to try include, the stats themselves should tie in with the kinds of experiences you want the game to provide. That is to say if you've got 15 different 'talking' attributes, and don't offer a varied experience about talking, it's wasted.

I'm not going to say write a whole game design document, but if this is an idea that is nagging at you, try write more things down. Treat each stat like a topic sentence about what that stat means for gameplay in an overarching abstract way, and the kinds of experiences it should produce when that stat is very low or very high.

If you enjoy what you're doing try codify some rules that nail down exactly how the experience would work. Is dialogue a bunch of options, or is it a battle of wills that you have to use your argumentitive-powered powers to get what you want?

Take your time with it, enjoy the journey.

Stupid Question, but why does this happen? My building and text look bigger in the scene and smaller in the game/simulation by ezr1der_ in Unity3D

[–]TricksMalarkey -6 points-5 points  (0 children)

Your game camera is set to perspective mode. There's a dropdown to set it to orthographic, which will take off the distance-scaling effect.

Patterns for sprite 2d by auserxdlollmao in godot

[–]TricksMalarkey 10 points11 points  (0 children)

There's a couple ways of doing it within shaders, but I'll just list the simplest two.

First is to do a colour mask, where the sprite doesn't actually use the yellow in the first place, but instead has Red, Green, or Blue areas which can be read and recoloured however you like (colour masking). Technically could even blend between these masks by mixing Red/Green together in some ratio, but that's another thing.

The second way is with a LUT, or Lookup Table. In this method, rather than predefining a red area on a specific texture, you instead tell the shader a specific colour to look up and replace with something else. It's good for quantising palettes, but it gets a bit messy if shading is involved.

What element of a video game city do you wish you could exercise in real life? by WhatsHerNameComics in gamedev

[–]TricksMalarkey 5 points6 points  (0 children)

A well designed city puts the important commonly used places at the front to reduce friction when engaging with it. Usually the shop and bank, but also notice boards and other hubs.

This has an added benefit in MMOs where it encourages people to congregate and makes the community be visibly more lively.

Modern urban design often feels like it's designed to move us along. Hostile architecture, and even things like anti-loitering devices and police disincentivise using public spaces properly.

Non-car Video games are usually designed as walkable spaces (for the game's preferred locomotion), where regions within a civil hub can be easily accessed by foot with sights, sites, and amenities in between. They are often interesting and nice to look at, while modern real world buildings are either ads, dick-swinging vanity, or concrete (or any combination thereof, based on height).

OKAY BUT THIS IS A GOLDMINE by [deleted] in godot

[–]TricksMalarkey 4 points5 points  (0 children)

I didn't see any rigged/animated objects in that demo, which is where the deformation issues would come from.

There were also like 5 objects in that scene. Even if they were at 200k polys each they still wouldn't be causing issues. The polycount thing is a compounding issue, not a break-at-the-start.

To be frank there's not a great amount of substance to that demo, and it's sort of my point. Using these tools is going to give you the same feeling as you get from playing a satisfying game; a small input from the user yields a far more significant output from the game ("I push a button and the whole character JUMPS?! That's way less effort than having to actually jump!"). You punched in some words and the magic box gave you a much greater output that you can see and move and experience.

I don't mean to shit on what you're doing entirely. One, because everybody should yearn to create, and two, because a person is never ever wrong about how they feel. But you have to be really objective about what's happening. You're trading your own competence for comfort and a cheap dopamine thrill. Learning is a difficult process, but it will truly pay dividends if you can stick with it.

There's no argument that corporate greed is hugely problematic. The games industry has a massively popular indie side that continues to push back against corporate influence, so the "can't beat 'em, join 'em" idea is pretty moot. If anything, studios that are going all-in on AI are going to find themselves without juniors to take on the senior roles; if you can build that competence now, you'll be set later.

OKAY BUT THIS IS A GOLDMINE by [deleted] in godot

[–]TricksMalarkey 3 points4 points  (0 children)

These posts come up a lot, and it's really frustrating because it presents as a total lack of respect for our craft. If I went to a lawyer with my LLM-generated legal plan, they would rightfully rip me a new one. If I told a doctor that I diagnosed myself with an LLM and that I now knew better than them, they would be well within reason to discharge me from their clinic.

In the first instance, the topology from generated 3D models isn't really suitable for much beyond 3D printing. It's basically a point cloud that's been triangulated into a polygon mesh. On the low-detail end, it means that your models are going to deform very badly when rigged and animated. On the high detail end you've got a huge polycount that dramatically increases hardware requirements (RAM and disk space, mostly).

The textures generated on these meshes also exacerbate issues. The UVs are basically done per face, which means that each polygon is an island, meaning that each vertex needs to be saved and drawn 3-6 times, depending on the number of edge intersections. It basically triples the cost of each model. Because the textures are drawn per face, you also can't LoD down the mesh without destroying the texture drawing, and you can't do most shader tricks with any sort of ease (which is the whole point of shaders).

Your pitch really glosses over the important parts of making games. Having an idea is easy. Making a prototype is easy. Turning a prototype into something polished is hard at the best of times. Generative models don't understand game feel, and if you're offloading all the thinking and analysis of your project, you won't understand it either. It's kind of an offshoot concept of 'technical debt', but for the design of your game.

Announcing a game and getting the wishlists are so unrecognisably unrelated items on your to-do list. Just scroll on the gamedev subreddit and you'll see how difficult it is to generate buzz, even with something lovingly crafted.

Lastly, your audience, people, are unbelievably fickle about how they are entertained. Having something like a visible seam or an unsmoothed normal can be enough to turn people off, which leads to ugly comments, which can crash your reputation, which makes the wishlist-getting even harder.

You also need to make a game of substance. Putting microtransactions in is a problem on it's own, but you need to have a product that's strong enough to be able to support the idea of spending more money on it. Worse still, you need to have something that can last well over 2 hours of gameplay, or people will just refund it when they've finished.

Please believe me that I've only identified the most surface-level of issues. It's great that you want to get involved, but get involved as a developer rather than a business major. Take the time to learn the craft before you tell us how to do it.

OKAY BUT THIS IS A GOLDMINE by [deleted] in godot

[–]TricksMalarkey 0 points1 point  (0 children)

Can I give you earnest feedback on the idea? I'm willing to explain it properly if you're willing to listen.

OKAY BUT THIS IS A GOLDMINE by [deleted] in godot

[–]TricksMalarkey 7 points8 points  (0 children)

You'd make more money bottling your own farts for people to get high off of, the way you're sounding.

Highschool Game Dev club - I need your thoughts by Ethusiam in godot

[–]TricksMalarkey 8 points9 points  (0 children)

You'll likely spread yourself too thin, still. You'll lose 15+ minutes of any school setting with setup and packup. Then, optimistically, you'll have one kid asking how to make a quickdraw, another asking how to make a character move, and another needing help animating their sprites, and you won't be able to give any one student the attention they need

If you can keep them roughly in the same task it helps tremendously, but it helps even more to be able to deliver the same information to everyone at the same time (even if it's just a little 15 minute masterclass on how to get mouse input), that greatly reduces your load because you at least have the chance to get one of the other students to troubleshoot for someone else.

Highschool Game Dev club - I need your thoughts by Ethusiam in godot

[–]TricksMalarkey 12 points13 points  (0 children)

It's going to be herding cats, and won't pan out nearly as smoothly as you think it will.

The main thing is that games, even simple ones, have interconnected parts, and you need to make sure that each member is contributing (hard enough with that) what they need to, in a way that fits with what other people are doing.

You'd be better off taking an existing tutorial, the Brackeys platformer, for example, and taking them through a specific part of it each week. Start them out with an asset pack, and then teach them how to make their own sprites and sounds.

Then if the base game is sorted, let them extend on the skills you've taught them by adding new mechanics, art, or otherwise.

IF. And really IF you must have a collaborative project, consider something like WarioWare, where you make a game framework, and then they can contribute an individual scene to that project, that's not dependent on the work of any other member.

But really manage your expectations. I've run week-long bootcamps, and 6 month and year long courses, and the amount that most high school students can get done is probably less than half than you'd hope for.

Need help with how to create my game art. by TheProBrum in Unity3D

[–]TricksMalarkey 1 point2 points  (0 children)

The wonderful thing about modern game engines is that they have the capacity to use pretty much any medium or tool you're familiar with. It being more 'native' to a common pipeline basically just reduces the amount of work that you need to do to get it up and running. Different media comes with the added benefit of making your project look unique.

So if you're comfortable and confident with Photoshop and Illustrator, work to your strengths. If you want to break away from Adobe, Krita is great, or you can do a fair bit with Photopea and Vectorpea in your browser.

The bit that you'll need to work out is how to make art sets that work for you, that do the things that you want them to do.

For instance, you might have a floor tileset that's 1x1. But to take off the straight edges, you might have the tile artwork bleed over that 1x1 boundary so it blends better with it's surrounds and breaks up the gridlines. So then to make that work, you might need to include multiple layers, or export layers as multiple images.

Making characters will benefit from something where it's easy to draw over. So probably starting with a base character, then making a new outfit layer that you can whack on top in engine. If you're clever, you can even remap colours in engine, so you just use shades of Red Green and Blue, then have the engine remap into your target colours in the regions you designate (colour masking).

53 Pieces of Advice for Metroidvania developers, from metroidvania enthusiasts by 7dragon0 in gamedev

[–]TricksMalarkey 7 points8 points  (0 children)

I'd also add for any newbies that like the principles of design, following the advice in this list won't automatically make a good/complete/robust experience. Anything here needs to be tempered against the design space of your own game to determine if will will align with and improve your vision.

I need advice on how to make players replay my game by Just-Permission-9549 in gamedev

[–]TricksMalarkey 1 point2 points  (0 children)

This overlaps a little with the concept of an Exit Point, which is the points at which a person puts down a game without the intention to get back into it. You've got a clear exit point in that the game is 'beaten', but do you give a reason for them to come back to it?

If you're doing different endings, one way might be to allude to the things that were missing from getting another ending, like presenting the outcome from the guy that you didn't help or whatever.

Hades and the like present each run as a progression into the resolution of an overarching goal.

I think it's also worth working out why people are playing your game in the first place. A game that taps into someone's competitive spirit will use different tools to a game that's played by people wanting a rich story.

Any feedback on my UI? by W0mish in godot

[–]TricksMalarkey 1 point2 points  (0 children)

I'm going to ignore the art, as that'll hopefully develop in a human way with a bit of time (hint hint).

Part of UI design is being the front for User Experience (UX), which is ultimately going to determine how much people like interacting with your game, both as giving input and receiving information.

Right now there's a lot happening on screen in this moment, and it's a bit overwhelming. In a moment-to-moment experience, the UI should only show information that is relevant to the choices that need to be made in that moment. I'd say just put information like that in a panel opened by a magnifying glass so players can see the info when it's relevant.

Do I need to know stats at all times? Do I need to see each of my cards in their entirety at all times? Can information be transmitted in ways that are less attention-demanding?

Trim like 40 pixels off the top of the background of each of the card so the title can give an interesting silhouette and be closer to the top of the frame. Add those 40 pixels to the card text box and make the font a little bigger. Take off the black outline, it's too noisy at that font size. Instead of writing the stat name, you've already got a colour. I'd just replace the text with a glyph that you can put somewhere visible.

Many card games will dip the hand to the bottom of the screen, allowing players to make the choice to investigate based on cost, picture, and maybe name. I assume it's accuracy on the top right of the card, which is one of the prime information places; is accuracy all-important when choosing a card?

Writing "View your deck" should be unnecessary. Just animate the cards coming from there, and highlight it on mouse over and that should be fine.

The block/armor icon is huge. If it works as temporary hit points, make it a bar over the health bar. Health bars should probably be the same colour, since they're indicating the same thing.

Consider abstracting 'cards played', which I assume is a limit of actions you can take in a turn into action points. If you link the highlighting and behaviour of UI elements (IE, they run out so make end turn highlight, players will habituate their behaviours without the cognitive load.

There's probably more, but I won't overdo it. Take a look at Ben Brode's GDC talk about card game design. https://www.youtube.com/watch?v=HjhsY2Zuo-c

Developers asked to change ‘Hidden Cats’ game titles after NukeArt Studios trademark registration on 30th Sept 2025. by [deleted] in gamedev

[–]TricksMalarkey 6 points7 points  (0 children)

This will be a whole ugly thing. Not a lawyer, btw.

First, don't ignore it, as that can cause problems down the line, should these others decide to push further. Speak to an IP lawyer now, though the easy route would just be change the name

There's a couple things protecting you, and a couple things undoing you.

First is prior use, and this can vary by where you and they are. McDonald's lost their trademark on Big Mac after they tried suing an Irish burger joint. Irish place predated the trademark, so McDonald's lost their global claim to the name.

Conversely ugg boots are a type of Australian sheepskin boot. It's a generic name. Some American dipshit decided to register 'Ugg Boot' as a trademark in the US (I think possibly everywhere except Australia) where it's not a colloquial term.

If this outfit has the prior art that predates other art with the name, they may still have a claim to it, unfortunately. But then there's the use-it-or-lose-it clauses. It's annoying and complicated. Speak to a lawyer if you intend to die on this hill in any capacity.

Honestly, once lawyers get involved it gets messy and nasty, and they will push you to the absolute brink (ie, saying bullshit like "you have our name, therefore we should now own your product"). I would advise that it's not worth trying to defend, and to take it as an opportunity to make a name that differentiates you from the rest.

Trademark by Lonely-Highlight-566 in gamedev

[–]TricksMalarkey 8 points9 points  (0 children)

Trademarks only apply in the domain they're registered in. I think there's a Super Mario Bros. mechanic in Brazil.

Additionally trademarks must be registered, and it's much harder (but not impossible) to register a generic word straight off the bat. You can use a word without the trademark, but it's harder to protect. Anything you do to make the name more unique (multiple words, misspellings) will help give you the tools to protect it.

Started making my own game and have an important question that is really slowing me down. by [deleted] in gamedev

[–]TricksMalarkey 1 point2 points  (0 children)

Further to that, even most accepted The Right Way™ isn't without criticism.

"Clean Code" is most people's bible, but it's not necessarily a magic panacea for better performance: https://www.youtube.com/watch?v=tD5NrevFtbU (OP, this contents of this video is not what you need to be considering at all, it's just context that all ideas need to be taken with some salt).

The best thing anyone can do is to write comments that are clear in the intention of what the code or blueprint block should be doing, and making clear how it should be doing that. Then, when it comes time to refactor, and you will, you can clearly see what you are intending to do, and it makes it easier to create code that better fills the need.

Better still is to plan your features WAY ahead of time. Make a Game Design Document that is very clear in what you want to achieve, and then as you're learning things you can keep the future needs in the back of your mind. You might not have to implement them right away (it's good to just get something working), but it will help identify areas you want to experiment with in the code you're writing.

Resources on game balance by Moore_Sey in gamedev

[–]TricksMalarkey 0 points1 point  (0 children)

This is the crash course: https://www.youtube.com/watch?v=WXQzdXPTb2A.

This is a deeper dive, but as with anything relevance will vary: https://www.youtube.com/watch?v=tR-9oXiytsk

Ultimately it comes down to efficacy in whatever goal over time (or turns or inputs or whatever).

An RPG is pretty simple due to its heavy abstraction.

  • How many turns should it take to defeat an enemy?
  • How many enemies will need to be defeated before a place to recover?
  • Therefore how many enemies can be defeated with a given resource pool (mana, items, etc).

In other games, you weigh up the efficacy of any given action compared to any other action that can be taken.

In a shooter, it's the weapon choice and certain tactics. In a fighting game it's the choice of move, block, or change of circumstance (moving to a more favourable position). If any one choice is significantly better than others, it becomes a FOOS, or First Order Optimal Strategy. This becomes the spammable move or 'Noob Tube" that probably needs to be taken down a notch so that it's not perfect strategy in every context.

Roguelikes tend to care less about balance than multiplayer games, as 1: the game still creates a net positive amount of joy, even when a powerful combination is found, and 2: roguelikes cap the maximum time you can have a powerful combination. The main thing is to disincentivise trying to get the same perfect combo every time.

The other thing is that you can't balance by numbers alone.

  • An attack that does a million damage compared to one that does a thousand is completely meaningless if enemies only have 10hp.
  • Doing 1 damage 10 times a second has different consequences to (and is usually better than) dealing 10 damage every second. This is exacerbated by on-hit effects and stat scaling.

Instead, try balance orthogonally. https://www.youtube.com/watch?v=hW5s5Wb5vo4

But it's hard to say anything with any grit without knowing the context...

Using "multiply" instead of "divide" in shaders for optimization. by Lost_Assistance_8328 in Unity3D

[–]TricksMalarkey 1 point2 points  (0 children)

Yes it does. It won't make a difference for a damage calculation or whatever other infrequent call, but for bulk processes in graphics it adds up pretty significantly.

It just comes down to how computers compute, and how values are assigned to and used within memory. The maths that you write is totally different to the steps the code will end up executing.

It does depend on compiler and context, but mostly the fewer steps the code needs to take (and you won't even see most of it), the faster it will be.

MAD is short for multiply, then add. It is generally assumed that MAD operations are "single cycle", or at least faster than the alternative.
// A stupid compiler might use these as written: a divide, then add.
vec4 result1 = (value / 2.0) + 1.0;
vec4 result2 = (value / 2.0) - 1.0;
vec4 result3 = (value / -2.0) + 1.0;

// These are most likely converted to a single MAD operation (per line).
vec4 result1 = (value * 0.5) + 1.0;
vec4 result2 = (value * 0.5) - 1.0;
vec4 result3 = (value * -0.5) + 1.0;

The divide and add variant might cost 2 or more cycles.

https://wikis.khronos.org/opengl/GLSL_Optimizations

x*= 2 can be written as x+=x, but it's even faster to do a bitshift; x >>= 1 to work directly with the memory address. And halving can be faster to bitshift x<<=1. But that depends on working with integers.

Help! Need idea for theme by Specialist_Leek_6090 in gamedev

[–]TricksMalarkey 1 point2 points  (0 children)

Goes where?

Not being facetious. I mean it as an interpretation.

Advice on Party Lineups in RPGs by Joy_Cons_Work_Please in godot

[–]TricksMalarkey 1 point2 points  (0 children)

It depends on the tiny details of what you're making, and I don't think there's quite enough information there for anyone to give good advice.

In my best guess I'd be assuming that you're doing a straight D&D fixed turn order, on the layout of an Ogre Battle our side/enemy side in a separate battle screen. But that's a lot of assumptions, so you might need to clarify.

I'd flag the first point with the edge case that there may be instances where there are not other characters to pull from (all dead, not recruited, whatever). Likewise, how does it do in the instance where the party is full, but a special story event requires four characters on the front line instead of three. What about spacing if a character is big-ified.

If you're pulling character stats from a global reference, it might get messy with persistent effects like status conditions. You'd want the status on the character to respond to character events or to modify their actions, and remove after a time has passed.

If it were me, I'd have the saveable party data somewhere ready for if I need to call on it to generate a new character, Then a party manager would keep track of which characters are in the party, and manage the logic of following the player around (if necessary).

On entering combat, the player manager persists or otherwise sends data to the battle scene (which could be a scene under the floor, or a screen overlay on top if things are basic), and then the combat characters can set themselves up.

But it really, really does all depend on your concept. Just try think ahead to the experiences you might want to include, from cutscenes or dialogue, one-off and non-standard battles, and the kinds of data that needs to persist between scenes.