For this Demo tutorial, I will show you how to take an unfinished game that has been white-boxed and the basic gameplay is coded and polish it to the point of publication. I have another mini-game that I have created for My Crypto Games but it is missing many of its final detail to be ready for the app to be updated. I will show you how to replace models with their final assets, add particle effects, and fine-tune scripts.
In this video, We talk more about our marble game group Unity project. I explain that I will be updating this Unity project on a weekly basis. I hope that you will join this group project and help us create levels in Unity for this game.
We will also show you how to create a ball roll mechanic in Unity. We are using a ball roll mechanic for this group Unity project. Ball rolling is a very popular game mechanic found in many video games. If you haven’t learned how to make a ball roll in Unity then this is the video for you as I show you how to create a basic but effective ball prefab that you can use in any of your unity projects.
Unlock Code and Member Content
BasicForceMovement.cs
using UnityEngine;
using UnityEngine.InputSystem;
namespace InfoGamer
{
public class BasicForceMovement : MonoBehaviour
{
Rigidbody myRB;
[SerializeField] InputAction WASDInput;
Vector2 movementInput;
[SerializeField] float force;
[SerializeField] float topXZSpeed;
[SerializeField] float topYSpeed;
private void OnEnable()
{
WASDInput.Enable();
}
private void OnDisable()
{
WASDInput.Disable();
}
// Start is called before the first frame update
void Start()
{
if(topYSpeed > 0)
{
topYSpeed *= -1;
}
myRB = GetComponent<Rigidbody>();
}
private void Update()
{
movementInput = WASDInput.ReadValue<Vector2>();
}
void FixedUpdate()
{
myRB.AddForce(new Vector3(movementInput.x, 0, movementInput.y) * force);
if (myRB.velocity.y < topYSpeed)
{
myRB.velocity = new Vector3(myRB.velocity.x, topYSpeed, myRB.velocity.z);
}
Vector2 tempXZ = new Vector2(myRB.velocity.x, myRB.velocity.z);
if (tempXZ.magnitude > topXZSpeed)
{
tempXZ = tempXZ.normalized * topXZSpeed;
myRB.velocity = new Vector3(tempXZ.x, myRB.velocity.y, tempXZ.y);
}
Debug.Log(myRB.velocity);
}
}
}
Welcome to our all-new collaborative project. We tried to do a joint project with our subscribers before. However, the scope of the project was a bit too much. While I will return to that project sometime in the future we have a new project that will be much easier to complete.
There are countless ball games out there on the game markets but nothing like what we want to create. I want to create a multiplayer race game that has a variety of levels created by the players. I want to collaborate with all of you to create something everyone can enjoy.
In order to participate in this project, you will need to become a supporter on our website. As a supporter, you will receive exclusive free access to our Marble Level Builder Packager. This package will help you to create the levels for this game. The package includes basic Platforms that have a simple drag and drop design flow. We have also included moving, ghost, and launch platforms in this package.
Project Rules
InfoGamer will handle the general development of this Game
You must be a supporter to participate in this project
This will give you access you our exclusive Marble Level Builder package in addition to all other supporter perks
In order to keep the project manageable, we will limit the Collaboration to level design.
We will Include your display name in the credits of the game.