Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
jizzy sillage
Aug 13, 2006

Unreal can be a bit trickier than Unity for stylised/non-PBR art styles. You generally have two paths available:

a) Default engine. Your work will mostly live in the Post Process Materials. These can be in the render pipeline in a few places (before/after translucency, before tonemapper, replaces tonemapper). You're limited to access render buffers already set up by the engine, so some effects become very hacky.

b) Custom engine. You can add or remove whatever render passes and buffers you want. World is your oyster but you need a strong understanding of rendering to go this route.

But there's also:

c) Secret third option. There's actually way to do custom rendering stuff that inserts into the render pipeline, the magic words here are SceneViewExtension.

If you're at a company working on a large project, it's strongly recommended you use a custom engine build anyway, so you may be comfortable with either B or C, especially if you have a tech art background and can write C++ and HLSL.

Guilty Gear Strive did some really slick cel shading in Unreal without needing any custom render passes as far as I know - you can just plug any material into the emissive output and it'll ignore lighting information, so all lighting can then be faked by you.

Adbot
ADBOT LOVES YOU

Brownie
Jul 21, 2007
The Croatian Sensation

jizzy sillage posted:

Unreal can be a bit trickier than Unity for stylised/non-PBR art styles. You generally have two paths available:

a) Default engine. Your work will mostly live in the Post Process Materials. These can be in the render pipeline in a few places (before/after translucency, before tonemapper, replaces tonemapper). You're limited to access render buffers already set up by the engine, so some effects become very hacky.

b) Custom engine. You can add or remove whatever render passes and buffers you want. World is your oyster but you need a strong understanding of rendering to go this route.

But there's also:

c) Secret third option. There's actually way to do custom rendering stuff that inserts into the render pipeline, the magic words here are SceneViewExtension.

If you're at a company working on a large project, it's strongly recommended you use a custom engine build anyway, so you may be comfortable with either B or C, especially if you have a tech art background and can write C++ and HLSL.

Guilty Gear Strive did some really slick cel shading in Unreal without needing any custom render passes as far as I know - you can just plug any material into the emissive output and it'll ignore lighting information, so all lighting can then be faked by you.

Yeah the major caveat is that you won’t have any lighting information available to you inside the shader graph (except the directional light direction, I think) so if you still want to be using point and spot lights you’ll have to either build you own SceneViewExtension that replaces their lighting pass or just overhaul the renderer completely. Either way I believe you’ll need source modifications?

jizzy sillage
Aug 13, 2006

Yep, that's exactly why you need the custom render pass (through either custom engine or SceneViewExtension). By default you have the vector of the main (brightest?) directional light plus maybe a few other bits and pieces, but no point/spot light information. There are ways to get that information into the material, somewhere around here in this video is a short demo of getting extra lighting information into a toon shader that normally only has the main directional light.

You can always just read pixel luminance to get a "lighting only" sort of buffer from the scene, but it's not actually "lighting only" since luminance is perceived brightness.

Anyway, the extent of the engine customisation required really depends on the stylised look you're going for. Plenty of people have achieved some really beautiful stylised stuff without needing to rewrite the render pipeline.

Raenir Salazar
Nov 5, 2010

College Slice
You can also I think pass in a vector of a location of some other actor and use that as a fake light source, I think that's what Arc System Works does to further control the shading and something I did for something similar for my Solar System simulation project so all the planets would be lit only on the half facing the sun without relying on the directional lighting in Unreal which did freaky undefined things for the scientifically astronomically proportionally accurate scales I was using.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
There's been some real butthurt going on, but I wanna park here for a second because somebody was goodposting:

Red Mike posted:

The back and forth literally reads like every time I've helped someone moving from Unity to Unreal and had to repeatedly play the XY problem game as soon as they hit one of the big differences, like the most common being UI and how in Unreal you set up 'pull' code vs. Unity you push data from code instead.
I wanted to make sure I understood this correctly. Are you comparing Unreal event-drive GUI programming to Unity's immediate mode GUI stuff? This seems really important and I want to make sure I understand it.

Also, whatever other contrasts you have on the feel of Unity. These kind of "vibes" are actually pretty useful to know especially for some poor fool like me coming over from Unity.

Raenir Salazar
Nov 5, 2010

College Slice
The worst thing about Unreal's GUI is needing to know about the Widget Reflector to debug anything or to know what you're dealing with, especially if you're new to a big project and obviously have no idea where anything is. :v: Unity's is a little more convenient to work with since the canvas also exists in the scene hierarchy.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Rocko Bonaparte posted:

