Thursday, February 23, 2017

Game Development: Boolean

What is Boolean? Well, Boolean, despite sounding like a funny word, is a condition that is true, or false, and is normally used in loops, such as this:
if (age < 16)
{
   Console.WriteLine("Welcome");
}
The IF statement has a condition, the piece of code within the brackets. The condition, in our case, says that if the variable age is less than the number 16, the program will continue and print out Welcome to the user. If the condition is false, however, the program will end. 

Within the condition in this if statement, we can use logic gates. Before I go on, there are 3 logic gates; AND, OR or NOT gate. 

AND
An AND gate will compare two conditions, and if only BOTH conditions are true, the program will carry on. Logic gates can be represented in a table, such as the one I will attempt to make below.

A    B   Output
0    0    0
1    0    0
0    1    0
1    1    1

The table up above shows a visual representation of the definition I have given. If both conditions are false (0), the output will be false, and the program will end, or simply, it will not commence through with the statement. If one condition is true (1), and the other is false, the output will be false again. In order for the program to continue or commence with the statement, both conditions needs to be true. An AND operation can be expressed by using && within the condition in C#. 

OR
An OR gate will compare two conditions, and if ONE condition is true, the program will carry on or continue. 

A   B   Output
0   0   0
1   0   1
0   1   1
1   1   1

If no conditions are true, the output will be false, and the program, as mentioned countless times before, will end. An OR operation can be expressed by using || within the condition in C#.

NOT
A NOT gate is different than the other logic gates that I have mentioned. The previous logic gates has 2 conditions, whereas a NOT gate only has 1 condition. If one condition is false, the output will be true, and vice versa. 

A   Output
0   1
1   0


As mentioned before in the previous blog entry, I was reading a book by Roland Backhouse, called Algorithmic Problem Solving, and I covered the first chapter of the book about algorithms. C# and other form of high-level language programs available are all mathematically based, meaning that most of the keywords the program has in its System (using System;) is, in some way or form, is connected to maths. Most of the functions we have in C#, are all math symbols.

Functions used in C#
< or > = Greater or less than
<= or >= Greater than or equal to, less than or equal to
= = The assign value (the program takes whatever is on the right, and assign it to the left)
== = Equal or equivalent to
!= = Not equal to
+ - * / = Add, subtract, multiply, divide
-- = Minuses 1 every time a loop is successful
++ = Adds 1 every time a loop is successful

These are some of the functions the user is able to use at their disposal. Some of these functions can be used in conditions, as mathematical equations, comparing 2 values and allowing an if statement or loops to commence within a program. 










Thursday, February 16, 2017

Game Development: Algorithms

Recently, I was reading a book, called Algorithmic Problem Solving, by Roland Backhouse, and it was rather interesting. Unfortunately, however, I didn't get to finish the book, but I did manage to get a good read of the first chapter, algorithms.

So what is an algorithm?

What is an algorithm? Well, the definition algorithm means "a well-defined procedure, consisting of a number of instructions that are executed in turn" (Roland Backhouse, 2011). Essentially, what this means is that its a set of instructions for a computer, which has to be really precise when being written. People nowadays think that computers are really smart. Sure, they seem to be smart, but in actual fact, they are rather "dumb" (Backhouse, 2011). They are smart in terms of the complex instructions they can execute, but they are also dumb because the algorithm that is sent to the computer must be precise and very detailed, as to what you want the computer to execute. Like what my programming lecturer said, during my first day at SAE, he said:
"Imagine that there is this person inside the computer. He has access to everything the computer has, but he is very stupid. Whenever you code or program something, make sure to be very precise and very detailed in what you want to do. This means you have to be careful with your spelling, case sensitive words and more". I will include an example in C#:

1) using System;
Console.WriteLine("Hello World");
-----
2) Console.WriteLine("Hello World");

In example number 1, it shows "using System;". What this means is that you're telling the computer to (in the words of my lecturer) retrieve a book which has ALL the definitions, keywords and functions that the computer has stored in its memory, such as the keywords Console.ReadLine, Console.ReadKey and more. What this means is that, without the line "using System;", the program wouldn't be able to understand what "Console.WriteLine" is, which leads onto the second example. If we were to run the 2, example 1 would print "Hello World" onto the screen, and example 2 will not print out anything, but will give an error., saying that "Console.WriteLine" is not defined.

