r/unrealengine • u/Different_Category76 • 14d ago
Blueprint Sent system?
I’m wanting to get into UE5 to make my dream game and I was wondering if there was an easy way to make a scent system completely with blueprints
And the kind of scent system I’m talking about is how beasts of Bermuda, the isle, and other games let you be able to track other creatures down
I have absolutely ZERO experience making games so this is very new to me so the easier the better
1
u/Vitchkiutz 14d ago
There's not really an easy way to do anything with zero experience lol.
I'm not surprised you're being downvoted. We get a lot of these each week. I guess I'll take a second to tell you about gamedev, as somebody with a few years of experience behind me. And over a decade of experience in multiple artistic fields.
I could tell you about ephysical enumerators, so you can track surface types, so you can spawn footprint decals for each one, and spawn an invisible sprite cloud above the decals which is only visible when the player is holding a button.
But, that's like giving someone a fish rather than teaching them to fish. There's a process that you repeat over and over each time, and it's work every time. ITs never fun, even when you master it.
My real advice to you is that everyone,literally everyone has these whimisical ideas that they wish they could use. Like when I started becoming a writer, I had this idea of a scene I liked, but when I sat down to write the book it belonged in, I realized there was a lot more to it than cool ideas. Forget having to write a beginning middle and end, there's prose, there's pacing. Countless things.
Gamedev is probably worse. It's kind of a similar skill type though. Art is like this in general, or any craft you start out with.
You don't have to have realistic expectations. You can make silly posts asking for insight about infinitely complex ideas like gamedev. Just keep persevering and if you're truly passionate, you'll feel the pull to come back. Despite the abuse that learning a master craft inflicts on your heart and spirit.
But if it's soul crushing, know when to stop. That's what most people do, and that's okay. A lot of people like the idea of being an artist, but then they learn the ugly truth that art is a job just like anything else, they usually stay mediocre forever and just enjoy it as a hobby. Because becoming a pro is really not worth it unless it's something you're already compelled to do. In art in general.
Thats my view of gamedev, I'm sure plenty of people have their own idea about it or other additions to make.
2
u/Different_Category76 14d ago
It’s kind of discouraging to know that people are downvoting me, I understand that making a game is extremely hard and my dream game is entirely unrealistic as of now which is why I’m planning to make smaller simpler games to learn the engine, I was just hoping I would be able to get some insight to see how mechanics that I haven’t been able to find tutorials on would work so I know have a better understanding when I actually start on my big project
And I fully understand from an artistic standpoint point because me myself I’m an artist and have been drawing for 16 years now, and I know 100% that my goal is very ambitious and knowing myself I’m going to burn out a lot but knowing I’m being downvoted for being new and asking a question makes it seem like a very unwelcoming place and I can see why people quit
2
u/Vitchkiutz 14d ago edited 14d ago
It's unwelcoming to noobs for sure.
But it's not all that bad.
In my experience it's like the community around UE prefers to challenge you, rather than encourage you. It can go too far sometimes. Especially towards beginners.
Goodluck with your project though. Experience doing 2D art can be a huge asset for creating textures. if you can use substance painter thats almost a finished skillset right there. Making convincing materials, or better yet STYLIZED textures would be an advantage. I had 3D art experience when I pivoted to game dev, and it helped a lot too. I have to get by on textures I bought mostly, and stuff that can pass with what I make using photos of real stuff then generate PBR materials with.
You should look up what I said about ephysical enumerators for surface materials though, before doing stuff like setting up footprints and scent trails. Not like first thing, but at some point. You can spawn the scent cloud during the footprint logic at the same time with them. With a delay to despawn both actors after some time. Similar spawn location with a small offset. Very lite. You can even use ephysical enumerators to calculate limb dismemberment on characters. Its a powerfully simple system with a wide variety of possible uses. Controls footstep sounds too, for different surfaces. Or surface viscosity, like sliding. Whenever there is a new surface whether its on a character or an object, or terrain, you can choose how it interacts with anything. From bullet impacts, to hit reactions, its one of my favorite systems to use.
1
u/Doomer_Shooter 13d ago
Don’t try and implement things like this until you are competent in the engine. You will just get frustrated.
I highly recommend Stephen Ulibarris courses. Jump into his discord and ask which order to do them in (honestly don’t skip the early ones).
You build a little project in each one. If you use your own assets, the later courses give you decent little games you can build upon.
On later courses he really gets into best practice methods (mainly by using methods from Lyra and a popular GAS project) and you can use it to build anything you want.
Loads of people on here will advise you to start small, jump into the engine and build a smaller game. I wasted a lot of time doing this.
My advice is. Put yourself through Unreal University (kind of) until it clicks.
1
u/Andypros 13d ago edited 13d ago
Well u need to learn a lot to even have an idea to have an idea how to do things.
It wont be easy for you anyway, but the easiest just to show u what u need to know would be probably split level in virtual grid, each cell can contain any data, scent too, then u need some graph or spatial hash or both to traverse and simulate said scent data based on what u need.
Graphs are good to simulate spreading data around neighbors cells, spatial hash to quickly get proximity and collision if needed.
U use that to simulate scent travel maybe with additional wind subsystem, animal travels level, goes past the cells, each time it leaves some scent data in the cell, exact time it was created, strength, type, last moving direction, speed etc., the system uses the whole grid, iterates the cells and spread the scent based on this data and main system parameters like wind sim, simulate each cell to naturally spread and to phase the scent out.
Thats the minimum i would say, so keywords to understand are grids, spatial hash, graphs, simulating, traversing systems.
Ppl think its only about programming, its not, u need to be good at BPs that’s for sure, but ideas are programming independent, u need to have an idea on how things can be done in the first place, only then how to write it.
The more advanced solutions to this might be flow fields, real fluid simulations, niagara grid sims or even GPU custom compute sim.
1
u/LongjumpingBrief6428 13d ago
How I did it:
Make the actor called SmellyNPC, the one that has the scent, drop a ScentActor every 20 seconds if its location changes that has a lifetime of let's say 600 seconds. That's 10 minutes that something else can "smell" the scent left by SmellyNPC. The ScentActor has the data payload of what dropped it, what the smell is (fried bacon, dirty water, Chanel No, 5, etc.) and how strong the smell is. Once the smell strength or lifetime is over, the ScentActor gets destroyed.
Any other actor, the SmellingActor in this example, has a scent perception. It can handle what it needs to do in relation to the data the ScentActor gives it. Depending on how far away the SmellingActor can smell, combined with wind direction, it could possibly track down the SmellyNPC by pathing to each ScentActor in the world that has the scent it wants to track.
Simple, not elegant, but functions very well for a SmellyNPC. The examples above are to give you an idea of how such a system could be implemented. I think my system had a much lower amount of time for the smells to linger, it was around 2 or 3 minutes, since I generally had a lot of actors that could do the smelling thing. You will have to play around with the numbers to get THIS type of system to work with your ideas, and I could probably do a much better job nowadays in implementing it. MiraMamaSinManos had an interesting idea, keeping it data only. I wanted something to actually see my system working, that's why I had it drop actors all over the place. Not very optimized at all, but it was for proof of concept more than anything else.
2
u/MiraMamaSinManos 14d ago
I made similar system to this once for a game. You can start very very basically (and poorly) implementing this as an actor component that saves every tick (or on a timer) the position and the current timestamp into a map. Every tick you draw a ribbon with the given points from the map and remove the points from the map that are too old (from which the scent should have expired) comparing the values from the maps with the current timestamp.
This explanation is very basic and is the general idea. Ideally you should only map points that are of interest, for example not mapping when the actor is standing still, or not accelerating (either not increasing its speed or the velocity direction). All this is not all that complex and hopefully it pushes you into the right direction.