Watch the video here 👉

Video Description

Extended version of Coeur de la Nuit by Worakls, a non distractive melodic techno song that you can have in the background with low volume for studying, programming or just relaxing.

So basically I like this song quite a lot, I listen to it while working from time to time and lately I like to have it on in the background with low volume while I’m doing tasks like programming, writing an article or studying something, it kind of helps me concentrate.

I looked to see if there was a one hour version of Coeur de la nuit and there wasn’t so here we are, it was quite entertaining to make the video composition with the effects but in the end my computer wasn’t able to process any more effects.

Watch the video here 👉

Video Description

A new series has arrived to the channel :D, this time is about exporting Blender models to Unity. In this video we apply materials with colors to the 3d model made in the previous video, it’s important to determine how many materials a 3d model will have and how they are gonna be distribuited in the model, because this information is gonna be transferred to Unity when exporting. Note in this video we don’t apply textures to the model, just make a model have two or more materials with their respective color.

List of videos:

Introduction to the Blender to Unity series (this video)
How to create a simple 3D model, tips and tricks.

Applying materials to the 3D model (this video)

UV map of the model for each material and textures Translating…

Export the model from Blender to Unity Translating…

Watch the video here 👉

Video Description

A new series has arrived to the channel :D, this time is about exporting Blender models to Unity. This video is about making a simple 3D MODL in Blender, in which I show the modeling procedure, mentioning some shortcuts and tips that I take into account, and also some adjustments that I make before exporting the model from Blender to Unity.

List of videos:

Introduction to the Blender to Unity series
How to create a simple 3D model, tips and tricks (this video)
Applying materials to the 3D model

UV map of the model for each material and textures

Translating…

Export the model from Blender to Unity

Translating…

Watch the video here 👉

Video Description

A new series has arrived to the channel :D, this time is about exporting Blender models to Unity, starting from the creation of the model in video 2, in which I show the procedure to create a 3D model, mentioning some shortcuts and tips that I take into account, and also some adjustments that I make before exporting the model to Unity.

In the third video you can see how to assign different materials to the same object, the materials allow you to assign a Shader which is like a Script where are the instructions to tell the graphics card how to render the model. It is important to delimit the regions of the model where each material is applied, then in Unity we can create new materials and assign them to these regions, or you can also extract the materials that are defined in Blender, since these will be present in the exported file. A very important detail is that Blender has its own Shaders and Unity has other different Shaders, so the appearance achieved in Blender will not be reflected when exporting the model, for this you must work the appearance of the model within the Unity engine.

The fourth video is about the creation of the UV maps of the model for each material, the UV map determines how the textures will be distributed in the 3D model, it is essential to define it if you need to apply textures on the model, the UV maps will be included in the file that is exported.

In the fifth and last video of the series I show how to export the 3D model created in the last videos, from Blender to Unity, I will show the way I like to do it, in FBX format and the textures will be exported separately. Then in Unity I show how to extract the materials that come inside the model and also how to create new materials and assign them to the regions defined in the model. I also add some extra details and configure a little bit the lighting parameters.

Download textures here

List of videos:

Introduction to the Blender to Unity series (this video)
How to create a simple 3D model, tips and tricks.

Applying materials to the 3D model

UV map of the model for each material and textures Translating…

Export the model from Blender to Unity Translating…

Watch the video here 👉

Video Description

This method is useful to quickly draw the outline of a text or an image in Photoshop. For a long time I was doing this in a very inefficient way that forced me to rasterize the layer, so that if I had to modify the text I had to draw the outline again. With this stroke effect you can simply trace the outline of the content of a layer without having to alter it.


Video Description

In this video we see how to make an exit button in Unity, the idea is create a system to quit game by pressing a button from the user interface. This video is a remake which includes a way to quit the application even if you are in the Unity Editor, in the old video, when the button was pressed in the game mode nothing happened, with this new code we also exit the game mode which allows us to test the function without the need to compile.

//This is the begin of the “Exit Game” function that calls the button
//Copy and paste into some control script of yours
//be sure your script is present in the hierarchy
/// Adapt the content of this video to your needs
public void ExitGame()
{
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
#else
Application.Quit();
#endif
}
//End of the “Exit Game” method

Watch the video here 👉

Video Description

In this video we see a solution that could be used to recreate the movement of the Sovngarde statues of Skyrim, those statues that when the player is not looking at them turn towards him. The solution that I bring you can detect if the camera is looking at a certain object or not, this allows us to make certain scripts execute instructions only if they are OFF-CAMERA or only if the camera is looking at them. In addition this solution has two functions that are called only once when the camera starts looking at the object or stops looking at it.

YT does not allow inequality symbols so here is a link to the instructions:

instructions here

And while we are at it I leave you the script I made in the video:

download the script here

You can assign it directly to a GameObject, configure the necessary in the inspector and it should work.

TIMESTAMP

0:00 – What are we going to do?

0:44 – Prototype made from this solution

1:35 – How to configure the solution. Initial conditions

1:54 – Creating the Script and adding the instructions

3:10 – Setup in the inspector

4:21 – Test run

5:18 – Functions to enter custom code

In the following video we see how to make the textures that are applied to a material in Blender to be copied inside the FBX file that is exported in Blender and then I show you how to extract those textures in Unity.

Video Description

We are going to see how to export a model in FBX format with the textures included and then extract them in Unity.

In the Blender FBX export options you have to change the “Path Mode” to “Copy” and then press the “Embed Textures” button located to the right of that option. This will create an FBX file in which the textures will be included, something that can be seen if you compare the size with a regular exported model.

When we take it to Unity the textures do not appear automatically, it is necessary to extract them from the FBX file, for that we select the file and in the inspector we go to the “Materials” tab , there we will find a button to extract the textures, we select the destination folder and that way we can extract the textures from the FBX file, in my case the textures were applied automatically to the material.

TIMESTAMP

00:00 Seting up the model to export in Blender

00:15 Export FBX WITHOUT the textures

00:35 Export FBX with the textures inside

01:08 Bring the model to Unity

01:18 Extract the textures inside the FBX

Cake on the run

Plot

It’s your pet’s birthday and you decide to celebrate it in style by buying a huge cake, it won’t be an easy task to get it home because it’s so tall that at times it becomes a bit unstable.

How to play

Control the character with the WASD keys or the arrow keys. With the W-S keys or up and down arrow keys you avoid the obstacles in the street. With the A-D keys or left and right arrow keys you balance the cake, if the cake is falling forward press the D or right arrow key to accelerate and balance the cake again. If the cake is falling backwards press the A or left arrow key to slow down and rebalance the cake. Give the cake to your pet.

Developed for the Ludum Dare 49 Game Jam with them "Unstable" by:

MARTÍN HEINTZ

MUSIC COMPOSER

GAMEDEVTRAUM

UNITY DEVELOPER

AGUS

SOUND FX

Technical Details

Next we are going to review some information about the inner workings of this game and its mechanics, first of all it is a 3D project developed with the Unity engine.

Scene structure

This game is set up in three scenes, the first scene is the main menu which has two buttons, one to start the game and another button to close the game. By pressing the Play button we go to the game scene in which the stage and the character are set up. We go to the third and last scene when the character arrives home where his dog is waiting for him anxiously.

Character controlled by the player

The character to be controlled runs automatically with a preset speed that we can control by going forward or backward with the directional arrows or with the A-D keys, this will increase or decrease the initial speed to a certain value, the character can never go backwards, just go a little slower or faster, this movement serves mainly to balance the cake.

The character can also move to his left and right, this is achieved with the up and down directional arrows or with the W-S keys, this movement allows the character to avoid obstacles.

The unstable cake

The cake and the support tray were made in Blender and consist of separate pieces that are attached to the same skeleton, constantly playing an animation that makes the pieces of the cake jump as the character moves but also controls the angle of the bones of the cake to produce the tilt to one side or the other, The tilt of the cake responds to the character’s actions, that is, if the character accelerates the tendency of the cake is to tilt backwards, if the character goes slower the cake tends to tilt forward, in addition to this every now and then random events occur that take the cake out of its stable state and force the player to take action on it.

Music

The music for this game was composed by one of the team members. You can visit the Trepen el Paredón channel to see more of his work.

World obstacles