Algorithms have an input-output relationship (Backhouse, 2011), meaning that algorithms will normally require an input, and with this, the computer should compute an output, such as the example in the book:
"Four people wish to cross a bridge. It is dark, and it is necessary to use a torch when crossing the bridge, but they have only one torch between them. The bridge is narrow, and only two people can be on it at any one time. The four people take different amounts of time to cross the bridge; when two cross together the proceed at the speed of the slowest. The first person takes 1 minute to cross, the second takes 2 minutes, the third 5 minutes and the fourth 10 minutes. The torch must be ferried back and fourth across the bridge, so that it is always carried when the bridge is crossed. 

Show that all four can cross the bridge within 17 minutes. 

A typical instruction for this problem would be: "person x and y cross the bridge" or "person z crosses the bridge". The sequence of instructions solves the problem if the total time taken to execute the instructions is (at most) 17 minutes." 











References:
Backhouse, R. (2011). 1. Introduction 1.1 Algorithms. In Algorithmic Problem Solving (pp. 3-6). John Wiley & Sons.
Hartnett, K. (2016, May 27). What people can learn from algorithms — and algorithms can learn from people [Digital image]. Retrieved February 16, 2017, from https://www.bostonglobe.com/ideas/2016/05/27/what-people-can-learn-from-algorithms-and-algorithms-can-learn-from-people/R7XJ1TgLnyZCOnmzBryh5H/story.html













Thursday, February 9, 2017

Games Development: Hideo Kojima

Hideo Kojima
Who is Hideo Kojima? Hideo Kojima is a Japanese games designer, who is the mastermind behind the fantastic series, Metal Gear Solid. To those who don't know what Metal Gear Solid is, it is a stealth action game, based in the Cold War era, where the player plays as multiple characters, depending on the game title. The usual protagonist the player plays is Big Boss, and Solid Snake. Since Metal Gear Solid is a huge franchise, with more than 15 installments (19, to be exact), I will be talking about Metal Gear Solid: Peace Walker.

In Metal Gear Solid: Peace Walker, you play as Big Boss (a.k.a Snake) who was wildly known as a hero in the United States. However, he disappears from the US, and makes his own military group, called MSF (Militaires Sant Frontiers - Soldiers Without Borders), with his partner, Kazuhira Miller. The game is set mid Cold War, during the 1960's, and the threat of nuclear war is rising. A scientist tries to launch a nuclear missile, in the hopes that the nuclear deterrence theory will be true, to achieve "true" peace.
Metal Gear Solid: Peace Walker Cover Art

Up above was the basic plot of the game. The game play is pretty simple, not too complex, which is good to anyone who is knew to the game play mechanics of the stealth action genre. The game has a noise detection mechanic, where if the player moves around too much, the enemy or AI will be able to detect the player. A rather simple, yet positive aspect of the game, which encourages the player to think on their route.

Another good aspect of the game is that since Big Boss has a military of his own (MSF), the player has the option to capture enemies and hostages, in the hopes that they will join your command. Each NPC (non-playable character) has a skill that they are proficient in a skill (Research & Development, Combat Unit, Medical Team, Intelligence Team and the Mess Hall team). Each skill will have their own perks. For example, if a player's R&D team is high enough, the player has the ability to research better gear, equipment or weapons for future missions.

Metal Gear Solid: Peace Walker skill icons (From left to right: Combat Unit, R&D, Mess Hall Team, Medical Team, Intelligence Team)



However, everything has a bad side, and one of them about this game is the unrealistic boss fights. The boss fights varies in the game. It goes from tanks, to helicopters, and all the way to weird machines (called Metal Gears) which has ridiculous amounts of health. When playing the game, the player will have to conserve ammo, or research a supply marker, allowing the player to call ammo packages during the battle... but usable for 10 times only, per mission. Imagine yourself, in a battle, with no ammo, up against a boss that is way too difficult to kill, would be very disastrous, and rather rage inducing.

