The Problem With Defaults
Defaults. Sounds kinda boring right?
The main reason
Well in this tutorial I wanted just to go on a simple rundown on the defaults of Roblox. What I really wanted to do is to show how forking works, including custom controller, chat, and GUI. In other words, I want to give you an understanding on what you can change to your game to give it that extra spice.
*Note: This is my first tutorial. Please mention any mistakes I make or reply with how I can improve thanks.
Character
So, when you load a new experience and play test for the very first time without changing anything, you are greeted with your character.
The players avatar is how the player connects to the game and vice versa. Most games don’t usually change the character much due to the fact that it is much easier to leave the player to use their own character.
For most games this is completely fine. For example, vibe games, dancing games, obbies and generally any game where the player is an individual. However for other games I think it is always a bad idea to leave the character on default. There are several reasons as to why you should change the character:
- People without Robux to change their avatar do not feel “left out” (personal experience)
- It will increase immersion in War/Military games. The player feels more of a connection to his/her character
- It is a good way of monetising your game as character customizations generally do not effect game play
- Some mechanics require R6 some with R15 and some with custom characters
Some games interestingly use the head, face and hats that the player is using and combine it with a uniform that all players use which is a good idea too.
Another good idea is to show the character to the user and allow customization before you spawn in as being put in a world with a random character can be a little disorientating imo for new players.
I can’t say this for all games but sometimes I feel that having a “standardized” character gives the game more feel.
If you want to see some games that have custom characters here are 3 examples that do this pretty well:
This game wisely uses non-default characters to show which team the player is in, creates a level of immersion and provides an insentive for players to buy the VIP gamepass for a scientist character in spawn.
This game uses custom characters as a means to show level, experience and also to be able to distinguish player from the crowd. Also a very simple design to make it appealing for younger children
This game uses clothing to identify the players team as well as to immerse and in order to organize all players in more large scale battles. Note the use of the users personal face and head
So, how do you change the default character?
How to customize the character
There are several ways you can customize the character of your game.
Method 1: StarterPlayer
Create a custom character
In this Instance I will use a simple Dummy and add some hair an clothes.
Name the model StarterCharacter
Place into StarterPlayer
Playtest!
Refer to StarterPlayer for more info on what you can do.
Note: This change is for all Players that join the game. This method does not allow you to change the characters animations.
Method 2: HumanoidDescription
HumanoidDescription is a “fast” and easy way of loading Characters according to their team. You can put animations, clothes, accesories and more. Usually, this is the way to go if you want custom characters in your game.
Create a HumanoidDescription and put the IDs you want into the Object in the relative values
I am loading Robloxian 2.0
Use the method
Humanoid:ApplyDescription(HumanoidDescription)
or
Player:LoadCharacterWithHumanoidDescription(HumanoidDescription)
Viola!
Method 3: Player.Character
This method is probably the most “non-default”. Not only does it allow for more “custom” characters but it also enables you to have more control over different types of characters in game.
For example, one player could have a character with 4 legs like a cat and another could be a flying creature like a bird. Then you have a fun game Cat-Catch-Chicken, lol.
Create a Character
Add the character to ServerStorage
Change the players Character to the new Character
One thing you can also do which is very simple to script is to have scripts insert clothing or accessories into the Character to change it that way. That is much more simpler task than creating a HumanoidDescription and setting all the values.
EZ PZ
End notes
There are a couple of things to also consider when creating a custom character.
Humanoids is one default I wish to get rid of completely
Yes, you heard that right. Humanoids have simply too much functionallity in some cases. They can swim, climb, sit, drive vehicles, can load accesories
So, let’s go a little deeper shall we?
StarterScripts
Roblox provides a bunch of these default scripts. Most developers often forget that these exist or know that they do exist but not know how to use them.
Let’s look at some of them.
StarterPlayer
In the StarterPlayer there are 5 default scripts 3 in StarterCharacterScript and 2 in StarterPlayerScripts
What is wrong with these scripts? Well take a look.
Let’s have a go at what is known as forking
-
PlayTest the game
-
Go into Players>YourPlayer>PlayerScripts
-
Select all the Scripts
-
Select your Character
-
Copy the scripts and the Character and stop the game
-
Paste into the workspace
You should end up with your character and a couple of scripts. Take a look inside the scripts
This is the sound script.
This is what you are usually greeted with when you look in them
Note: These are the scripts you want to look out for. Blue are the scripts, Red are places you can look into if you want some extra customization for the character for example sounds and body scale.
Now, for some games that use normal R6 or R15 or any default characters these scripts are fine. In fact they are quite useful as Roblox provides them with a few decent methods including:
- A free camera module for the owner of the game
- Mapped controls
- Methods for disabling controls and for all the calculations needed for camera movement and swimming etc
However, if you are like me and you don’t like doing things the easy way. Or you are making a game for example a “roll a magic ball” with an view or a building game with orthogonal view, these scripts are a nightmare.
-
They cause warnings
-
The camera and movement system is not realistic
https://gyazo.com/5efbadefa9ad117dcaf195c8933731e9Don’t you think that’s a pretty boring camera. Amirite?
-
and breaks when you want to change the camera or the controller sometimes if you do not follow the correct procedure when dealing with these types of scripts.
https://gyazo.com/6074929c324a6569fd1758525c8c4671
Now Roblox primarily is a 3d game. However, not all 3d games has the player control an avatar. Sometimes you want to start from scratch with a clean slate.
Now what you will want to do now is to make 5 scripts. Simply copy the script names and types and put them into the starter player. Then playtest
Complete bliss.
Of course you don’t have to add anything to these scripts is you want to. You could have them completely blank. (or you could create your own custom character controller and/or game mechanics)
There is one downside to all of this is that it will increase your development time. Developing systems like these takes time. However, I believe that the systems that are in place already are quite limiting for some developers. Is usually see the same types of 3d games like obby, tycoon, simulator. No there is nothing wrong with these games however they are all incredibly similar to each other, the camera, the character controller etc.
To sum this up basically I believe that if you use non default scripts, your game will be unique. I can’t wait to see what people do.
There are a couple more things that you might want to look into when creating your custom character/player too.
Endnotes
Thats it for now. I am planning to add a chat section and what you are allowed to customize. If you have any ideas or improvements you would like for me to add please let me know. Thanks.