The main obstacles are construction fences, trees and cars, which are static elements; later on, pits are added in which, if the character falls into, the game is over. In addition, there are some cheerful workers who carry a piece of glass, these constitute a mobile obstacle.

The stage

The 3D models of the scenery are models that we made using Blender, the scenery materials have no textures, they only have applied flat colors. The character was modeled from a reference image of a low poly character that also had the position of the polygons and the topology.

Hard time in the Cretaceous

Plot

In Patagonia, during the Cretaceous period there was a legendary struggle for the survival of the species, the Neuquensaurus, a noble herbivore species, had to endure constant attacks by the Overoraptors, carnivores of small stature but that, attacking in herds, are a great threat. Feed on what your environment provides, scare or step on the Overoraptors and make your offspring survive.

How to play

Move with the arrow keys, you can sprint with SHIFT and also roar with SPACE, but be careful, the Neuquensaurus will consume more energy in both cases.

Developed for the Patagonia Game Jam with theme "Dinosaurs from Patagonia" by:

MARTÍN HEINTZ

MUSIC COMPOSER

GERARDO

GAME DESIGNER

GAMEDEVTRAUM

UNITY DEVELOPER

SEBASTIÁN

GAME DESIGNER

ANDRÉS

SOUND FX

About the Patagonia Game Jam

Patagonia is a region of southern Argentina and is the region where I live, this jam was organized here and the theme was the dinosaurs in Patagonia, which had a strong presence in this region. For the event they created a discord server in which we had channels for each team and we could also talk to paleontologists to learn about the topic or ask questions and that our games have some correlation with the history of dinosaurs.

Technical Details

Next we are going to review some information about the inner workings of this game and its mechanics, first of all it is a 3D project developed with the Unity engine.

Music

The music for this game was composed by one of the members of the team, I really liked the result, especially the gameplay battle music, you can visit the “Trepen el Paredón’s” channel to see more works.

Scene Structure

This game is set up in two scenes, the first scene is the main menu that has some buttons, one to start the game, one for the credits window where you see our faces and links to our networks, we have another button to close the game and there is also a button to continue a game, but this only appears when we have already played at least once and passed the first round, which means that this information is stored in memory and then retrieve it and decide whether to show the button or not.

Dinosaur controlled by the player

The player controls the dinosaur using the directional arrows or the WASD keys, can sprint by holding down the SHIFT key and roar by pressing SPACE. The dinosaur has an associated hunger level that decreases passively but depletes faster if the dinosaur walks, even faster if it runs, and each roar costs a certain level of hunger to produce.

If the hunger bar reaches zero our dinosaur dies of starvation so we must be sure to consume the food that appears on the stage, for this just go over the bushes, also the dinosaur has an indicator that all the time points to the nearest food source.

Dinosaur egg

At the beginning of the game there is a dinosaur egg located in the nest, this egg has an associated incubation time and health level, both values are reflected in the bars in the upper left corner of the screen. The incubation time increases steadily and the health of the egg decreases if it is attacked by an enemy dinosaur. When the incubation time is up, the egg hatches and a miniature dinosaur emerges from inside.

The carnivorous dinosaurs will try to attack the egg, if we allow them to get close enough they will do some damage that will be subtracted from the health level of the egg, it can be seen in the indicator bar of the graphical interface. When the egg is completely damaged the game is over as no new dinosaurs will be born.

The egg appears again when the small dinosaur is fully developed.

Dinosaur baby

The new little dinosaur emerges when the game finishes hatching, at that moment the indicator bars change to show the dinosaur’s health and state of growth, in the hatching state the carnivorous dinosaurs will attack it in the same way as they did with the egg.

Initially I wanted to make the dinosaur hatchling have an artificial intelligence that would allow it to move around the stage independently and feed itself, for that reason there is a 3D model that looks like little colored balls, the idea was that the hatchling would look for those food sources to develop, but in the end there wasn’t enough time.

The stage

The 3D models of the scenery are models we made using Blender, the textures were made with Substance Painter.

Go to Hell!

Plot

The protagonist of the story argues with a friend, who ends up sending him to hell. Our hero takes these words very seriously and decides to fulfill this task so that his friend can forgive him. Help him in his mission to descend to the bowels of the earth without dying in the process.

How to play

Move with the WASD keys or arrow keys, you can jump with SPACE, move the camera with the MOUSE. Descend to the bottom of hell so that your friend forgives you.

Developed for the Ludum Dare 48 Game Jam with theme "Deeper and Deeper" by:

GAMEDEVTRAUM

UNITY DEVELOPER

NORBERT

VOICE ACTOR

Technical Details

Next we are going to review some information about the inner workings of this game and its mechanics, first of all it is a 3D project developed with the Unity engine.

Scene structure

This game is set up in two scenes, the first scene is the main menu scene that has only two buttons, one to play and another button to close the game. Pressing the play button starts a sequence of images and sounds narrating the story, this sequence is implemented in the same scene of the main menu and can be skipped by pressing space, when the sequence ends or is skipped, at that moment the change to the game scene occurs.

Player-controlled character

The player controls the character using the directional arrows or the WASD keys, the camera is controlled with the mouse. The first-person control was programmed from scratch before the game jam, I was doing experiments with platforms and so that a character can take fall damage, plus make that the jump has some momentum.

3D models of the city and the pit to hell

The 3D models of the scenery are models I made using Blender, some textures were made with Substance Painter while others like the textures of the buildings were taken from the browser.

Circled

Plot

A character floating in the cosmos attached to a heart and trapped in an infinite loop of rings closing over him.

How to play

Move by clicking on the screen to avoid the rings as much as you can. The click and drag mechanic is not implemented.

Developed for the Ludum Dare 47 Game Jam with theme "Stuck in a Loop" by:

ÁLVARO

PIXEL ART

GAMEDEVTRAUM

UNITY DEVELOPER

CHEMA

GAME DESIGN

About the development of this game

On October 2, 2020 the Ludum Dare 47 game jam was held, an event where you have to make a game in 72 hours based on a theme chosen by the community. The theme of the jam was “Stuck in a loop“. We participated in a team of three.

Most of the event I was live streaming what I was doing on my computer and also the discussions we were having to reach an agreement. I transmitted a total of approximately 32 hours and in the following video you can see all those hours of work summarized in 5 minutes.

40 hours of live streaming summarized in minutes

Brainstorming

A few days before the jam starts we met to propose ideas based on the candidate themes, there were three rounds of voting with 16 themes each, we took the first round and chose 4 themes at random. Then everyone took 5 minutes to think of an idea with a simple mechanic. Coincidentally the theme “Stuck in a loop” was among our chosen ones so for the jam we already had a previous idea.

Art

The general aesthetics of the game is based on the Synthwave style, with saturated colors and fonts according to that style.

The sprites are made in Pixel Art style using Aseprite software.

Technical Details

This game is a 2D project developed with the Unity engine.

Scene structure

This game is set up in two scenes, the first scene is the main menu that has some buttons, one to start the game, one for the credits window where you see our faces and links to our networks, we have another button to close the game and there is also a button to continue a game, but this only appears when we have already played at least once and passed the first round, which means that this information is stored in memory and then retrieve it and decide whether to show the button or not.

Mechanics

The character is controlled by clicking on the place on the screen where the player wants to move. The character starts to accelerate in that direction until it reaches a maximum speed and then starts to stop, this makes that for each pulse the character moves a predictable distance.

During the game there are concentric rings that are generated, each one with twice the scale of the previous one, there are different types of rings that have one or more outputs. While a ring is active it will shrink in size until it becomes tiny. The character must move to escape through the openings because, if touched by a ring, the character dies.

This is the first game to which I implemented a translation system which has a record of each text that appears on the screen and arrays containing the translations for each one, by pressing the language change button we go to the next language of the system and the system is responsible for updating each of the texts on the screen.

The game is set up in two scenes, the first scene is the initial scene of the main menu in which you can also see the credits screen. By pressing the “Play” button we switch to the game scene. Since in the game scene we have on-screen texts, it was necessary to think of a system to transfer data between scenes in order to assign the text in the appropriate language.