There's been some real butthurt going on, but I wanna park here for a second because somebody was goodposting:

I wanted to make sure I understood this correctly. Are you comparing Unreal event-drive GUI programming to Unity's immediate mode GUI stuff? This seems really important and I want to make sure I understand it.

Also, whatever other contrasts you have on the feel of Unity. These kind of "vibes" are actually pretty useful to know especially for some poor fool like me coming over from Unity.

my reading is that in unreal you likely have something more akin to MVVM instead of the assumption unity makes that you have a behavior that writes values to a thing. so your UI selects what values you want, instead of being force fed values. with some effort, you can do the same in unity.

havent used unreal so im not entirely sure if thats the case.

jizzy sillage
Aug 13, 2006

Unreal Widgets can bind to values, so when the value updates so does the Widget representation - the UI is pulling data. I don't enjoy UI development at all so I tried to avoid it and jumped ship to Unreal long before I learned Unity best practice, but I'm guessing in Unity the object will set the value in the UI, so the object is pushing to the UI?

Unreal also has a new MVVM system, UMG View Model.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

jizzy sillage posted:

Unreal Widgets can bind to values, so when the value updates so does the Widget representation - the UI is pulling data. I don't enjoy UI development at all so I tried to avoid it and jumped ship to Unreal long before I learned Unity best practice, but I'm guessing in Unity the object will set the value in the UI, so the object is pushing to the UI?

Unreal also has a new MVVM system, UMG View Model.

most large scale projects I've worked in unity have some sort of mvvm through a context object to decouple ui development from janitoring data. so it nets out the same.

Red Mike
Jul 11, 2011

Rocko Bonaparte posted:

Are you comparing Unreal event-drive GUI programming to Unity's immediate mode GUI stuff? This seems really important and I want to make sure I understand it.

Also, whatever other contrasts you have on the feel of Unity. These kind of "vibes" are actually pretty useful to know especially for some poor fool like me coming over from Unity.

Basically yes, although it's not strictly speaking immediate mode, it's just a push approach instead of event driven, i.e. you set values/options in the UI objects directly. It's not like imgui where you're having to basically re-specify the UI every frame in order to keep it drawn (and therefore have to manage state/etc yourself), you just get a bunch of UI objects that you store references to and then set properties in those objects to make it change.

I don't think either approach is better or worse for small scale projects, but Unity's approach breaks down pretty badly for large scale projects that want to have a consistent UI framework, unless you build something that 99 times out of 100 is a pull architecture built on top of what's there. But if people used it at smaller scales or only for prototypes, then they won't have done this and expect the push architecture to be 'standard'; hell AFAIK there still isn't any established major UI library/framework on top of Unity UI that does this (probably because it's so hard to genericise something like this properly for game UI).

leper khan posted:

most large scale projects I've worked in unity have some sort of mvvm through a context object to decouple ui development from janitoring data. so it nets out the same.

^ Basically this, you end up setting something up where you end up with something much closer to Unreal's approach (but not necessarily the exact same, and you usually add a bunch of stuff that Unreal doesn't provide out of the box anyway).

To be clear: the thing I'm highlighting with the example is when someone used to pushing data to UI goes to Unreal, their default approach seems to be the opposite: try to get the Unreal approach to work in a push style.. which sounds like it should be pretty simple (just make something to hold the desired state of the UI, make the UI read from it, and have inputs on that state container that you can 'push' updates to). Unfortunately, they tend to run into two issues in the same order:

"How do I make my state container push the info to the UI" - until they remember this is the point of the thing and you have to make the UI read from it instead; usually they get fooled by the fact that the C++ classes for the UI do in fact allow some amount of access to apparently 'push' data.
"OK I have my state container working and the UI pulling from it (probably tied in via blueprint), how do I make the inputs generic so that I don't have to write boilerplate for each new UI component/value I want to support" - usually after a couple attempts to do this they start realising that there's something wrong with the approach because all they're doing seems to be writing boilerplate/glue code.

jizzy sillage posted:

I don't enjoy UI development at all so I tried to avoid it and jumped ship to Unreal long before I learned Unity best practice, but I'm guessing in Unity the object will set the value in the UI, so the object is pushing to the UI?

Yeah more or less; you create your UI objects (ideally at design-time) and get references to them. You then have various properties you can set/methods you can call to affect the UI, and you'd normally be calling them from whatever your update/render logic is doing.