Another negative about the game, which is tied up with the boss fights and supply markers, is the health system. Each player has different health points, depending on how high their combat level is (the maximum health points being 9999). The game features a food system, where the player will have to reserve space for rations, as medical kits. Of course, in a fight, the player is bound to lose some health, due to the enemy returning fire, which is fine. However, just like the supply markers, the player is limited to 4 rations, which is really not enough in a boss fight. And of course, if you run out of rations, you'll have to restart the whole mission. Oh did I forget to mention that there are no checkpoints?
Metal Gear Solid: Peace Walker Ration icon

These aspects are really common in most of the Metal Gear Solid franchises, and despite the negative aspects of Hideo Kojima's work, he does inspire me to become a really good games developer/designer. Despite the really bizarre concepts with Metal Gears, his attention to detail, game play and mechanics do make him my inspiration. I believe that paying attention to detail (like shooting lights, allowing to conduct electricity on conductive materials such as water and metal and more) lead to a good game. Its these small, little details that allows people to feel immersive in games, making them crave for more. I did forget to mention that the story in the Metal Gear Solid franchises do feature a really good story line, which also inspired me to be a good games designer/developer. A good story makes a game interesting to play, and I do agree with this.


References:
Fulton, W. (2015, October 20). KONAMI STILL INSISTS THAT HIDEO KOJIMA WORKS THERE, DESPITE MORE REPORTS TO THE CONTRARY [Digital image]. Retrieved February 9, 2017, from http://www.digitaltrends.com/gaming/kojima-konami-vacation/

MEMORABLE METAL GEAR MOMENTS: TRUCKLOADS OF EASTER EGGS [Digital image]. (2014, February 22). Retrieved February 9, 2017, from http://www.metalgearinformer.com/?p=12190

Metal Gear Solid Peace Walker Cover Art [This is the cover art for Metal Gear Solid: Peace Walker. The cover art copyright is believed to belong to Konami. ]. (n.d.). Retrieved February 9, 2017, from https://en.wikipedia.org/wiki/File:Metal_Gear_Solid_Peace_Walker_Cover_Art.jpg

Ration [Digital image]. (n.d.). Retrieved February 9, 2017, from http://metalgear.wikia.com/wiki/Ration










Thursday, February 2, 2017

Games Development

Hello everybody and welcome to my journey through my Games Development course. For the first post, I'm going to talk about where I see myself in the next 5 - 10 years. 

When I was the mere age of 6, I was given a Game Boy Advance by my mom, my first ever gaming platform I had in my life. I immediately fell in love with my first gaming experience and from there, I have never stopped playing games. As I grew older, the more I understood about games and what they were and the more games I played of course. And with that being said, it inspired me to become a game developer. My parents told me: "Turn your passion into your career. Don't wake up one day feeling like hell because you don't want to go to work. Wake up feeling happy to go to work". That was one of the best advice given to me, and I do believe in what they say. With the course that I'm taking at SAE, I am finally one step closer to my dream, working for DICE (Digital Illusions Creative Entertainment) or Ubisoft. In the next 5 - 10 years, I hope that I will be in Ubisoft so that I can get the necessary experience to work with DICE.

Why DICE you might ask? Well, from the games they make (Star Wars: Battlefront and the Battlefield series), I really loved the amount of realism they included in the Battlefield series. The destructive environments, the big maps and the level of details they included in the game, such as bullet drop. The games they made, made me glued to my chair, however, there were some things that they missed that annoyed me a bit. With that being said, I would like to work with these companies and hope to tweak these minor bugs and errors or missing features. 

DICE (Digital Illusions Creative Entertainment) [Digital image]. (n.d.). Retrieved February 2, 2017, from http://mirrorsedge.wikia.com/wiki/File:DICE_logo.png
Why Ubisoft? Although they don't know how to make servers or keep one up, they do make great games, such as the Splinter Cell series, Watch Dogs series, The Crew and the latest game that is coming up in Valentine's Day, For Honor. The level of detail they pay attention to is absolutely superb. If a player were to shoot a light source, the light source would break, giving yourself an advantage over your enemies. The stealth aspect in most of the games they have have been executed perfectly. The AI, level design and mechanics are well made. I believe that Ubisoft is a good start for achieving my future dreams. 

Ubisoft Logo [Digital image]. (n.d.). Retrieved February 2, 2017, from http://thekoalition.com/2016/ubisoft-executives-accused-of-insider-trading