Developing 2nd mini-game with the Untold Engine

One of the reasons I'm developing mini-games is to test the Untold Engine and its user experience. This is the second mini-game I develop with the perspective of a user and have already found several issues with the API documentation, lack of explanation, and confusion. I'm glad these issues are coming out since my goal is to create an easy to use game engine.

This week I decided to develop a some-what platformer game. As the video below shows, the main character jumps from one roof to another, collecting powerups and avoiding the enemy bullets.

 
 

Let me share with you the development progression of the game.

Preparing the Scene

As usual, the first thing I did was to prepare the scene in Blender 3D. Most of the scene consists of houses and city artifacts. The main character and enemies are located on the roof of the houses. Floating on each roof are beer mugs representing powerups. I also added walking animations to the main character. Here is a screenshot of the initial game scene:

 
Screen Shot 2018-10-07 at 11.42.21 AM.png
 

I exported the scene using the Digital Asset Exporter (DAE). The DAE extracts 3D rendering information and provides it to the Untold Engine for rendering, as shown below:

 
 

Adding Collision Behavior

The next step is to make the main character jump on top of each roof. For that to occur, I enabled collision detection between the main character and the roof of each house. This is shown below:

 
 

Enemies shooting

Next, I wanted each enemy to start shooting the main character, whenever the character is nearby them. Thus, when the character jumps from roof to roof, he is presented with bullets approaching him. At this point, the bullets do not affect the main character.

 
 

Adding Powerup effects

Powerups were then added to the game. As mentioned earlier, beer mugs represent the powerups. As the main character collects them, the Untold Engine particle system is employed, thus creating the effects shown below. Moreover, after a fixed amount of bullet hits the main character, an "I'm dead" animation is played.

 
 

Adding Health Bar

Finally, I added sprites which represent the health bar of the main character. To do so, I used an app called Texture Packer which the Untold Engine interfaces to get spritesheet data.

 
texturepacker.png
 

I also added a text object which keeps track of the number of powerups collected by the main character.

 
 

I'm going to keep developing several mini-games until the end of the year. The purpose is to improve the API User-Interface of the Untold Engine.

Thanks for reading.

Developing 1st mini-game with the Untold Engine

I wanted to write a post describing how easy it is to develop a game with the Untold Engine, the 3D game engine I developed. I wanted to create a simple mini-game that encompasses the features available in the Untold Engine.

For the first game, I decided to develop a game with one character, power-ups, and obstacles. The game design is as follows: the main character must collect all the power-ups. If the character collides with the Obstacles, the game is over. The game is shown below:

 
 

Let's go over the steps required to develop such a simple game.

Create the models and scene