There are a couple other approaches to UI in Unity really, but they're not as well-supported/used still AFAIK. Or at least one of the official ones does tend to be used/supported but for specific kinds of UI like game world UI or web views. All I really know about the newer developments is what I've heard or seen in projects but I haven't had to use them.

Red Mike fucked around with this message at 09:04 on Apr 15, 2024

Raenir Salazar
Nov 5, 2010

College Slice
At the end of the day of course, if you're new to game development or even as an experienced developer switching it up with Indie/personal projects, coding any code at all, even inoptimal code or a inoptimal approach, is better than spending all your time trying to do things the "right" way and not making any progress in your game. Because coding is just as much a creative pursuit and some people only have the mental energy for what they want to do in that moment.

BornAPoorBlkChild
Sep 24, 2012
was debating whether or not to post this in the FG thread

https://twitter.com/Otohadou22/status/1779589229204459940?t=eq2KQT3sF5yWGOHXWiCNlg&s=19

the quality of Mods for UMvC3 have been increasing to an insane degree over the months (to the point they're importing Animations from other games and originals).


would love to see them take on another one


If this isn't allowed I will happily remove it

BornAPoorBlkChild fucked around with this message at 01:06 on Apr 16, 2024

sebmojo
Oct 23, 2010


Legit Cyberpunk









Is this a good thread to ask about Godot? My kid is doing game design and has hit a problem that seems like it should be really simple to solve but

Basically it's a physics object that should be emitted and then keep moving subject to physics. Instead it just pops out and stops.

reignonyourparade
Nov 15, 2012
I think you're gonna need to give more details than that.

Tunicate
May 15, 2012

sebmojo posted:

Is this a good thread to ask about Godot? My kid is doing game design and has hit a problem that seems like it should be really simple to solve but

Basically it's a physics object that should be emitted and then keep moving subject to physics. Instead it just pops out and stops.

Is it running a _physics_process thst includes a command like velocity=move_and_slide()?

Might need to set initial velocity?

sebmojo
Oct 23, 2010


Legit Cyberpunk









Thanks! I'm on my phone, I'll post some more details when I'm home, just checking that this was a useful place to post the question.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
This is a valid spot, yeah. You could also join the Dogpit discord server. It's an SA-adjacent gamedev server, and there's a fair few godot users there.

Raenir Salazar
Nov 5, 2010

College Slice

TooMuchAbstraction posted:

This is a valid spot, yeah. You could also join the Dogpit discord server. It's an SA-adjacent gamedev server, and there's a fair few godot users there.

I hope that's not the racism gamedev server I was linked to before in the thread. :smith:

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Raenir Salazar posted:

I hope that's not the racism gamedev server I was linked to before in the thread. :smith:

dogpit came out of awfuljams

Raenir Salazar
Nov 5, 2010

College Slice

leper khan posted:

dogpit came out of awfuljams

That's good and reassuring. The other discord in question I was pretty surprised when I looked up and saw them defending the dude who said women couldn't be programmers in a "Well he's right!" way.

Nika
Aug 9, 2013

like i was tanqueray
I'm a former modder-turned-AAA designer who's been thinking of making some asset/systems for the UE marketplace, and I'm trying to gauge interest in a product idea I'm turning over in my head.

I think most indie/small team UE devs have some experience with ALS4 and how convoluted it is. It seems like ever since it released back in 2020/2021 most smaller teams have tried to integrate it into their own projects with mixed results, and I'm thinking of making a more properly-coded and easily readable locomotion system with an emphasis on polish.

Most of the other assets I've looked at on the marketplace are either way too big to be reasonably integrated into a project, very poorly set up/coding practices, or often both. But the biggest thing I've noticed is that almost none of them come close to even good-enough results in terms of making a character run around on screen; animations are janky, the controller itself can get into broken states with rapid fire movements, etc.. There's also little, if any, emphasis on a high quality camera system, which I believe is one of the most important complements to a locomotion system.

Long story short, a system like this is something I would have really appreciated having when I was starting out, and I'm wondering if it might be worth being the change I want to see in the world, etc.

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

amyotrophic lateral sclerosis-4?

Nika
Aug 9, 2013

like i was tanqueray

aardvaard posted:

amyotrophic lateral sclerosis-4?

Apologies, it's this: https://www.unrealengine.com/marketplace/en-US/product/advanced-locomotion-system-v1

jizzy sillage
Aug 13, 2006

I've had students ask about whether it's worth pursuing tool or asset production for UE/Unity marketplaces, and the answer is most commonly "no", followed by "it depends". I think if you make a tool like that with the intent that it's an internal tool as a baseline for a game you want to make, and then you tidy it up, document the gently caress out of it, and release it, then it's fine.

I wouldn't go this route if any of these apply:

a. You want to make a living from this asset alone
b. You're unwilling to provide a vast amount of technical support to an endless stream of wannabes
c. You actually want to make games, rather than tools for making games (or subsystems for games)

Also you need to strongly consider the price bracket you're aiming for. If it's cheap and easy to work with, you'll have a huge number of wannabe developers buying it and then asking endless questions about how to make Fortnite with it. If it's expensive and professional quality, you might not get many purchases, because pros will often roll their own bespoke solution.

Having said all that, if you're doing this, take a look at Character Mover 2.0 and the new Motion Matching plugin, and write your asset to work with those (plus probably support for a more traditional AnimBP). To compete or replace ALS, you'll also need a good library of locomotion animations you have a license for (btw I have PM's and a motion capture studio :madmax:).

Your direct competition is probably the General Movement Component (even though it's not really a locomotion solution), so if you're serious about this you may need to acquire it and tear it apart to see how it ticks.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

jizzy sillage posted:

I've had students ask about whether it's worth pursuing tool or asset production for UE/Unity marketplaces, and the answer is most commonly "no", followed by "it depends". I think if you make a tool like that with the intent that it's an internal tool as a baseline for a game you want to make, and then you tidy it up, document the gently caress out of it, and release it, then it's fine.

I wouldn't go this route if any of these apply:

a. You want to make a living from this asset alone
b. You're unwilling to provide a vast amount of technical support to an endless stream of wannabes
c. You actually want to make games, rather than tools for making games (or subsystems for games)

Also you need to strongly consider the price bracket you're aiming for. If it's cheap and easy to work with, you'll have a huge number of wannabe developers buying it and then asking endless questions about how to make Fortnite with it. If it's expensive and professional quality, you might not get many purchases, because pros will often roll their own bespoke solution.

Having said all that, if you're doing this, take a look at Character Mover 2.0 and the new Motion Matching plugin, and write your asset to work with those (plus probably support for a more traditional AnimBP). To compete or replace ALS, you'll also need a good library of locomotion animations you have a license for (btw I have PM's and a motion capture studio :madmax:).

Your direct competition is probably the General Movement Component (even though it's not really a locomotion solution), so if you're serious about this you may need to acquire it and tear it apart to see how it ticks.

there are few individual creators on the unity asset store that do very well. it is not a significant source of revenue for unity.

xgalaxy
Jan 27, 2004
i write code
Just like making indie games there are a few outliers that struck gold.

Like the NGUI person that got bought by Unity and now (or was) working there.
Or the other person that wrote the Blueprint-like system (I forgot what that was called) that got bought by Unity and now works there.
Or the Synty Studios person who makes a bunch of awesome looking low poly artwork on Unity and Unreal asset store.

Hughlander
May 11, 2005

xgalaxy posted:

Just like making indie games there are a few outliers that struck gold.

Like the NGUI person that got bought by Unity and now (or was) working there.
Or the other person that wrote the Blueprint-like system (I forgot what that was called) that got bought by Unity and now works there.
Or the Synty Studios person who makes a bunch of awesome looking low poly artwork on Unity and Unreal asset store.

Synty is 100% an outlier but they have 10-15 full time employees, and even at the start was 2 of them.
There are a number of people who make good part time money from asset stores, there's a handful that make it a full time job. You should not count on it being either unless you're in a VLCOL, look at how many Unity Asset store organizations have the 'Ukrainian 100% of revenue goes to the creator' badge. There's a huge number of them.

I only know the Unity side not sure how different Unreal is.

Raenir Salazar
Nov 5, 2010

College Slice
And there's also Freya and her Unity assets.

Alterian
Jan 28, 2003

Unity needs to buy the Asset Hunter Pro tool.

Nika
Aug 9, 2013

like i was tanqueray

jizzy sillage posted:

I've had students ask about whether it's worth pursuing tool or asset production for UE/Unity marketplaces, and the answer is most commonly "no", followed by "it depends".

I really appreciate the thoughtful response and perspective.

quote:

I think if you make a tool like that with the intent that it's an internal tool as a baseline for a game you want to make, and then you tidy it up, document the gently caress out of it, and release it, then it's fine.

My primary job in the industry is writer and quest designer, but in my own projects I've found that I also really enjoy working on the "3C's" for a game as well. To your point: my most recent personal project feels especially solid in this regard, so that's what is making me think about doing as you said, cleaning it up, and possibly releasing this aspect of it for other people to use.


quote:

I wouldn't go this route if any of these apply:

a. You want to make a living from this asset alone

Absolutely not, LOL.


quote:

b. You're unwilling to provide a vast amount of technical support to an endless stream of wannabes

This is a good point that makes me feel pretty 🥴 about the prospect of babysitting the next generation of MMO Crafting CEOs.

quote:

c. You actually want to make games, rather than tools for making games (or subsystems for games)

I really do love making games, but sometimes I get burned out working either in a large, majorly structured studio setting, or else entirely on my own. Where's the middle ground. :sigh:

quote:

Also you need to strongly consider the price bracket you're aiming for. If it's cheap and easy to work with, you'll have a huge number of wannabe developers buying it and then asking endless questions about how to make Fortnite with it. If it's expensive and professional quality, you might not get many purchases, because pros will often roll their own bespoke solution.

Also very good points. If I do this it would definitely be aimed at a more experienced/expensive audience. I've been thinking a primary pitch would be that the 3C's seem to be an overlooked aspect of the design for a lot of games (hell even larger AA titles), and since the controller and camera are one of the very first things a player will play around with/test once they get their hands on the game, it'd be worth having a solid foundation to expand on, without having to be an expert in any of those areas.


quote:

Having said all that, if you're doing this, take a look at Character Mover 2.0 and the new Motion Matching plugin, and write your asset to work with those (plus probably support for a more traditional AnimBP).

I've been considering more of a full ABP approach, mostly because I think there's a lot that can be done with UE's technical animation/blending/IKR tools. And for sure motion matching is insanely powerful but almost feels like overkill for the more stylized/fast movement types that seem to be currently in style.

quote:

To compete or replace ALS, you'll also need a good library of locomotion animations you have a license for/quote]

One of the things I will say that impressed me about ALS (and was in some ways my introduction to UE's technical animation abilities is just how few unique animations it uses. I think more coverage is almost always a good thing though, no argument there.

[quote](btw I have PM's and a motion capture studio :madmax:).

:chord: You are living the (my) dream! Running around like a weirdo doing MM dance cards seems like an absurd amount of fun.

Thank you for all the help, and for the head's up about general movement and character mover, as well. I will take a look there and see if there's anything I can do to make something more worth the while. I definitely haven't decided for sure yet if this would be worth the trouble, and hearing this kind of perspective is helpful.

Hughlander
May 11, 2005

Alterian posted:

Unity needs to buy the Asset Hunter Pro tool.

There’s a long list of worthwhile acquihires first being Odin.

Raenir Salazar
Nov 5, 2010

College Slice
It is unbelievable to me how much Rotations/Quaternions just generally suck in Unreal, there's like no documentation, examples or tutorials. Even when I try to use Quaternions I'm stuck in gimbal lock hell.

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!

Nika posted:

I really do love making games, but sometimes I get burned out working either in a large, majorly structured studio setting, or else entirely on my own. Where's the middle ground. :sigh:
There's "having friends with similar interests and working on a shared project" but what are the odds you want to work on the same thing as your friends, and then you also need some sort of a structure for what happens if you finish it and it actually makes money and then comes the inevitable resentment when everyone feels like they're doing more of the work than anyone else.

I was thinking about making up some kind of programming apprenticeship, like I hire someone with basic skills and no official qualifications and, in the process of making a game, also gradually mold them into a curmudgeonly programmer who hates excessive frameworks like me, where the pay would be low for programmers but reasonably high for unskilled labor, and also a small percentage of the finished game. But I only really have the money to do that if I continue to have a job, and if continue to have a job I don't want to use all my free time programming and training a programmer!

jizzy sillage
Aug 13, 2006

I think the path there is to stay at the big company, make a few friends with a broad set of skills, discuss around the water cooler how you all want to make an indie game, and then all go do that together.

You might not be making your dream game, but it's something in between "drone at giant company" and "solo dev on ramen".

Also helps if you have a significant other who supports you and can cover the financial necessities because gently caress if you'll make any money doing that for a few years lmao

Adbot
ADBOT LOVES YOU

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

jizzy sillage posted:

I think the path there is to stay at the big company, make a few friends with a broad set of skills, discuss around the water cooler how you all want to make an indie game, and then all go do that together.

You might not be making your dream game, but it's something in between "drone at giant company" and "solo dev on ramen".

Also helps if you have a significant other who supports you and can cover the financial necessities because gently caress if you'll make any money doing that for a few years lmao

and in 119 days you wont need to worry about nonsolicitation clauses.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply