Search Unity

Let's talk character controllers...

Discussion in 'General Discussion' started by stain2319, Apr 10, 2021.

  1. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    So I keep going back and forth on this in my mind and I'm looking for input...

    Roll your own character controller vs a premade asset. Thoughts?

    I've messed around with Game Creator and Opsive UCC, character controller pro, and a couple others. Can't remember if I tried invector.

    I like the character controller that comes with GC largely for its locomotion animations which are pretty good and I also like the extensibility with the modules like traversal and inventory etc, but I also don't really want to go down the whole road of using actions and triggers, it seems too limiting and I'm more interested in coding things than trying to visually script them.

    Opsive seems really good but also so complex that by the time I learn everything I might as well have just made my own. But I do again like that it has some additional extensions already available and I also think the integration with ultimate inventory system and behavior designer is very appealing.

    Rolling your own gives you ultimate control but on the other hand there is a lot more to it. Every little thing needs to be set up and you don't have the benefit of easy add on modules but in the end you know everything about it because you made it. Plus I feel the knowledge gained in coding my own system will be more useful in general than knowledge of someone else's system. "I created my own character controller in C#" is maybe a better achievement than "I learned someone else's character controller really well". So there's that.


    Looking for input from others especially those who have either released a game or are at least fairly far toward completion of a game, but all input is welcome... For purposes of this discussion let's also say that the purchase price of the assets in question is not relevant in terms of deciding what to use (for me personally).
     
  2. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    I think it's best to roll your own core systems, it's risk off asset flip feel otherwise.
     
    dogzerx2 likes this.
  3. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    That's definitely a concern as well. Especially for inventory systems, I definitely don't want mine looking too generic. Thanks for your input.
     
  4. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,157
    Generally speaking, I'll roll my own or use one I've already created as a basis to expand upon. My main issue is that every single asset I've come across for character controllers that require anything more complex than I'd want to code myself, the sheer amount of parameters you have to manually adjust and the amount of configuration required makes it so I'll just go right back to the code.

    Opsive is good and all, Behaviour Designer is a constant tool in my projects, but it's also a very complex tool that has to cover a lot of ground to support the variety of games people will want to make with it, and ultimately that means you're probably going to run really close to its base settings (you can do this pretty easily in C#), or you'll be adjusting so much and tweaking enough features that you really could make something that'll work as a basis for your own future projects.

    Kitchen sink solutions for character controllers are a bit of a hassle to get good movement out of, imo, and that makes them less appealing to me than feeling proud of a character controller or looking like an asset flip to me.
     
    CodeRonnie and Martin_H like this.
  5. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    So let me also put this out here for discussion- what about animations for a 3rd person controller?

    Even if I write my own controller, I'm unlikely to be able to make all my own animations. I'm terrible at keyframe animation and I'm just one guy so I'm not about to go try doing my own mocap or anything so it still comes down to using purchased animations, mixamo, etc which then risks the "asset flip feel" again... Just thinking out loud here I guess.
     
  6. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,157
    Most people won't notice animations unless they're specifically stylized or broken in some way, so pretty much any available animation library compatible with mecanim will do you fine.
     
    Martin_H, TonyLi and stain2319 like this.
  7. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,571
    Roll your own. It is not difficult.
     
    angrypenguin likes this.
  8. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    I recommend umotion Pro, it can be used to clean asset store animations.
     
  9. Socrates

    Socrates

    Joined:
    Mar 29, 2011
    Posts:
    787
    I do not think you have to worry with most animations. I play a lot of games and I am a hobbyist who has seen a lot of the animations you can get on the Asset Store as I consider what to use for my projects. Even when I know a game is made in Unity and has been using the Asset Store, I rarely recognize any animations. The few exceptions are:
    • They used a specific character I happen to own and so know what animations are in it.
    • They use a distinct asset like a dance.
    • A specific animation is used across multiple games for the same company.
     
    stain2319 likes this.
  10. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,571
    Unity uses mecanim system which allows you to reuse animations from one character on another.
    Similar animations are also significantly harder to spot than, say, Daz model.

    It is also possible to roll your own animations by:
    1. Getting decent.
    2. Aiming at "old school" animation quality without pursuing mocap quality.
    3. Or rotoscopying yourself. (two video cameras or cellphones + treadmill == walk cycle).

    Be aware, that dending on the genre you can save a lot of work by cutting down anything that is not absolutely necessary. For example, if you're not making a 1st/3rd person shooter, then you might not need "strafing" animations. For example, a JRPG-like could have something like 5 clips per character. "attack 1", "attack 2", "walk forward", "receive damage", "die". That's quite extreme, but might be viable depending on your usecase.
     
  11. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Personally, my strong preference is to make it in-house.

    Partly because that gives someone on my team full knowledge and control over how it works. It has to feel good, so it's worth the effort. And if we want to achieve a specific thing at some point then knowing the implementation details is incredibly helpful.

    Partly because I don't want to be reliant on a 3rd party where I don't need to be. Their updates might not go in the direction I want, and I could find my future decisions being impacted by their legacy ones.

    But mostly because it's a core part of the game that is going to directly or indirectly impact all sorts of stuff throughout. So I want it to be designed in tandem with everything else, rather than being a 3rd party generic thing bolted on the side. For instance, if your character can climb then there are different approaches to implement that, which are going to have a massive impact on how you build levels. Or perhaps there are systems which any character has to be able to interact with whether or not they're player controlled. I don't want my content workflows or my broader architecture to be dictated by an off-the-shelf character controller asset made by someone who knew nothing about the rest of my game.

    On that same point, off-the-shelf stuff has to be designed to suit arbitrary use cases rather than specific ones. This could mean either compromise or over-complication. At the start of a game that doesn't feel like a big deal. However, carrying that baggage around for a whole, large project definitely adds up over time, especially if your own needs diverge from the assumptions it was originally developed with.

    Note that all of these things can be worked around with 3rd party controllers, particularly if they're well designed in the first place. But to an experienced developer creating a good controller isn't usually a difficult thing, so I'd prefer the work of creating something specific to the project's needs in the first place than the work of familiarising with and modifying a 3rd party thing.

    The potentially strong counter-case that springs to mind is if you're making a game which needs a character controller of a type which is both common and specific, from which you don't need to deviate much. For instance, if I were making a game which needed the Tomb Raider / Uncharted type of run/clumb/shoot 3rd person controller, that does take a heck of a lot of combined effort to get everything just right, with all of the animations included and the edge cases ironed out and so on. Thanks to Mecanim you can theoretically re-target the animations onto your own character, and then just mod things from there rather than start from scratch. So if someone has made a genuinely high-quality implementation which I could purchase off-the-shelf as a starting point I'd be sorely tempted.
     
    CodeRonnie, Zarconis, NotaNaN and 4 others like this.
  12. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    4,436
    I've asked a similar question in the past:
    https://forum.unity.com/threads/where-are-the-good-first-person-controller-assets-for-unity.1029802/

    I was planning to read through the implementations of 1 or 2 assets and then roll my own, but shortly after that I got swept up in freelance work again and didn't have time to get started. Then I thought some more about my total time budget and how much time it would take me to make the controller that I'd want in a first person game, and couldn't think of a game concept where that all would make sense.
     
  13. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    You didn't mention in your post that it was a POC the answers you got was for actual game project not POC
     
  14. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,023
    As someone who uses the asset store as both customer and creator, I think this thread is full of whims and misunderstandings.

    First of all, I challenge you to re-create Opsive's character controller in less than a year. Once you've done that, sit back and consider whether the 3 or 4 days of dedicated learning it would take to master it would have been a better choice.

    Secondly, I would like you to go through the character controllers or inventories or whatever of your 10 favorite games and make a list of all the features (not graphics!) that are so different amongst them that they could never exist in the same asset store product if it was sold as one. You'll realize that they are all so much the same that they might as well have been using the same asset store product with different graphics and a few tweaked settings.

    Thirdly, ask yourself if you want to ship a game, or if you'd rather end up in the same backwater where 99% of other devs end up after burning through all their time, savings and motivation trying to reinvent the wheel just so, while avoiding the fact that they don't really know for sure what makes a game fun in the first place.

    Now, as a programmer, I love to faff around and 'roll my own' as much as anyone, and I can always do a better job than anyone else. But does that mean I gain anything by it? If I have spare time and that's the best way I can think to enjoy it, sure. But if I need to get something done like I don't have forever, it's probably going to be a non optimal choice.

    That said, be prepared to mold your game design slightly toward whatever an asset happens to offer. Things can always be added and modified, but again the question is, is it worth it? Is your game going to go from divine to ugly because something wasn't done precisely the way you envisioned?

    A dev always needs to have clear goals, a plan and a timeline, and then you can roll this or buy that as your schedule allows. But operating on vague moralities and sensibilities about what's the 'right' way to do things would never work in any other enterprise, and it sure doesn't work here. The only question is, what's the way that will work to get the thing that I want to create, completed?
     
  15. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    These are all very good points and I appreciate the input.
     
    Billy4184 likes this.
  16. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    Its a balance, we use alot of asset store stuff, mostly art but some code and shader related stuff too. Things like decal system can save time and no one will know its a asset store asset.

    But character control is such a core part of your game. Plus it might be harder to integrate it gracefully than a custom one.
     
    stain2319 likes this.
  17. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    One thing though that I would suggest to consider, is to think of your favorite commercially successful games made with Unity.

    For me the top three are Valheim, Stranded Deep, and The Long Dark.

    I bet dollars to donuts none of them use a purchased controller.
     
  18. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,157
    I wouldn't be surprised if Valheim's controller was just a pretty standard run-and-swim-and-jump built off of the Character Controller feature built into Unity and I think The Long Dark, at least for a while, used the FPS controller that used to ship with the Standard Assets pack. You wouldn't need to buy a controller for either of those games because they have incredibly simple mobility.
     
  19. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    Mobility is only half the battle really. I'm thinking of inventory systems, interactivity with the world, etc
     
  20. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    Are you trying to make the statement that commercial games of that quality do not use third party controllers? Because if you check the Opsive showcase there are a number of games in it that are on the level of Valheim, Stranded Deep, and The Long Dark that make use of their controllers.

    https://opsive.com/showcase/

    Same for Invector.

    https://invector.proboards.com/board/8/showcase
     
  21. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,157
    The inventory system in Valheim is a glorified array and world interactions are handled entirely through really simple boxcasts and raycasts.

    I assure you that you are really overcomplicating Valheim's character systems here.
     
    Billy4184 and Ryiah like this.
  22. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    This. I very briefly skimmed through the source code of Valheim using a decompiler and from a programmer's perspective it's not very impressive. I was left with the impression that the person who worked on it from the beginning was very much an artist rather than a coder. Its in many ways a hardcoded mess.
     
  23. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,157
    I was too lazy to load up DotPeek so I just tested the edge cases that would arise with simple raycast solutions and almost all of them popped up aside from the ones that would be covered by boxcasts and range tests.
     
  24. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    I suppose it depends on what you mean by "on the level of." I can't speak to the quality of any of those games showcased, because frankly, aside from The First Tree I've never heard of any of them, and suspect they don't fit the same definition of "commercially successful."
     
  25. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    I don't recall suggesting it was complicated. My point is they probably made it themselves.
     
  26. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,157
    They probably made it themselves because the Valheim controller is an afternoon's work for its core functionality and that's if you decide to work as casually as possible. The cost of using a third party asset for this job does not match or exceed the effort required to do it, even as a beginner, meaning there's very little value proposition there.
     
    angrypenguin likes this.
  27. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    Maybe if you're already experienced, sure. It took me 4 hours yesterday just to get floating messages working :oops:
     
  28. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,023
    There may be some cases where it's easier, but I think that the feel of the controller is related more to tweaked settings. Until you can specify the code that controls the differences, and zero in on whether it's a setting or not, it's all probably just a question of you comparing your default settings to the asset's default settings, which is not really very useful.

    The only relevant question is if a controller from the store would be able to produce something with no measurable difference, which I suspect it could.
     
  29. MDADigital

    MDADigital

    Joined:
    Apr 18, 2020
    Posts:
    2,198
    There is also the issue of code quality. Many assets are not made by professional programmers but by hobbiests
     
  30. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    While I do think rolling your own is an ultimate possibility, you might want to check out the Game Kit Controller. It has a lot of features, and depending on where you're at in development / prototyping, and what kind of game you are making, it might be a big help.
     
    stain2319 likes this.
  31. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    That's fair but I don't know if it's the only relevant question.

    For me, I'm doing this mostly as a hobby anyway so in the end it comes down to what's going to give me the result I want. But I'm also a perfectionist in a lot of ways and so "close enough" might not cut it. The "feel" of the controller is super important to me and also, I've found that when using third party assets sometimes I feel like whoever made these things are great at coding but terrible at designing workflows.

    So those are good arguments to create my own. But I'm not a master coder, I'm very much a beginner still... so what people suggest might take only a day to program might take me 3 days to learn HOW to program. And as someone said above, if I spent a year trying to recreate Opsive I couldn't do it. And maybe it's better to spend my time focusing on the mechanics that will make my game different and not spend a lot of time on the things "every game has" like character movement and animator controllers... So those are good arguments to use a third party asset.

    But then again I don't probably NEED 95 percent of what Opsive can do so it would add unnecessary complication and bulk to my project.

    One thing I'll mention just as a data point. It seems that - just speaking very generally - I have looked at a lot of assets, from character controllers to whole template systems and so on.

    And when you look at a list of the best selling Unity games of all time, and a list on those "showcase" pages of "games made with this asset"... With maybe the exception of Playmaker there is not a lot of overlap on those lists. So that in my opinion is a strong opinion for writing one's own systems.

    Otherwise you would think that when a game gets popular, whichever assets were used to make it would be dying to get that game on their showcase page...

    So I think there are very excellent arguments that have been put forth on both sides and I really appreciate this discussion but you can see why it is a hard decision. :D
     
  32. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    This is one that I haven't closely looked at but I appreciate the suggestion and I will definitely give it a look!
     
    hopeful likes this.
  33. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,157
    I promise you that if that's the case that Opsive's offering will be just as overwhelming.
     
  34. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,023
    Be careful, these words have preceeded many a dark journey into the abyss ..

    Everybody is a perfectionist when they think they have enough time.

    I think you are reacting to lack of familiarization. But again, even if this is true, is avoiding slightly clunky workflow worth months or years of work? Everything feels clunky at first, even moving from Blender 2.7 to 2.8. The question is can you get used to it and end up working fast with it?

    This is my main annoyance with third party assets. But it is really a question of taking a deep breath, reorganizing some folders, and doing some basic performance testing to see if there's really any statistically measurable 'bulk' or burden added to the build.

    This is likely a mere correlation. Again, we have to stick to concrete, measurable things and not vague signs arising out of incomplete data from wildly indirect sources.

    Have you considered that the difference between Playmaker and most assets is that you either made your game with Playmaker or you didn't, whereas with code you can modify it for years, rename a lot of files and end up with something you're not really sure is the same thing?

    I can't convince you what you should do (nor am I interested in it) but here's a sound business idea if you want to ship a game: spend a hundred or two hundred dollars (maybe three or four hours worth of one's time?) on a few of the best assets out there, spend a week or so really tweaking them until you cannot get things any closer to what you want, and then measure the difference with your ideal result.

    Then, if staring down the barrel of a year's worth of work just to bridge that gap seems better than shipping something by the same time, go for it.
     
    stain2319 likes this.
  35. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    Oh, I've played with it a little already. I own half the asset store already if we're being honest... So it's not a matter of deciding which one to buy and then regretting my purchase. I own Opsive, I own Game Creator, I own Playmaker, Game Kit Controller, hell I own Billy4184's Space Combat Kit for crying out loud. I regret nothing! :D

    I didn't necessarily find it terribly overwhelming, but it really seemed like "too much controller" for me. There are a ton of features I wouldn't care about, wouldn't ever use... and I can't put my finger on why, but the "how to use" videos on their site annoyed me. Something about the delivery just makes it hard to keep my concentration.

    But, in a way, you're also right and that's part of my dilemma. I'm a relative newbie programmer especially with C# and very new to Unity as well.... I'm at the beginning of my journey, so it's really a choice of six of one, half a dozen or the other. I'm sure it will get easier as time goes on but right now I'm still getting familiar with some of the more common patterns and so on.

    So the question becomes - do I spent my time learning Opsive or do I spend my time making a character controller, and by virtue of doing that, I also happen to learn a lot more C#? I want to learn the programming anyway, so part of me is like "might as well just start from the ground up." But there's sooooo much else to learn to - I'm interested in 3D modeling, in shaders, etc - so at some point you have to pick your battles and decide which parts to leave up to someone who's better at them.

    Time isn't entirely a factor for me because I'll never ship anything anyway. I just want to make something that satisfies that itch that hits me every time I play a game and I say "man, if *I* had made this game I would have added *this* feature..." I have no desire to join a team or program games for a living so I'm realistic that the possibility of actually shipping something is close to zero. Maybe after years of work someday I'll have something that I'd be like "eh why not, I'll see if anyone else wants to play it" but that's not really why I am here.... if I spent the next decade making my ideal game and never ship it, I'm fine with that.

    But if I spent the next decade making a game that doesn't "feel right" to me, I will be less fine with that because ultimately it's myself I am doing this for.

    The "feel" of a game is a hard thing to put your finger on. I normally prefer Third Person over First Person, yet two of my favorite games of all time (Stranded Deep and The Long Dark as mentioned) are first person games. Both of them have a particular "feel" to them which is hard to put into words (and not the same feel between the two of course) but it's a feel that seems lacking whenever I have tried most of the Demo scenes for the major controllers out there.

    Valheim is another good example, I mosty keep mentioning it because I know pretty much everyone has played it so it's a good point of referece. Although the character controller is likely "simple" as has been mentioned above - in my opinion everything comes together in such a way that the "feel" of the game is just right. (I'm also really jealous of their vegetation but that's another thread.) Maybe it's true that there's not a whole lot to it and a decent programmer could make the basics of the Valheim controller in an afternoon. And if that's the case, great! Then I should be able to spend a week or two and get it done, right?

    I think a lot of that "feel" comes down to how the animations fit together and how the character fits into the world but as I said, it's elusive. All I can really say is, a lot of Unity indie games I have played (that are not 'big name' like Hollow Knight or whatever' have a very similar "Unity Feel" to them. In my opinion the 3 games I mentioned (TLD, SD and Valheim) do not necessarily feel that way and that's a big part of why I think I like them, and that sort of "this feels like its own thing" feeling is a big part of what I am shooting for.
     
    CodeRonnie likes this.
  36. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,157
    If you're new to Unity, I'd suggest starting out with much, much smaller games to get a grasp on the fundamentals, which will help you get the most out of the assets you own, but also help you problem solve a lot faster.

    Instead of a first/third person shooter, for instance, it may be worth venturing into a less complex but still similar top-down shooter. This will give you a satisfying project to work on (I don't think tetris/pong clones are as "fun" to see results from) that will also help you cover simplified versions of problems you'll find with all controller and inventory systems. It also reduces overall complexity by at least a third due to one less dimension.
     
    angrypenguin likes this.
  37. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    That's fair and I'll absolutely consider it. I'm normally the kind of the type of person who decides I want to build a house, so I just grab a hammer and learn carpentry as I go along. I might have to tear the house down and start over 7 or 8 times in the process but that's part of the fun :)
     
  38. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,023
    I think you are counting the egg before the chicken. Valheim's controller and animations is nowhere near the best, pretty stiff actually and actually doesn't look that great at first sight. Once you are in love with the game however, everything it does is beautiful.

    Don't underestimate how important all the work is that goes into a game after all of the systems have been fully coded and tweaked and it's time to actually create something harmonious and fun out of the whole mess of 'systems'. I think at this point, many devs are not even aware of what they don't know, although they experience this sinking feeling that the game is not where it needs to be and yet nothing is apparently missing, and this is when they will decide that the controller or inventory (if not the entire game) is not good enough and throw it all out to start from scratch, doing it 'right' this time.

    Playing a game is like a dance between the player and the game. One can be forgiven for having a clunky step, but not for having no rhythm or understanding of what should happen next.
     
    Socrates likes this.
  39. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    No I agree Valheim's controller isn't necessarily "AAA quality" - but that's maybe the point. It doesn't have to be - it just does only what it needs to do - so I would assume they made it themselves vs using something like Opsive which would be way overkill for what they are doing. I would have to assume that any game I make is not going to be more complex than Valheim anyway so maybe a simple self-made controller is all I need too.
     
  40. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,571
    Is it even necessary?

    Because this statement boils down to "here's a complex thing, now make your own!".
    Does the project need that complex thing in the first place?
     
    Zarconis, angrypenguin and stain2319 like this.
  41. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,157
    Starting with a smaller title is the gamedev equivalent of making sure you know how to lay a foundation so your house doesn't get washed away during a Spring thaw
     
  42. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,023
    Overkill in what terms? Again, we need to be precise to be able to break this down. Is it memory? Hard disk space? Visual clutter?

    I can guarantee that if you saw Valheim's controller source code, it would take you much longer to parse than Opsive's controller.

    I think what happens is that looking at Opsive's controller seems overwhelming and it's much easier to start off by creating a script called PlayerController and coding away. But a year later, you end up with something with equal or greater complexity, with the only distinction being that you are familiar with it by then.

    Why don't you do this then, if you already own half of the asset store: create 15 minutes of shippable-level gameplay using assets only (shouldn't take more than a week or two of full time work), and then do the same with your own code before 2022. Then post them both here and we will be able to see where the significant differences are.

    By the time you finish the game, I can guarantee that you will have reproduced a lot more than you would think. But the real question is, how easily can you use only what you need in a way that doesn't significantly obstruct workflow?

    In my space kit, a lot of people consider it to be pretty complex at first sight. But I actually develop all of the systems in different projects, with a small shared base of common code.

    upload_2021-4-12_3-29-6.png

    When it's all together, it would take several hours at worst to cut an entire portion of the kit out forever. Once someone is familiar with the architectural rules underlying everything, pulling something out guts and all isn't that big of a deal.

    I think many asset store creators do things like this all the time, spending large amounts of time trying to arrange things to be as easy as possible to use, but getting someone past the initial vertigo of dealing with a vast amount of unfamiliar code and architectural style is always difficult.

    By the way, I'm not saying there isn't bad quality stuff on the store (there definitely is!) but if something is full-featured and highly rated I suspect it's worth the risk of spending a few days trying to wrap one's head around, rather than dismissing it as being too this or that.
     
  43. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    This is a very good and insightful post, I appreciate it.

    Part of the problem, I think, is sort of initial discouragement. When I start playing around with trying to create a game with assets like you mention, after a couple days of work I find myself constantly saying "this doesn't feel quite right" but maybe I just need to power through that part and worry about it later.
     
  44. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,571
    Very easily. Or extremely easily.

    Well, the thing is, we aren't discussing the space kit, but a character controller. Those serve different purposes.

    My strong side is programming. And one issue with 3rd party libraries is that they typically have some sort of paradigm/usecase/object model in mind, and you'll be pretty much forced to accept that and then shoehorn their vision of the problem into your game. Which can actually slow you down, as you'll need to grok what the heck the developer was thinking, and in extreme case you may end up spending more time figuring it out than you'd have spent writing your own thing.

    And that can cause problems.

    There are systems that you can "probably" integrate relatively painlessly most of the time, but they're service systems like Inverse Kinematics, Terrain generators, audio/video decoders, network layers and so on. In other words, they are service systems that work in the background.

    Character controller, however, is a central piece of your game. Basically in the same sense that you PROBABLY wouldn't want to buy your protagonist model from the asset store, you probably will want to ensure the character controller is custom tailored to your particular project. As a result it is the prime candidate for being written from scratch.
     
    Zarconis, angrypenguin and stain2319 like this.
  45. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    Completely irrelevant. Valheim had the same budget any normal indie game would have had which is to say it was almost entirely a part time process by one developer. It becoming massively successful only impacts development starting now.
     
  46. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    It could be argued that it became successful because it stood out from the pack, and it could be argued that what made it stand out from the pack is that it specifically did not have the "asset flip" feeling to it.
     
  47. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    I'm not an expert programmer by any means (yet) but this is very much what drives me in the direction of creating my own. It may take longer and it may not be as slick but it will do exactly what I make it do.
     
  48. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    Absolutely, but what does any of that have to do with my point that the commercial success came after and thus impacts development moving forward? Incidentally I would argue that the "asset flip" concept is far overblown and that the overwhelming majority of players can't tell that an asset is being used.
     
  49. stain2319

    stain2319

    Joined:
    Mar 2, 2020
    Posts:
    417
    My point is that maybe part of the reason all those games featured on "showcase" pages are NOT commercially successful is BECAUSE they are using those premade assets. Cause and effect. Use someone else's controller: your game feels like someone else's game.... And maybe everyone else's game.
     
  50. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    Have you researched them to verify that they are not commercially successful? Because simply not hearing about it doesn't mean it wasn't commercially successful. Just as an example "The First Tree" is not just available for PC but also on consoles and the Epic Store.

    We even had a discussion recently concerning the difficulty of getting onto the Epic Store.

    https://forum.unity.com/threads/anyone-got-an-indie-game-on-epic-game-store-yet.1087523/