I did not create the 3D models myself, (I don't have an artistic eye). Instead, I bought several 3D models from cgtrade. I then assembled the scene in Blender 3D as shown in the image below.

 
forestgamebig.png
 

Once I was happy with the game scene, I proceeded to export the 3D models and scene using the Digital Asset Exporter (DAE). The Digital Asset Exporter extracts rendering information from a 3D object and provides the data to the Untold Engine.

The video below shows the 3D models in Blender 3D and the DAE being executed. Once the information is available to the Untold Engine, it is rendered on your iPhone or Mac.

 
 

Adding Walking Animation and Motion

I also created a walking animation for the character in Blender 3D. The animation is shown below:

 
guardianwalking.gif
 

The DAE, aside from exporting rendering information, can also import animation data. So, once the animation was ready, I used the DAE to export animation keyframes into the Untold Engine.

I also enable a controller, such as a gamepad, game controller, mouse, and keyboard, to control the movement of the main character.

As the video shows, I also added motion to the "tree trunks" that serve as obstacles in the game.

 
 

Enabling Collision Detection and Particle System

I wanted to create a visual effect whenever the main character eats a power-up. By enabling Collision Detection between the character and the powerup, I can determine whenever a collision between the two objects have occurred. Whenever such collision happens, particle systems are created. Thus, serving as visual cues.

 
 

Adding Knock-out Animation

I decided that it would be a good idea to create an additional animation that would execute whenever the Tree-Trunk hits the character. Like with the Walking animation, the Knock-out animation was created in Blender 3D. The animation is shown below.

 
guardiangameover.gif
 

The animation was exported with the DAE, and it runs whenever the character collides with the tree-trunk, as shown in the video below.

 
 

Adding Text

As I was playing around with the game, I realized that it would be a good idea to keep track of the powerups collected by the character.

To add text to the game, I used an app called Glyph Designer. The Untold Engine process the output from the Glyph Designer (.xml and .png files) and renders a text using the font type.

 
Glyph Designer

Glyph Designer

 

I decided to add a Text Object which displays the current number of powerups eaten.

Aside from that, the game will show a "Game Over" text whenever a tree-trunk hits the game character.

 
 

Adding a Skybox

Finally, I was not happy with the black background, so I decided to add a skybox. As you can see in the video, the skybox improves the visuals of the game.

 
 

I developed this game in parts throughout several days. However, overall it took less than three hours to develop. The hardest part was finding the right 3D models for the game. However, once I had the models, the Untold Engine made the development of the game easy.

If you are interested in developing a game using the Untold Engine, please visit our website: Untold Engine.

Thanks for reading.

Initial documentation for the Untold Engine

Hi guys,

Since releasing the Untold Engine, I've been swamped writing its documentation. Honestly, writing documentation takes a long time, but is those things, that even though we hate to do it, it must be done.

I've broken down the documentation into three sections:

  • Fundamentals
  • Tutorials
  • User's Guide

Fundamentals

In this section, I provide an overview of how the Untold Engine works. I explain every component and provide a lot of illustrations. I also provide labs which should reinforce your understanding of the Untold Engine.

collisiondetection.jpg

Tutorials

In the Tutorial section, I plan to teach you HOW to use the engine so you can create your games. As of today (8/12/18), I have written only one tutorial. It teaches you how to create a character and control it using a joystick.

tut101.gif

User's Guide

The user's guide provides a quick reference to the functionality of the Untold Engine. For example, it gives examples of how to render and translate a character. It also shows how to link an animation, apply external forces and enable collisions.

collisionlab6a.gif

It has only been two weeks since I released the Untold Engine. I'm aware that the amount of documentation currently available is not enough. But trust me, I'm working hard on adding documentation daily.

Click here to review the documentation of the engine.

Don't forget to follow the engine @untoldengine and me @haroldmserrano

Releasing the Untold Engine

After five years and thousands of development hours, I’m finally releasing the Untold Engine.

What is the Untold Engine?

The Untold Engine is a 3D game engine written in C++ and Metal Graphics (API). Its small API makes it ideal for new developers to focus on learning the fundamentals of game development.

I’ve been working on this game engine for the past five years, and the beta version is finally ready.

untoldenginesquarespace.png

Untold Engine Features

The Untold Engine is still in its infancy, and it lacks many features you would find in other mature, commercial game engines.

However, my goal is not to develop the engine with the most features, but the most robust, easy-to-use game engine ideal for you to learn how video games work.

Therefore, the Untold Engine provides the following features:

  • Detailed documentation ideal for novice developers.
  • Labs to put into practice what you have learned.
  • Easy to use API.
  • 3D models ready to use (no need to look elsewhere).
  • A game template to get you developing right away.
  • Develop games for iOS devices and Macs.
  • It's free.

I hope the materials provided, gives you the opportunity to explore, learn and create your games.

What types of games can you develop with the engine?

Here are some small games created with the Untold Engine:

Game Demo 1
 
 
Game Demo 2
 
 
Game Demo 3
 
 

Check out the Untold Engine

Thanks for reading

The plans for the Game Engine

My plans for the game engine have evolved. At first, I decided to develop a game engine with the sole purpose to learn Game Engine Development.

Once the engine became stable, I started pondering whether to release the engine as an open-source project. I read a lot of books on open-source management, and I finally made a decision.

I have decided to release the engine not as a commercial tool, nor as an open-source project, but as an educational tool for you to use and learn.

However, I will not only release the game engine but also provide you with the educational resources to help you become a game developer. That is, I plan to release game development courses and hands-on projects, which I hope will be helpful to you.

We plan to release the Untold Engine and the first game development course by July 2018. The first course will introduce you to essential concepts in game development.

Throughout the year, I plan to develop two more game development courses and keep improving the engine.

Why am I releasing the engine as an educational tool?

The Untold Engine is ideal for novice developers. It is easy to use. It has a small API to remember. There is no graphical user interface to learn, and you can start rendering game characters with few lines of code. In essence, it helps you focus on learning game development concepts without the complexity found in other engines.

I want to provide you with a complete learning ecosystem; game engine, courses, game assets, all in one place.

Many game tutorials are not written with "novice developers" in mind. Some tutorials don't take the time to clarify the reasoning behind every code implementation. They don't explain the WHY behind every HOW.

I want to give novice developers a different experience. I want to provide them with everything they need in one single place. I want to create game courses, especially for them. I want to provide them with an easy-to-use game engine and give them access to game assets.

If you feel this ecosystem will benefit you, sign up below to get notified once the game engine and the game development courses are released.

The Game Engine's name

For a couple of years, I've kept the name of the engine a secret. However, I think is time for you to know its name. The name of the 3D game engine I've been developing is Untold Engine.

I came up with this name after watching the preview of a movie. I don't recall the film, but I do remember it starting by saying "The Untold Story...." At that instant, I knew that I should name my game engine Untold Engine.

The Untold Engine Logo

The Untold Engine Logo

New team member

As you can imagine, starting this new project is not going to be easy. And I'm going to need all the help possible. I will need help with accounting, finance, marketing and day to day operations.

My brother, Erick, will be joining the Untold Engine team. And will be in charge of the accounting, finance and day to day operations.

In contrast, I will be in charge of creating educational content, providing technical support and improving the Untold Engine.

Don't miss out

Visit the Untold Engine website to get notified once the Untold Engine and the game development courses are released.

Thanks for reading.