In the Android and Windows versions the sun sprite that appears in the background of the game scene changes size depending on the amplitude of the music, this is done by reading a chunk of the bytes from the audio clip and averaging them to get a value that will then be related to the scale of the sprite. It is not possible to do this in WebGL because one of the functions that allows us to analyze the audio clip cannot be used in WebGL. An alternative could be to pre-calculate these values for each song and to have these data organized in lists to be applied to the sprite scale.

In this game, data is saved using PlayerPrefs to remember what the maximum score was and update it if it is exceeded.

Escape from the maze

DOWNLOAD the source code of this project on ITCH.IO

You can download the source code of this project in the card from below. You don’t have to pay for it but if you want to support this project and new upcoming projects you can pay the suggested price or name your own price. If this product receives support I will update with more mechanics like multiple levels and a level selector.

Plot

A character is trapped inside the maze in which there is only one door to escape. The exit is blocked and to open it you have to find the key, which will appear when you have found a set of objects.

How to play

Move with the WASD keys or the arrow keys and orient the camera with the mouse. Pass over the objects to pick them up.

Developed by:

HERNÁN

UNITY & BLENDER DEVELOPER

About the development of this game

The game Escape from the Maze is a first person game made in Unity and consists of finding a series of objects before time runs out. This prototype was a commissioned work.

Initially the project was much simpler than what you can see in the prototype below, since it was a work with clear instructions that emphasized the logic and mechanics of the game rather than the graphical aspect. After delivering the work I continued doing lighting and post-processing experiments, I added a 3D model of a person with animations from Mixamo so that shadows of the player are projected on the walls of the maze. The project is not optimized for the WebGL version so it is likely to run very slow in full screen.

Technical Details

Next we are going to review some information about the inner workings of this game, first of all it is a 3D project developed with the Unity engine.

The 3D models of the scenery are models that I made using Blender and the textures with Substance Painter, this process took about an hour approximately because I already knew exactly what I had to do and I had even done it before.

Given the simplicity of the prototype I used a single Unity scene, so there was no need to worry about transferring information between scenes.

All the GUI elements of the main menu are children of a GameObject that is inside a Canvas, the GUI during the gameplay is also built that way, so when starting the game what is done is to deactivate the GameObject that contains the GUI elements and activate the GameObject that contains the game’s GUI.

Game mechanics

Player-controlled character

The player controls the character using the directional arrows or the WASD keys, the camera is controlled with the mouse. I don’t remember well but it may be the prefabricated “First Person Controller” from Standard Assets.

Objects to find in the labyrinth

The six objects to be found appear in the maze randomly and at a certain distance from each other. To achieve this, an instantiation system was created that takes into account the shape of the parts of the maze and the regions where the objects could appear.

The objects emit a sound whose intensity depends on the player’s distance, the closer the player is to the object the louder the sound will be heard, this is a clue to locate them.

In order to detect that the player picks up the objects, Colliders and the OnTriggerEnter event are used, when picking up an object, it is checked if all the objects have been picked up, if this is true, the key is released.

The key to unlock the exit

The key is like a seventh object that is instantiated using the same system as the previous objects, the difference is that doing so we immediately deactivate the GameObject of the key so that it disappears from the stage, when the player finds all the objects the GameObject of the key appears and a sign in the graphical interface indicating that you have to find the key.

The door to escape from the maze

The door is a 3D model divided into two parts so that it can be opened, and there is a Collider just ahead to check if the player is in front of it.

If the player enters the region in front of the door we check if he has picked up the key, if not the action is ineffective, but if the player has the key the door opens with a rotation animation for each object in the door.

Space visitors

Plot

You control a spaceship that fires one projectile at a time. Waves of alien ships advance threatening to destroy us. Take down the enemies before they reach us.

How to play

Move sideways with the A-D keys or the left and right arrow keys. Shoot with the SPACE key. Eliminate all the ships.

Developed by:

GAMEDEVTRAUM

UNITY DEVELOPER

Technical Details

Next we are going to review some information about the game’s internal workings, first of all it is a 2D project developed with the Unity engine. The sprites were obtained from the internet.
Given the simplicity of the prototype I used a single Unity scene, so it was not necessary to worry about the transfer of information between scenes.

Game Mechanics

Nave controlada por el jugador

The ship can only move horizontally from one end of the screen to the other with a certain speed, for the movement we use the directional arrows or the A-D keys.
Pressing the SPACE key the ship fires a projectile that travels with a certain speed which will increase as we advance to the next wave.
By design requirements the ship can only fire one projectile at a time, that is to say that there can only be one missile on the screen, when it hits an enemy ship or goes off the screen, at that moment the ship is enabled to fire another one.
The ship controlled by the player is destroyed when it is touched by an enemy ship.
The player has three lives to kill as many waves as possible, eventually all of his ships will be destroyed and the game will end.

Enemy ships

In each wave five enemy ships appear at the top of the screen, which will start moving horizontally to one side of the screen, when one of the ships reaches one end of the screen, the whole set of enemy ships drops slightly and then moves in the other direction with an increase in speed.
The speed of the enemy ships also increases with each wave.

Introduction

In this article we are going to analyze an algorithm to add the numbers from 1 to 10, that is to say we will create a function that solves the operation 1+2+3+…+10, this function will be programmed in a generic way to calculate the sum of all the natural numbers from 1 to N, being N any natural number, for example if N is 100, our algorithm will add the natural numbers from 1 to 100.

How can this situation be solved?

One thing we could do is to explicitly add up all those numbers, as shown below:

sum = 1+2+3+4+5+6+7+8+9+10

Here the variable sum is assigned the sum of all natural numbers up to 10.

However this way of doing it is very rigid, it only allows us to solve that particular situation, if we would like to add the numbers up to 15, we have to go to the code and add the numbers manually and this of course is very impractical and cannot be modified at run time. Besides, why go to the trouble of writing the sum when you could directly assign the value 55 to the variable sum, right?

So we are going to solve this problem with a more flexible strategy, we are going to do this operation in several steps using mathematical properties such as the associative or the existence of the neutral element for the sum. This will allow us to have an algorithm that not only adds the integers from 1 to 10 but from 1 to any number we want.

Algorithm for adding N natural numbers

We can think this big sum in smaller sums, for example if we start from 0, first we solve 0+1 and store this result in a variable, then in another step, to the result of 0+1 we add 2, in another step, to that result we add 3 and so on until we reach the last value that we want to add. The number of steps to be taken goes from the first element to be added to the last element, that is, in the example, from Step 1 to Step 10.

This can be solved by using a variable that works as an accumulator of the sum and a repetitive loop that adds the numbers to the accumulator in each iteration. So for the variables we declare:

public int sum;
public int n=10;

The accumulator is initialized to 0, because 0 is the neutral element for the sum, 0 added to any number is equal to that number. We do this with the following instruction:

sum=0;

Then we define a for loop, if you are using Visual Studio something you can do is type “for” and press the Tab key twice, that will autocomplete the syntax of the for loop.

We are going to initialize the loop in the value 1 and make it end in the variable N, in this particular case it is important that we use the sign “less or equal“. Summarizing what we are going to obtain is a first iteration in which “i” is 1 and in the last iteration i is 10 (in this particular case).

for(int i=1;i<=n;i++){
sum=sum+i;
}

Inside the loop we will execute the instruction that is observed in the code fragment from above, variable sum equals the variable sum plus i, this means that first we will calculate this operation and then we will assign it to this variable, in the first iteration, sum will be worth 0, to that we add i that is worth 1, 0+1 equals 1 and that we assign it in the variable sum, in the following iteration sum is worth 1 and i is worth 2, so that the operation 1+2 is solved and it is assigned in the variable sum. So on and so forth until the last number is reached.

Algorithm test run in Unity

The complete code in C# language would look approximately as follows:

public int sum;
public int n=10;


void Start(){
sum=0;
for(int i=1;i<=n;i++){
sum=sum+i;
}
}

We proceed to test the code, save the changes in the Script and execute it, in our case we do this by assigning the Script that contains the code to any GameObject of the hierarchy of our Unity Project and entering the game mode. When doing this, Unity automatically executes the Start function of that Script and the result of the sum is stored in the variable sum.

As the variable “n” is public, you can modify its value in the inspector, for example set it to 100 and solve for the sum of the natural numbers from 1 to 100.

Exit mobile version
Secured By miniOrange