All GameDev.tv Unreal Courses

Add this as your final line:
Console.ReadLine();

You have to use this command, unless you run it in debug SHIFT-F5, otherwise it runs and closes the window

It waits for a key to be pressed before closing the window

Everything was running smooth until I got to the functions lesson. I’ve been confused since. I guess I’ll have to go back and rewatch until it’s more clear. :slight_smile: Great course so far!

They’re currently remastering the course, and what you saw at the beginning was the new content where they’re using a later version of Unreal Engine 4 along with VS Code. Section 3 hasn’t been completed yet, and so is using the original videos from when they were using older versions/programs. In time these will be updated too; we just need to wait. :slight_smile:

1 Like

Here is my work to share :slight_smile: tho I’m not sure if it’s the right place to do so :confused:

#include

int main ()
{
/*
Introduction au jeu.
Bien relire
*/
std::cout <<"Vous entrez dans un ancien complexe technologique, une ancienne raffinerie de matiere minerale. Les systemes sont anciens mais il semblerait que la technologie qui y est employee ait ete pensee pour durer. Vous vous retrouvez bloque au rez de chaussee, face au code de l elevateur. ";
std::cout <<std::endl;
std::cout <<“Il vous faudra desactiver trois codes pour acceder a la plateforme d assemblage robotique. Voici le premier d entre eux”;
std::cout <<std::endl;

//Ce qui suit  est le code à entrer.

const int a = 6;
const int b = 9;
const int c = 5;

int sum = a + b + c;
int product = a * b * c;

std::cout << “Il y a trois nombres dans ce code.” <<std::endl;
std::cout << "la somme des nombres de ce code est " << sum << std::endl;
std::cout << "le produit des nombres de ce code est : " << product << std::endl;

return   0;

}

1 Like

it is a basic function of the compiler with the latest Win10 update. its been a thing for about a year now. it simply means that your code is actually running fine and its put there for the purpose of decoding. your code is running fine.

1 Like

It is a basic function of the compiler with the latest Win10 update. its been a thing for about a year now. it simply means that your code is actually running fine and its put there for the purpose of decoding. your code is running fine.

1 Like

Hi, the links above to the courses do not work for me. Also, when searching for them at udemy, they cannot be found.
Any hints?

1 Like

I am having trouble when I put in cl in the terminal, it says command not found for the record, I used the console to open VS Code

1 Like

Hi Ben! I just bought full Unreal courses content on Humble and was confusing.
Previously I bought course for Unity on Udemy and it was great. Very useful QA section, subtitles and other stuf. But Humble gave me codes for Gamedev.tv and there no even subtitles, which is sad cause English is not my first language. Is there any coupon for Udemy same courses If I already have on Gamedev.tv?
Thank you!

1 Like

My Triple X game so far. You guys make it so easy to understand!

1 Like

I’ve been working on Bulls & Cow game. However, it seems as though my private variables declared in BullCowCartridge.h are not all getting initialized. The only one that seems to work is the bool bGameOver. The other variables are not getting color coded recognized types. For example, the TArray Isograms that I’m trying to set in the BeginPlay is not accessible in SetupGame. It sees it as an empty array and crashes Unreal when I attemp to run.

1 Like

Hello, I just finished the triplex game and when I added the #include statement at the beginning of my game to help with the randomization of the code, my computer (Windows Defender) seems to think it’s a trojan named Watatac.B!ml and quarantines the triplex.exe file.

Here is my code… I’ve muted the ctime line to test my theory and the computer runs the program fine. Please explain why this is occurring and what I can do to correct it?


#include

//#include //accessing computer’s time FOR some reason this code is causing Windows Defender to view it as a trojan

void PrintIntroduction(int Difficulty)

{

//expressions below are printing welcome messages to the terminal

std::cout << "\n\nWelcome to TripleHeliX \n\n";

std::cout << "`-:-.   ,-;\"`-:-.   ,-;\"`-:-.   ,-;\"`-:-.   ,-;\"\n";

std::cout << "  `=`,'=/     `=`,'=/     `=`,'=/     `=`,'=/\n";

std::cout << "    y==/        y==/        y==/        y==/\n";

std::cout << "   ,=,-<=`.    ,=,-<=`.    ,=,-<=`.    ,=,-<=`.\n";

std::cout << ",-'-'   `-=_,-'-'   `-=_,-'-'   `-=_,-'-'   `-=_\n\n";

std::cout << "You are a whistleblower at a biotech company named Prometheus.\n";

std::cout << "You need to gain access to the main server but to do so, you need to bypass the level " << Difficulty;

std::cout << " firewall using the correct codes to continue...\n \n";

}

bool PlayGame(int Difficulty)

{

PrintIntroduction(Difficulty);

//Declare 3 number code

const int CodeA = rand() % Difficulty + Difficulty; //utilizing the modulus operator to limit the number to the difficulty plus 1

const int CodeB = rand() % Difficulty + Difficulty;

const int CodeC = rand() % Difficulty + Difficulty;

/*

This is a multi-line 

comment

*/

const int CodeSum = CodeA + CodeB + CodeC;

const int CodeProduct = CodeA * CodeB * CodeC;

//print CodeSum and CodeProduct to the terminal

std::cout << "+ There are 3 numbers in the code \n" ;

std::cout << "+ The codes add up to: " << CodeSum << "\n";

std::cout << "+ And multiply to make: " << CodeProduct << "\n \n" ;

std::cout ;

std::cout << "Enter The Password Values Below:\n" ;



int GuessA, GuessB, GuessC; 

//Store player guesses

std::cin >> GuessA >> GuessB >> GuessC;

    

int GuessSum = GuessA + GuessB + GuessC;

int GuessProduct = GuessA * GuessB * GuessC;

//Check if the players guess is correct

if (GuessSum == CodeSum && GuessProduct == CodeProduct)

{

    std::cout << "***Well done! You've made it past a firewall! Keep going, lives are in the balance!*** \n";

    return true;

}

else

{

    std::cout << "***You entered the wrong code! Guards Have Been Alerted. Try Again!*** \n";

    return false;

}

}

int main()

{

//srand(time(NULL)); //create new random sequence based on the time of day

int LevelDifficulty = 1;

int const MaxLevel = 6;

while (LevelDifficulty <= MaxLevel) //Loop the game until all levels are completed

{

   // std::cout << rand() % 24 << "\n"; delete the slashes and run to see the randomized modulus operator to 24

    

    bool bLevelComplete = PlayGame(LevelDifficulty);

    

    std::cin.clear(); //Clears any errors

    std::cin.ignore(); //Discards the buffer

    if (bLevelComplete)

    {

       ++LevelDifficulty; //increase the level of difficulty if the level is completed

    }

    

}

std::cout << "\n ***Great work! You bypassed the firewalls and were able to access all the files! Get out of there!***";



return 0;

}

2 Likes

As MCMM said, it looks like it compiled. In case anyone else finds this useful:
if the intent was to see the string output into the terminal, after entering hello.cpp into the command line to compile, as was done in the screenshot, enter hello to run the compiled program. This should output the string into the terminal. Reviewing video 18: “Hello, World!” in section 2 of the Unreal Engine C++ Developer course should help.

1 Like

TripleX Game. Had my sister it out and she couldn’t figure it out because of Math. LOL

MASSIVE improvement to compilation times

I just want to share that I had been experiencing really bad compilation times of over 5 minutes while working on the bullcow game. I just saw video 52 (Solving Slow Compile Times) and after changing my UE4>Engine>Binaries>Win64>UnrealHeaderTool.target, my compilaton times went down to just a few seconds.

BEFORE

AFTER

1 Like

welp here is my code for the game so far. turns out you dont need to type cout for each line of code if u want to display multiple lines of text. that one one of the biggest things i learned making this version of Triple X my own. i think its easier and more clean to have it this way.

// not sure why this wont fully put the block of code into one place but hope this works
#include

using namespace std;

int main()
{
//dialog for the overall game!
cout << " You are a rouge who has been given a mission for the king.\n"
<< " King Sung Jinwoo: I have summoned you, my greatest agent, for\n"
<< " this mission! The objective is to save my beloved daughter,\n"
<< " the princess, by sneaking into the tower of darkness where\n"
<< " she is being held captive by the dark wolf (Askoo)! Inside\n"
<< " the hidden chamber there is a sacrid spell put on the door that\n"
<< " requires you to solve a math problem that even I, King Sung Jinwoo,\n"
<< " have problems understanding." << endl;

//const is used to keep vairables form being re decared by mistake or even on purpose!
const int SpellA = 4;
const int SpellB = 3;
const int SpellC = 2;



const int SpellSum = SpellA + SpellB + SpellC;
const int SpellProduct = SpellA * SpellB * SpellC;

// Print sum and product to the terminal
cout << endl;
cout << " Your spell seeker gem shows u that there are three spell numbers blocking the door." << endl;
cout << " They all mutiply to get " << SpellProduct << endl;
cout << " As well as add up to get " << SpellSum << endl;

cout << " Activated Spell unlocker tool.\n"
	 << " Enter your 3 spell combinations: \n";
int GuessA, GuessB, GuessC;
cin >> GuessA >> GuessB >> GuessC;

int GuessSum = (GuessA + GuessB + GuessC);
int GuessProduct = (GuessA * GuessB * GuessC);

if (GuessSum == SpellSum && GuessProduct == SpellProduct)
{
	cout << "Spell code unlocked. you have saved the princess!\n";
}
else {
	cout << "You have entered the wrong combination! you have been captured!\n"
		 << "game over!";
}
1 Like


Back at UNREAL … stay tuned for some good stuff…

1 Like

Please give me a solution for this problem

1 Like

Run the “Developer” prompt. It will set the environment variables so that cl.exe is a recognized command. I start the prompt up by hitting the Windows key. I type “2019” and pick “Developer Powershell for VS 2019” from the list.

1 Like

I proudly present Triple X Failstate Edition! :slightly_smiling_face:

#include <iostream>
#include <ctime>

void Introduction(int Difficulty, int Fails)
{
    // Intro Message setting up the story
    std::cout << "\n\n     .--------.\n";
    std::cout << "    / .------. \\ \n";
    std::cout << "   / /        \\ \\ \n";
    std::cout << "   | |        | |\n";
    std::cout << "  _| |________| |_\n";
    std::cout << ".' |_|        |_| '.\n";
    std::cout << "'._____ ____ _____.'\n";
    std::cout << "|     .'____'.     |\n";
    std::cout << "'.__.'.'    '.'.__.'\n";
    std::cout << "'.__  | LOCK |  __.'\n";
    std::cout << "|   '.'.____.'.'   |\n";
    std::cout << "'.____'.____.'____.'\n";
    std::cout << "'.________________.'\n";
    std::cout << "\nYou have failed " << Fails << " times. Fail three times and it's over.";
    std::cout << "\nYou are a thief breaking into a level " << Difficulty;
    std::cout << " safe. \nYou need to enter the correct code to continue...\n\n";
}
bool PlayGame(int Difficulty, int Fails)
{

    Introduction(Difficulty, Fails);

    // Declaring 3 number code
    const int NumberOne = rand() % Difficulty + Difficulty;
    const int NumberTwo = rand() % Difficulty + Difficulty;
    const int NumberThree = rand() % Difficulty + Difficulty;

    const int NumberSum = NumberOne + NumberTwo + NumberThree;
    const int NumberProduct = NumberOne * NumberTwo * NumberThree;

    // Print sum and product to the terminal
    std::cout << std::endl;
    std::cout << "+ There are three numbers in the code\n";
    std::cout << "\n+ The numbers add up to: " << NumberSum;
    std::cout << "\n+ The numbers multiply to give: " << NumberProduct << std::endl;

    // Store Player Guess
    int GuessA, GuessB, GuessC;
    std::cin >> GuessA >> GuessB >> GuessC;
    
    int GuessSum = GuessA + GuessB + GuessC;
    int GuessProduct = GuessA * GuessB * GuessC;

    if (GuessSum == NumberSum && GuessProduct == NumberProduct)
    {
        if (Difficulty <= 4)
        {
            std::cout << "\nThe safe snaps open, revealing another safe!";
        }
        else
        {
            std::cout << "\n\nThe final safe swings open, your fortune is finally yours for the taking. Well Done.";
        }
        return true;
    }
    else
    {
        if (Fails < 2)
        {
            std::cout << "\nThat's not right...keep trying, your fortune awaits...";
        }
        else
        {
            std::cout << "\n\nThe alarms howl as you rush for the nearest exit...you have failed.";
        }
    }
    return false;
}

int main()
{
    srand(time(NULL)); // create new random sequence based on time of day

    int LevelDifficulty = 1;
    int MaxDifficulty = 5;
    int Fails = 0;
    int MaxFails = 3;

    while (LevelDifficulty <= MaxDifficulty && Fails < MaxFails) // Loop game until all levels are completed
    {
        bool bLevelComplete = PlayGame(LevelDifficulty, Fails);
        std::cin.clear(); // Clears any errors
        std::cin.ignore(); // Discards the buffer

        if (bLevelComplete)
        {
            ++LevelDifficulty;
            Fails = 0;
        }
        else
        {
            ++Fails;
        }
        
    }
    return 0;
}
2 Likes

Privacy & Terms