SteemQuest - A video game - Development Diary #1
SteemQuest - A video game - Development Diary #1
(SteemQuest is a Steem currency based video game. If you want to know more, please read... The introduction post)
Hi Steemit,
In this first development diary, I'm going to be talking about and giving a brief introduction to Unity 3D, which is the engine being used to develop SteemQuest.
What is Unity 3D?
Unity 3D is a powerful cross-platform 3D engine development environment. It is easy enough for a beginner to use, but powerful enough for the professional. Many commercial video game titles have been created with Unity on many different platforms, including mobile and consoles.
Why use an engine like Unity?
Because you don't have to worry about the rendering pipeline and you can concentrate on the writing of the game itself. Most modern engines like unity will also handle physics and collision detection for you, so you have most of what you need to write some games with very little code what so ever.
An example
Take a look at the animation at the top of the page. This was put this together in about 10 minutes from start to finish.
First, I found an SVG copy of the Steemit logo, and used Blender to extrude it (thicken it) into a 3D shape. This could then be imported into Unity.
Once in Unity, you can add components to objects to define their properties.
A rigid body component lets the physics engine take control of the object so it can fall due to gravity and receive impulses (pushes) from other objects. A mesh collider component lets the engine detect when an object comes into contact with other objects so that they don't pass through each other.
You can also define physics materials for the objects which define how slippery they are and how bouncy they are when they collide.
Finally a simple script lets us spawn (create) copies of the object over and over again every 0.2 seconds.
public class Spawn : MonoBehaviour
{
public GameObject prefab;
void Update()
{
timer += Time.deltaTime;
if (timer > 0.2f)
{
Vector3 pos = transform.position;
pos.x += Random.value;
pos.y += Random.value;
pos.z += Random.value;
Instantiate(prefab, transform.position, transform.rotation);
timer = 0.0f;
}
}
float timer = 0.0f;
}
So there you have it, a simple Unity example. There really isn't much to it, and hopefully now you can begin to see how it can be a pretty powerful tool to make games.
Next time I'll begin to cover the progress being made on SteemQuest.
Stay tuned! And if you have any question about game development, don't be afraid to ask!
I've been learning Unity 3D and it's such a nice platform! Good luck on this game! Using a cryptocurrency inside a game reminds me of Voxelus
Hi there. Nice to meet another developer here on Steemit, especially one who's interested in Unity too. What sort of things are you using Unity for?
Mostly for creating simple games as all the physics and other things are there! Using a platform really makes it easy and manageable. I haven't really created much except just following tutorials on the Unity Learn site.
Great article. Will follow. I'm doing the same sort of thing with Godot Engine. Although starting with a few tutorials for people too.