Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Beginner question for experienced Unity users

A topic by NSFP created May 12, 2021 Views: 379 Replies: 5
Viewing posts 1 to 6
(1 edit)

I'm a complete beginner and have learned mostly through web tutorials (including for C#). The only two kinds of character controller I know how to make right now are with the Unity "character controller" component,  and with raycasts. I had the impression that these were the normal, popular methods that (Unity) developers typically use for most character-control needs. But, now that I have discovered itch and have a chance to talk to a community of developers, I am realizing how much these methods fail basic expectations.  Could anyone point me to any kind of resources for guidance on how one would produce a proper from-scratch control method that isn't reliant on these pre-made methods?

Currently, I don't even know where to begin on that.

(+1)

Hello!

I don't consider myself experienced but at least I've tinkering with Unity for a bit.

What are you looking for? A 2D character movement controller? Side scroller? Top down?

A FPS controller perhaps?

There are some assets and scripts out there that can help you to avoid making everything from scratch.

For example:

https://assetstore.unity.com/packages/templates/systems/full-body-fps-controller...

You can even make use of scripts offered in the tutorials and then reuse them.

Or here is an archive of scripts and guides

http://wiki.unity3d.com/index.php/Main_Page


About tutorials and expectations... well, yeah, the moment you start trying something more complicated/serious than those tutorials you will find yourself very frustrated. Things like proper AI management, or proper savegame serialization/deserialization, bottleneck avoidance, or just even trying things that are not easy by themselves, like trying to make an RTS, or even a TBS, for example.

Try to find advanced tutorials, they may help you to find other ways to work with Unity or how to resolve problems. 

quill18creates.

https://www.youtube.com/channel/UCPXOQq7PWh5OdCwEO60Y8jQ

Sebastian Lague

https://www.youtube.com/channel/UCmtyQOKKmrMVaKuRXz02jbQ

I'm not sure if this was you were looking for, but if you need to ask something else, do not hesitate.

Good luck!

(5 edits)

Hi Cimeto. Thanks for all those tips! The Sebastian League channel looks especially interesting, and I'm probably going to watch every one of those videos. What I want to learn is to make 3D 3rd-person action games. I know I am lacking the fundamentals necessary for how to do that properly. Here are clips of the two character controllers I have made:

I made the raycast controller about a year ago when I started getting serious about learning game development, and I made the 'character controller' based one over the last few days for a game jam here on itch (only I forgot that the rules for that jam require that all participants produce everything on their own, and prohibits the use of pre-made things, like the character controller component, so my controller is useless for the jam).

The problem this has caused me to realize I have with these controller methods is that I am not coding them from the ground up, like a proper original character controller would be.  The raycast controller is reliant on Unity's collider system (colliders are the only thing raycasts can interact with, as far as I know), and the other one is reliant on Unity's collider and "character controller component" system. I only know a few things I have learned from web tutorials and the Unity scripting API website, I don't even know how to begin making my own character controller. I know most serious game developers get formally trained at a school where they teach proper development practices, but that is not an option for me. I need to find some guidance on this that I can access for free, or that at least won't cost me my soul.

And also, I surely can't be the only one with this need. We need to hammer out a proper place to find stuff like that, for everyone who might be wanting it. If it doesn't exist socially yet, maybe somebody with the know-how might think of creating it?

(1 edit)

Hello!

About having to make absolutely everything from scratch for a Jam, I have no idea about rules like that, and being sincere, I've never tried to participate in one. But I suspect it's possible that they require that you write them instead of just importing or copy/pasting, so you use your own variable and method names and/or structure. I want to think in a similar way as in a programming exam. I'd like to see an answer here of people that had been in Jams and in a similar situation to let us know properly.

About your second question, about a place where you can find scripts that resolve a good bunch of things, made by the community... well... I think I've already offered a link before about that... the Unity wiki, if you browse a bit you will find very interesting things in it.

Again, the link to the main page:

http://wiki.unity3d.com/index.php/Main_Page


And a few places linked in it:

https://github.com/Unity-Technologies

http://wiki.unity3d.com/index.php/Scripts


If you even need more, you can check the Unity Store for free assets or GitHub, where a lot of developers like to show their work and offer it to the community (consider always the creator's work and effort of course). 

For example, in my case, a while ago I made a map generator with TileMaps, and I used the Unity 2d extension for tilemaps, so I was able very easily to have animated tiles instead of static ones. Or in another example, in a prototype I started I created a dialogue/event generator but I wanted to have a visual tool to easily navigate through the dialogue branches and interact with the actions fired by the options. So I started to make my own node map, connectors and all the stuff, but then I discover xNode and I tried it and the result was more satisfactory that what I had implemented by the time. 

Let us know if those links offer what you're looking for.

Cheers!

(3 edits)

All those links you've shared are thing's I didn't know about, so thank you, I am exploring all of them. Specifically what I'm looking for will not be scripts or assets made by others that can be dumped into my own project. I make all my own art, animation, and scripts (except I did not make the brick and metal textures on the ground in that clip, those were from https://soundimage.org/ and I use them only for previsualization), but my knowledge of scripting is crippled by simply not having an adequate foundation. To quickly reiterate from my original post, "resources for guidance on how one would produce a proper from-scratch control method".

I know looking at scripts written by other people is a way to learn, but the most effective scripts are full of things that simply make no sense without explanation. Most successful developers went to a school, where they learned how to write all that, and have a proper comprehension of the versatility and potential of the code they write from the bottom, up. That's what I need, but school is not a possibility for me. I'm looking for informative or educational resources that can demystify the ground-level basics of C# coding, ideally toward the goal of what is needed for making a character controller, that might be publicly accessible.

Oh! So it's about learning C# and getting programming skills!

I think that a previous post of mine may even help you too. Some time ago, another user asked for programming skills guidance and I let some links there:

https://itch.io/t/1133688/i-am-confused#post-2361318

Microsoft Virtual Academy is pretty good place to get used to a lot of programming concepts.

Check the post, but here are the important links to find C# tutorials:

https://docs.microsoft.com/en-us/users/dotnet/collections/yz26f8y64n7k07

https://channel9.msdn.com/Series/CSharp-Fundamentals-for-Absolute-Beginners

I have other posts where I answer with links to tutorials and programming questions/discussions stuff, so if you have time you may like to check a few of those. But for the time being, I'd recommend you start with the fundamentals. I especially like those tutorials made by Bob Tabor.

Let me know if there is something you like.

Cheers!