To what extent can we make a motion-controlled game that is also profitable?

0 9058 Easy
projectImage

Introduction

We all love gaming, we all own a Playstation 4, and have played games for many hours. Often we play multiplayer games together, but we also play single player games. Because we know a few things about gaming, we had a great idea for our thesis: What if we made a game ourselves and control it in a new, unique way? This idea evolved into our main thesis question: To what extent could we make a motion-controlled game that is also profitable?

Our main goal for this project was to create a game ourselves with a new method of controlling it. We wanted to experiment with a new control system because games nowadays are mainly controlled in two ways, with a controller or a keyboard and mouse. These methods are the most popular, but there is an underlying problem with them. A lot of gamers spend a lot of time sitting and not moving around much, is one we try to solve with our research.We wanted to research for ourselves whether games could be played differently and if this problem could be resolved. After all, gamers are always sitting down and not moving around much, but what if we could change that? To change this we decided to make a new console which is controlled by motion and test its viability based on our main thesis question.

Sub-question 1: How does the Huskylens work and why did we use it?

The Huskylens is a piece of hardware made by DFRobot. The Huskylens has different functions and can be used for different purposes.[1]

What is the Huskylens able to do?

The Huskylens has 6 different modes: Facial recognition, object tracking, object recognition, line tracking, colour recognition and tag recognition. The algorithms for these modes are already built into the Huskylens.

Facial recognition mode recognises and identifies different faces. Put the Huskylens on the facial recognition mode, aim the camera of the Huskylens at your face, press the learn button for a few seconds and let it go. What has happened is that the Huskylens has now learned your face and is able to recognize it. If different photos of the same face are put in front of the camera, the Huskylens will be able to recognize the learned face and distinguish it from others.

The object tracking mode allows the Huskylens to track any object if it has been “learned” first. When the Huskylens is put on the object tracking mode the room has to be well lit. If the room, hallway or house is not well lit, the Huskylens will have a hard time finding the object and this could cause issues. For the Huskylens to be able to track an object it has to be learned first. You need to put the Huskylens on the mode object tracking. After that, there must be an object put in front of the camera and the learn button has to be pressed for a few seconds and then released. There will be a square around the object and the Huskylens will automatically track it.

The object recognition mode ensures the Huskylens can recognise a variety of objects. Using the object recognition is quite easy. For example, put a picture of a dog in front of the camera. Aim the camera in a way that the picture is in the middle of the screen. Now press the learn button for a few seconds and release. The Huskylens is able to recognize the dog and if pictures are shown of the dog, the Huskylens will identify the object as a dog. The difference between object tracking and object recognition is that when object tracking is used the object will be followed automatically. If object recognition is being used, the object will not be tracked, only identified.

The line tracking mode can be used for specific sight line tracking. Line tracking is the most ideal mode if the Huskylens is used as an eye for a robot. Firstly, some sort of track has to be laid down to follow. After that, the mode line tracking has to be selected, then the camera has to be aimed so the track is in the middle of the screen. Then again the learn button will be pressed, held for a few seconds and released. When this has been performed, the Huskylens will be able to follow the line. If a car or some other object on wheels is made, then this robot will be able to follow the path.

If the lines of a path cross, then tag recognition is the perfect mode to have the robot follow the correct path. If a tag is placed next to the path where two paths cross, the Huskylens will look at the tag, recognize the function with the tag and act accordingly. If laid correctly, the path the robot can follow will be more intricate than the paths made with line tracking.

The mode colour recognition is used the same as object tracking. The only difference is, the Huskylens recognizes colours instead of objects and counts how many objects have the same colour.[2]

For what other purposes are the techniques in the Huskylens used for?

One of the most used techniques in the Huskylens is facial recognition.

“In total, there are now 109 countries today that are either using or have approved the use of facial recognition technology for surveillance purposes.”[3]

Facial recognition is one of the most used techniques around the world. It is most commonly used to track down criminals.

Together with facial recognition, object recognition and tracking is commonly used in surveillance cameras. “Object tracking has many practical applications including surveillance, medical imaging, traffic flow analysis, self-driving cars, people counting, audience flow analysis and human-computer interaction.”[4] China is the biggest user of this technology. For every 12 Chinese citizens there is 1 camera. China also sells the technology to 16 different countries.[2]

Line tracking is mostly used in building robots that move on their own and are able to follow a line. In this day and age, there are not yet many applications for this type of technology, but it could be used to make a robot go up and down a hallway with cargo.

Why did we use the Huskylens?

We chose the Huskylens due to the built in algorithms and its ability to transmit data quickly and efficiently. We used the mode object tracking to track 1 or 2 points and gave the positional data to the computer. With the positional data we were able to get the car which we used in our game to increase speed, brake, and to get it to go to the left or to the right. The Huskylens tracks the movement of the points and, due to the fact that the data is transmitted quickly, the Huskylens is ideal to get a fast input and have the car in game react quickly.

Sub-question 2: How does the development of a game go?

The development of a videogame is a long process that could become very expensive.

The creation of a videogame goes in different phases., which can also be categorised into different steps. The development goes from an idea, to code, to marketing and eventually the release day.

Initial phase

In the initial phase of the game development it is decided what type of game will be produced. Is it going to be a First Person Shooter (FPS), a racing game, an open world game, a role playing game (rpg), grand strategy or a tower defence? Next to that decisions have to be made about if the game will be multiplayer or if the game will only be single player. Then there are the maps, level design choices and if the game is going to be story driven or just playable levels and seeing how fast people can beat one.[5]

If the choice is made for a story driven game, the consequence is that the developers have to think about the characters, how they look, what their personality is, what the character norms and values are and much more to make the characters as realistic as possible. This is all done with the goal that potential players will make a connection with the main character and will really get immersed in the game.[6]

At the same time choices have to be made about how the world looks and how levels are going to be shaped. So the first step in making a game is brainstorming. When all ideas have been brainstormed and the developer gives the green light, the real work is about to begin. They start off with making concept art. Concept art is most of the time 2 dimensional drawings of what characters will look like and how levels will be played. Concept art is made to get a view of what the game is going to look like.

At the same time another team will already be working on the goal of the game. Is the goal of the game to be the fastest, the last man standing, or playing through a story and finishing it? These days story driven games also have multiple endings, which means they need 2 or 3 times as much work as usual. The developers have to decide what kind of choices the player can make to impact the story of the game.

Another team will work on how the game will work internally. Questions like: What buttons drive what actions? What are the characters able to do in the game? How high can a character jump and how hard can they run? After all these questions are answered they have to be overlooked for practical uses. If the choices are not practical, the team has to change them until it is perfect. When all the concept art is finished and the game developer is happy with the pitched project, then the game will be put into the next phase of development.

Program phase

This is the phase where the game really gets put into shape. “Once all the elements of the video game have been designed, it's up to computer experts to put it all together to make it work effectively as a video game. All the characters, settings, sounds, and gameplay elements must be programmed to work together seamlessly.”[7] This means that programmers and 3 dimensional artists have to get to work. The programmers have to write thousands and thousands of lines of code for the game to work. The 3 dimensional artists have to make the characters, that are made in the 2 dimensional concept art, into 3 dimensional characters, also called a character model.

Besides character models, they also have to make models of the trees, the ground, the animals and many more. Eventually everything the player will see is a model. The map designers go to work at the same time. Their job is to make the environment of the game. Eventually they will have made all the maps that will make it into the game. For example, map designers receive the concept art for a forest map, which they then have to make look as realistic as possible.

When that has happened, it is up to the programmers to get all the different components, levels, characters, music and options to work together. Getting all these components to work together goes wrong sometimes. Small mistakes could come to the surface. A bug is a small mistake that creates problems and breaks something in the game. For example, a small piece of image is blurred or a small piece of clothing of the characters looks weird all over the screen. These mistakes can sometimes make the game unplayable, which are then called game breaking bugs. For example, if after a certain point in the game the game freezes and does not start. Game breaking bugs can also cause the game to crash.

When the game crashes, the game has to be closed and restarted to get the game working again. With thousands of lines of code, it is hard to find the small mistakes that create these bugs and remove them. In order to make this easier, programmers can use a debugger. A debugger searches the code and finds the bug. When the bug is found, the programmer can remove the mistake and the game will work properly.

Testing phase

The testing phase and the program phase go together. If the game has been mostly completed so that it can be played, it goes into pre-Alpha testing. This means that the programmers and testers inside the company can try out the game and see how it works. When the game is in pre-Alpha testing, a lot of bugs will be found. Other things the testers are looking at is how smooth the game is when it comes to performance, such as frame rate and graphic performances, and what can be improved. When all the improvements have been decided upon it is sent back to the programmers to implement the improvements into the game.[8]

When the game has been improved, it can go into Alpha testing. Alpha testing is also done in closed circles. Although some video creators and review writers are invited to try out the game. These people have to sign a contract saying that they cannot leak any information about the game to the general public. The version of the game used in Alpha testing is in an early stadium and might not even be complete at all. The people invited for Alpha testing will also be asked questions on how to improve the game. After all the feedback is collected the feedback is given to the programmers to implement in the game as they see fit. Implementing the feedback could go on for several months.

After these months are over, the game goes into Beta testing. This could be in closed circles or open to the public somewhat. In that case the people who pre-ordered the game or who were invited for the beta can get a code and play the game to help develop it further. On the other hand Beta testing could also fully be in public circles. Then the game is put online and everyone can try it out for themselves. The game developers receive an enormous amount of data this way. There also will be discussion about the game online and the developers can find feedback there too. The feedback will be looked over and small changes will be made, but mostly the game is already finished, unless game breaking bugs are discovered at this stage. .

Marketing phase

The target of the marketing phase is to reach the biggest public possible. To reach the biggest public possible certain strategies will be put into effect. Advertisements, trailers on YouTube, game conventions, and to get reviewers and influencers to talk about the game.

Advertisements can be brought to people in different ways. On billboards next to the road, on banners outside of stores and in magazines. Advertisements could also be placed on the side of football stadiums and shown when matches are played, or in video games with sports video games. This is called in-game advertisement, it is done the same way as with a normal sports game, but then in a video game.[9]

Another way of advertising that has been mentioned is trailers for YouTube. The trailers can be gameplay trailers or cinematic trailers. In gameplay trailers, information will be shown of how the game plays and small pieces of the maps and gameplay will be shown. Cinematic trailers are made purely to put the game in the best light and create hype. When the hype for a game is large , a lot more people will talk about the game and the more people will buy the game.

Influencers also can create this effect. An influencer is a popular person with a large platform and a lot of followers. These influencers get paid by the company that develops the game to talk about and promote the game. Companies can pay influencers, but they can also lure them in by inviting them for Alpha and Beta testing. Due to the influencers’ power on social media and their reach a lot of people will hear about the game.[10] It is also smart for the developers to stay in touch with the fan base through social media. In that way, the developers have a direct way of contacting the fan base and look at the improvements suggested by fans.

Release day and after

The release day is the most exciting day for the whole studio. On this day the most amount of copies will be sold and the game will be highly talked about. In the first two weeks, if the game is successful, a lot more copies will be sold, but after that the sale numbers will drop fast. To keep people interested in the game, updates can be added with new content for the game. For example, new maps and cosmetic items. For these new maps money is often asked. The cosmetic items are mostly added for free, but money could also be asked for them, which is usually called micro-transactions, if people are forced to pay for cosmetic items or maps on a per object or map basis. This is a very popular revenue model with games and a good way to make money after release.

Our project

In the beginning phase we had a lot of discussions. From the type of game to how we wanted to control the game. Eventually we decided to create a racing game without a storyline. The goal of our game has to be the fastest. Our game would be controlled by real movements with your arm and a controller that you hold in your hand. We also wanted to make our game for computers only. Attempts have been made to create our own car models, but this was very hard and time consuming so after completing one model we dropped it. The programming phase went smoothly and the bugs we found while playtesting were easy to remove from the game.

Sub-question 3: How will the controller work?

What is a gaming console?

Games can be played in two ways: on a console or on a computer. A console is a small computer designed to do specific tasks. In a gaming console, these tasks are executed to make it possible for users to play games. This happens with the use of the CPU and GPU just like a computer. The most popular consoles at the moment are Playstation, Xbox and Nintendo Switch.[11]

Gaming consoles are easier to set up than a computer and do not require as much technical knowledge. They, moreover, cost less, generally load games faster and make it easy for users to play with friends on other consoles. It is also easier for game companies to make games for consoles than for computers because consoles contain specified components where computers can be built in thousands of different ways. So games for consoles can be made to run perfectly using these specified components.[12]

How does the connection between console and controller work in existing consoles?

Most of the time, a controller is needed to make a user communicate with the gaming console. A controller is a device which makes it possible for gaming consoles to receive commands. These commands enable the player to play a game on the console.[13]

When the player wants to send a command and presses a button, an electrical circuit is completed. Because of this, the device in the controller knows that the player wants to send a certain command. The device translates this command to a signal which can be transmitted to the gaming console. The console receives this signal and translates it back to the original command which is, for instance, taking a step forward or looking in a slightly different direction. The communication between console and controller usually goes two ways. The controllers sends commands to the console, but the console also sends commands to the controller. The commands that are received by the controller make it, for instance, shake in the hands of the player, this type of haptic feedback helps with immersion.[14]

Nowadays, most of the controllers are wirelessly connected to the console. As a consequence, players have more freedom in movement and using the console is safer. Wireless controllers transmit signals by using electromagnetic waves instead of a wire. When the player presses a button, an electromagnetic wave with a frequency of 2.4 GHz will be transmitted by the controller. This signal with the corresponding command will be processed by the console in the same way as with a wired connection.[15]

How will the connection between our console and controller work?

Just like other consoles, our console has to be able to receive signals that are transmitted by the controller. These signals will not be transferred by using a cable or electromagnetic waves. They will be sent using light. Even though light is a form of electromagnetic radiation, this way of transmitting signals is significantly different than used by existing consoles. They send signals using electromagnetic waves with a frequency of 2.4 GHz while the frequency of light is between 0.40 and 0.75 PHz.

The console consists of a Huskylens connected to an Arduino. The two devices are covered by a plastic cover. To set up the controller, it has to be connected to a computer using the USB-port on the back of the console. The controller is a distinct object that is easily recognizable for the Huskylens.

The communication between user and console takes place in different steps. It begins when the player moves the controller. This movement or rotation can be determined by the change of position or size of the point that is currently being tracked by the Huskylens.[16] The values that correspond to the movement are sent to the Arduino. The Arduino receives the values and processes them. The result of these calculations is the distance from the Huskylens to the controller and the rotation of the controller.[17]These results will be sent to the computer. When the results reach Unity, the game engine, it will execute the command that was sent by the player. This could, for instance, be steering to the left or accelerate the car.[18]The communication will take place multiple times per second which makes it possible to play the game.

How will the console and controller look?

projectImage

Sub-question 4: What is a game engine and which one are we using?

What is a game engine?

Every game uses a game engine. A game engine does several things. The most important of which are:

- Rendering: Loading objects in the game.

- Audio: Playing music and other sounds.

- Logic: Making every feature in the game work.

- Graphics: Display the game with all its details.

Bigger game engines also work with Multiplayer, Artificial Intelligence and Physics. [19]

Formerly, every new game required a new game engine. When gaming became more and more popular, game companies made their own game engine that they could use for multiple games. It is a great solution which saves these companies lots of time because every game engine executes the tasks that are mentioned above in a similar way. Different types of games, however, might require different game engines, but making a few changes to an already existing game engine is enough to make it fit to the needs of a new game. [20]

Nowadays, game engines are extremely accessible. However, some game developers still choose to make their own game engine. This is necessary when none of the existing game engines fit the needs of a certain game. The making of your own game engine is, however, a lot of work. For a start, it requires a lot of knowledge, experience, time and money. It is also necessary to make a good design for the game engine, because it can barely be changed when the development of the game has started.[21]

Which game engine are we using and why?

There are a lot of game engines available to us. The two that are most known are Unity and Unreal Engine. They both have advantages and disadvantages , but the choice between them mostly depends on what game you are making.

Unity is the most versatile of the two. Every sort of game can be made using the Unity game engine.[22] It is easy to learn for beginners, because Unity has a simple interface and uses the relatively easy programming language C#.[23] Unity also has the biggest community. This means it is easier to ask and get help when needed. Another advantage of using Unity is the asset store. This is a place where you can download assets like models and directly implement them in your game. The Unity asset store has an extremely large amount of downloadable assets which can make developing a game a lot easier. The biggest disadvantage of using Unity over Unreal Engine is the performance. Games made with Unity don’t always run optimally, which could make a game less enjoyable.[24]

Unreal Engine is the more complicated, but professional game engine. Advantages of using Unreal Engine are the better graphics and performance.13 Unreal Engine is deemed to be better for making 3D games than Unity, but getting good in making games with Unreal takes a lot more time because it is much more difficult than Unity. Unreal was, furthermore, made for shooters. This is noticeable when making other sorts of games. Other disadvantages of using Unreal is the time the engine needs to build the game so it can be played and that it doesn’t use C#, but the relatively more complicated C++. Making a game with Unreal does all in all take more time. To shorten this time, Unreal implemented the feature blueprints. It is a system which people can use to make games without writing any code.[15]

Before choosing between the two engines, we first needed to make sure they both could be connected to an Arduino so that it is possible to play the game with the console we are making. In both Unity and Unreal Engine[25] this is possible. Unity can receive input from the Arduino with the use of code. Unreal Engine can also receive the input with the use of blueprints.

Even though the game we are making is a 3D racing game and Unreal Engine is deemed to be the better choice for 3D games, we chose to use the Unity game engine. We are, first of all, not even close to being experienced in making games. Unity has proven to be the best choice for beginners. We, secondly, only have a certain period of time to make a game. By choosing Unity, we can make a complete game instead of an unfinished game with Unreal Engine. Even if it does not have the best graphics or performance, Unity still is the best choice for this project.

Sub-question 5: What else could we do with our product?

Does it work with existing games?

Of course it is fun to play one game with our console, but it would be even better if we could also play other games with our controller. There are many different ways to use controllers on a computer. Windows itself has been supporting the use of Xbox controllers for a while now. However, it used to be a requirement to download third-party programs in order to play games with other controllers. Programs such as DS4Windows were created specifically for this purpose.

Nowadays it has become easier. Steam, one of the biggest distribution platforms for games, has been offering support for controllers like the Dualshock 4, Xbox One controller and the Nintendo Switch Pro controller for a couple of years. This is probably the easiest way for us to use our controller with other games. If we could, through the Arduino, make our controller output look like that of a supported controller, we could use it to play games on our computer. The great thing about this is that Steam lets you customize your controller layout per game so that we could create different input settings for every game we want to play. [26]

The only problem we could still run into is the controller input. Most modern controllers, like the Dualshock 4 and Nintendo Joy-cons, have more than 18 ways to give input, two of which are joysticks. In fact, some controllers even have two to six extra buttons on the back of the device. If we could find a way to implement so many ways to give input on our controller, we would gain access to a ginormous amount of games. At this point in time no less than 2000 of the 42000 games on Steam have special controller support.[27]

What games could be made for this controller. ?

That there are so many possibilities for our controller does not mean that it would be ideal for every game you could play on Steam. After all, a lot of games require you to give multiple inputs at the same time which would be hard to do with our controller. Besides, not everyone would want to play every game with our controller. That is why we did research to see what games people would want to play with movement.

From our survey we could gather that most people would like to play fighting games with our controller. Games like Street Fighter, Tekken or Super Smash Bros fall into this category. It would be hard for us to make fighting games using our console because, in fighting games, combos are very important and it would be hard to pull off these techniques with motion.

64% of people also wanted to play First Person Shooter games, or FPS games for short, with our controller. Even though a game like Call of Duty would be hard to make, a game where you stand still while waves of enemies come at you would be doable. A small majority of people, about 54%, want to use our controller to play sports games. This is not very surprising knowing that Wii Sports was the best selling game on the Wii, console controlled by motion. Making a sports game that is fit for our controller would be unlikely to cause any major problems because you could use it the same way you use a Wii Remote in Wii Sports.[28]

The kinds of games the least amount of people wanted to play with our controller were platformers, board games, MOBA games and Real-Time Strategy games. Real-Time Strategy games, or RTS games, would be far too complicated to make suitable for our console. There is a reason why almost no RTS games have controller support on Steam.[29]

It is almost impossible to play such a game without a keyboard and a mouse. Board games would also be hard to make compatible, mainly because our controller would not be precise enough when playing a game like chess.

MOBA games have an entirely different problem. MOBA stands for Multiplayer Online Battle Arena and these games are therefore played exclusively online. Our controller would unfortunately have more input lag than a keyboard and mouse. Even if we made our controller compatible with MOBA games, you would be at such a disadvantage that you would always choose to use a keyboard and mouse over our controller.

Then, at last, we can discuss platformers. These kinds of games would be pretty easy to make fit for our controller. Most platformers only require a small amount of inputs.

With these results we can conclude that there are many possibilities for our controller.

Even though not every genre of games is compatible there is still a lot to choose from.

Sub-question 6: How can we make the game as realistic as possible?

“‘Realism’ in games is not a single, unified idea. Instead, the concept of realism can be applied to numerous different aspects of a single game, and the amount of realism can vary in each.”[30] A game has a lot of different aspects. For instance, it has to look good, the choices characters make have to fit with their character, then there are the laws of physics and much more. That is why a game usually spotlights one type of realism and lets the others stay in the background.

Visual realism

This type of realism has all to do with what a person sees on their screen. The graphics, everything a player sees, look amazing and as real as possible. For example, trees have a specific structure to their trunk. In a game with bad graphics, a tree trunk looks more like a flat stick than a tree trunk. While in a game with good graphics there are as many tiny details on the trunk as in real life. Another example is a car. Instead of the car looking like it was drawn by a toddler, the car has to look smooth and attention has to be paid to the tiniest details.[31]

Mechanical realism

How does a person react to a car speeding by? Does a car stop when it drives against a tree or does the tree fall down? Mechanical realism is all about how the environment reacts to actions the player makes. Getting mechanical realism perfect is practically impossible, due to the unpredictability of the real world.[30]

Physical realism

The laws of physics are an important part of our world. If a game is set on earth, we expect that the same laws of physics apply to that game as in our normal lives. This means that the in game engine has to have a very good physical model that drives the game. This is very hard to get just right, because it can really easily create bugs if even one small thing is not placed correctly or at all . To find these bugs is very difficult and to remove them is even harder.[32]

Character and story realism

When this type of realism is highlighted, there will be a lot of attention to the storyline and characters. What is the character of a person, what does he or she feel, how does it impact his or her choices. This type of realism could be achieved in different ways. If it is about human characters on earth, then it is all about if the choices are human or not. If the story is in a fictional world, then it just has to follow the rules of the world the story takes place in.[33]

Historical and cultural realism

If a game is set in history, then thorough research on the time period has to be performed. The realism in this case is all about if something really did happen or not. For example, what if the American Civil War was won by the conservatives, then the game is not historically realistic. The same counts for a game set in Ancient Greece , if people living there were wearing jeans then it would not be accurate.[33]What type of realism do we choose?

The realism we find most important is: physical realism. This is the type of realism that we can best achieve with our resources. This is also due to the fact that certain types of realism are not really necessary for our game . There is no historical or cultural realism needed in our game, because our game is a racing game. It is purely built to see how fast a parkour or circuit can be driven. For the same reason character and story realism also fall off. It is very hard to get the game to look graphically correct. AAA games have pushed the boundaries on this, but certain things still look off to the human eye. Furthermore, this type of realism takes years to achieve, time we did not have. Another problem is that graphical realism creates the need for a better graphics card. The better a game looks, the harder it is to render. It is also not very smart to ask for a high end graphics card to play a game developed by 3 people. The reasoning behind this is, in the initial phase, we need to reach a big enough audience to get going. We would be eliminating a big target audience, since a lot of gamers do not own high-end graphic cards. To get as many people as possible to play the game, the smartest option is to go for physical realism.

How did we implement physics into our game?

Initially, our plan to implement physics into our game was to try making our own physics engine and making it as accurate as possible. This plan appeared to be a lot harder than we expected. Eventually, only gravity was being simulated using our own code instead of all physics. To replace our own physics engine, we invented Physics Mode. The button ‘Physics Mode’ can be clicked while playing the game which makes the player see the physics that go with driving a car like, for instance, velocity, acceleration, kinetic energy and different forces.

The following variables are implemented in the game. The code we used to make it is under the explanation in black.

1. Time

The time that has passed since starting a certain level can be determined by continuously adding the time that is elapsed in the last frame to the total amount of time elapsed.

CODE
name += Time.deltaTime;

2.Mass

The mass is a constant that can be directly transmitted from Unity into the code. The mass of the wheels, however, still has to be added. In our game they weigh 20 kilograms each, so 80 must be added to the total mass.

CODE
mass = rigid.mass + 80;

3. Distance Traveled

The distance the car has traveled in a certain frame can be calculated using the current position and the position before the last frame.

projectImage
CODE
distanceTraveled = Convert.ToSingle( Math.Sqrt(
(transform.position.x - xposition) * (transform.position.x - xposition)
+ (transform.position.y - yposition) * (transform.position.y - yposition)
+ (transform.position.z - zposition) * (transform.position.z - zposition)
)
);

4. Distance

The total distance is the sum of the distances that are traveled every frame. After each frame the following calculation is made.

CODE
distance += distanceTraveled;
projectImage
CODE
speed = Convert.ToSingle( Math.Sqrt(
xvelocity * xvelocity + yvelocity * yvelocity + zvelocity * zvelocity
)
);

6. Average Velocity

The average velocity can be calculated using the total distance that is traveled and total time that has elapsed.

projectImage
CODE
averageVelocity = distance / time;

7. Acceleration

In our game, acceleration is the difference in velocity between frames. So, the acceleration in a certain frame is the difference between the current velocity and the velocity before the last frame.

CODE
acceleration = (Convert.ToSingle( Math.Sqrt(
xvelocity * xvelocity + yvelocity * yvelocity + zvelocity * zvelocity
) - velocity)) / Time.deltaTime;

8. Angle

The angle the car is on can be determined using two points in the car. In our game, they are called angleCube1 and angleCube 2. With the use of goniometry and the fact that the two points are three meters apart, the angle can be calculated.

projectImage
CODE
angle = Convert.ToSingle( Math.Asin(
(angleCube1.transform.position.y - angleCube2.transform.position.y) / 3)

9. Gravity

The size of the gravitational force depends on its mass and the gravitational acceleration. On earth, this is 9,81 m/s².

projectImage
CODE
gravity = -9.81f * mass;

10. Normal Force

The size of the normal force can be determined using the size of the gravitational force and the angle of the surface. When the car is on the surface, the angle of the surface is the same as the angle of the car. When the car is in the air, it doesn’t experience any normal force, because the car is not in contact with the surface.

projectImage
CODE
normalForce = Convert.ToSingle(Math.Cos(angleRad)) * gravity;

11. Motor Force

The motor force can be calculated using the torque of the motor and the radius of the wheels. For our car, torque is 3500 Nm and the radius of the wheels is 0.37 meter.

projectImage
CODE
wheelRadius = 0.37f; fullTorque = 3500;
motorForce = fullTorque / wheelRadius;

12. Net Force

The net Force can be calculated using Newton’s Third Law of Motion.

projectImage
CODE
netForce = mass * acceleration;

13. Total Resistance Force

The net force is the sum of every force that works on the car. Knowing this, we can calculate the force friction and drag cause. This is the total resistance force.

projectImage
CODE
totalResistance = motorForce - netForce;

14. Momentum

Momentum can be calculated using mass and velocity.

projectImage
CODE
momentum = mass * velocity;

15. Motor Energy

The energy the motor uses during one frame can be calculated with the motor force and the traveled distance.

projectImage

The total energy that is used is the sum of the energy that is used during all frames. So, after every frame, the used energy is added to the total of energy used by the motor.

CODE
motorEnergy += motorForce * distanceTraveled;

16. Kinetic Energy

The kinetic energy an object has can be calculated with the following formula.

projectImage
CODE
kineticEnergy = 0.5f * mass * velocity * velocity;

17. Fuel Consumption

How much fuel is consumed can be calculated using the total amount of energy that is used and the heat of combustion of fuel. 1 liter fuel provides 33•10^6 J energy.

projectImage
CODE
energyValueFuel = 33000000;
fuelConsumed = motorEnergy / energyValueFuel;

18. Fuel per 100 km

How much fuel is consumed per 100 kilometer can also be calculated using the distance.

projectImage
CODE
fuelPer100Km = fuelConsumed / (distance / 100000);

19. Efficiency

The efficiency is the percentage of the total energy that is converted to kinetic energy which means the energy is used and not lost. To calculate it more accurately, the average is used. Every frame, the efficiency is calculated and added to a total which is used to calculate the average efficiency.

projectImage
CODE
e ciencyTotal +=
((netForce * distanceTraveled) / (motorForce * distanceTraveled)
* 100);
e ciency = e ciencyTotal / counter; counter += 1;

 

 

Sub-question 7: What requirements must our product meet?

 

Every product that has been made must meet some requirements. The most important requirements are: the product has to work as intended and the product has to be safe to use. Next to these requirements, the game also has to feel complete when it is released. Aside from making a game, we also decided to build our own operating system. This operating system also had to meet certain requirements.

 

The game

The first requirement of this game is that some form of physics applies to the world. Our game takes place on earth, because of this fact, the game also has to abide by the laws of physics. To create diversity, we could create special levels changing the laws of physics. To implement this in the game we could make a special mode or have a limited time event to play the mode.

The second requirement is that the game has to reach high frames per second (fps). There is a big difference between low and high frames per second. With low fps, the game looks as if it is stuttering a lot and that does not allow players to get immersed in the game. That is why high fps is a must. High fps is, however, not required for every kind of game. For example, if you have a turn based grand strategy game, you do not need a lot of fps because you do not need a quick response to play the game. The opposite to this is a game with movement, a racing game for example. Because there is a lot of movement, a player will need a higher fps so that he or she can drive the car as well as possible.

The third requirement is immersion. The player feels more immersed, when the surroundings move well together with the car. For example, when the shadows of trees are facing towards the sun, this does not look realistic at all.

The fourth requirement has a big impact on diversity, so that potential customers will play the game for a long time without getting bored. There have to be different game modes in our game. For example, a small level to learn how to control the car, a mode where there are maps that revolve around the game's objective, levels on different solar bodies and levels where the laws of physics do not exist and nothing makes sense.

The fifth requirement has to do with the camera following the car. This has to be implemented well, because when the car starts to drive and the camera does not follow, the player cannot see what to do. This would make the game almost impossible to play and have fun with.

The sixth requirement is that the game has to have 3 different maps when it releases, because we feel that this is exactly the right amount of content to begin with, it is not too few and not too much. This is very important, because if there are not enough maps to play, the game would feel incomplete. Until new maps are released, the game has to have enough content to attract an audience and a loyal fan base. The amount of maps also should not be too much. Too much content on release could also have a reverse effect on potential buyers, because they could get overwhelmed and put the game down very quickly or not pick it up at all. For example, Hearts of Iron IV is a very complicated grand strategy which has a lot of different aspects that need to be controlled by the player. This makes some players put the game down, because it is too complex and they think they will never get the knowledge required to play the game successfully.

The seventh requirement is that there have to be twelve different car textures. This also comes back to diversity. Some players like some cars better than others. Another effect could be that someone buys the game because their favorite car is in the game. We could ask for money for these car skins, so the game also makes money after a buyer has bought our game. This is a very popular market strategy, especially for games released by the gaming companies EA and Activision.

 

The game console and controller

The first requirement for the controller is that it should not be too big. This has practical and economical advantages. The practical advantage of this is that when the controller is not too big, it is easier to store it. If things are hard to store, it is not very attractive for potential customers, because they have to get or make a special place to store the controller. The economical advantage of this is easy to describe. If the controller is very big, it is, most of the time, more expensive to buy. The reason for this is that the bigger something is, the more material is needed to make it. The more material that is used, the more expensive the controller gets. So to get the price for the controller as low as possible, the controller cannot be too big.

The second requirement is that the controller should be as light as possible. If the controller is too heavy, players will have a hard time playing for long amounts of time. Because the controller is held up by the player, it could become hard to hold up the controller quickly. That is why the controller has to be as light as possible.

The first requirement for the console also has to do with storage. The console has to be as compact as possible, so that the desk remains relatively empty, and the console does not

get too heavy and it is easy to store. The smaller the console gets, the easier it is to store together with the controller.

The second requirement is a very important one. Due to the fact that our game is controlled with data, the data has to be sent accurately. So the console has to perceive the data with great validity. The more precise the controller is, the better the players can immerse themselves in the game and the more fun they will have.

 

Sub-question 8: Are there similar products on the market?

 

The popularity of similar products

Over the years there have been many video game consoles you can use to play games with motion. This concept is extremely popular, as can be seen from our survey. No less than 90% of the people who participated in our research told us they like to play games controlled with movement. 

Our controller can be easily compared to the Nintendo Wii, the best-selling console of its generation and one of the few consoles of which more than 100 million copies were sold.[34],[35],[36],[37] It would make less sense to compare our controller to VR sets because these use an expensive headset, something our console does not use. Another similar console is the Nintendo Switch. The controllers used by this console, the Joy-cons, are much more accurate than the Wii Remote. Yet the Nintendo Switch has sold a lot less copies than the Wii. In spite of this we do not think that this is because people have less interest in playing games controlled with motion. The Switch still sold 11 million units more than the insanely popular Xbox One.[38],[39] It is more likely that the Switch sold less than the Wii simply because it has been on the market for 11 years less. The difference in sales could also be linked to the fact that the Wii was much cheaper compared to other consoles of its time.

Because of the success of the Wii, Microsoft and Sony also began experimenting with controlling games through motion but these experiments were less successful.[40] This was partially due to the fact that a Xbox 360/One or Playstation 3/4 was needed besides the special controllers. Sony was disappointed in the sales of the Playstation Move. Former managing director at Playstation UK, Fergal Gara, stated that they did not give the Playstation Move enough attention to stimulate better sales.[41]

 

What kind of effect does the price of similar products have on their popularity?

Consoles and games that are controlled with motion are pretty diverse when it comes to the price. Even though the Wii and the Switch are the cheapest consoles of their respective generations, consoles and controllers of this kind are not always cheap. The Playstation Move and Xbox Kinect seem to be pretty cheap compared to the Nintendo systems, but the problem with these products is that they require an expensive home console in order to be used. In fact, for the Playstation Move it is a requirement to also buy a Playstation Camera.

 

The problem with these products also apply to the different Virtual Reality devices that have become increasingly popular the last few years. There are two kinds of VR-Sets, one for video and one for gaming. The first kind is often cheap, you can find one for about twenty euros, but the second kind is a lot more expensive. It may be more expensive than the aforementioned Xbox Kinect and Playstation Move but, to a large amount of people, it is also worth the money. A good VR-set, like those made by Valve or Oculus, are often more accurate and of higher quality. The biggest problem here is easily comparable to that of the Kinect and Move, you need a powerful computer to play games on a VR-set. This means that the price of a VR-set quickly rises to a few hundred euros. In spite of its expensiveness, Virtual Reality has become astoundingly popular. The Valve Index for example, despite having a very high price of over a thousand euros, sold 149.000 units in just half a year and even went out of stock worldwide in the fourth quarter of 2019.[42]

 

Sub-question 9: How can we make a profit from our product?

 

What are the costs?

The costs for this project were negligibly small. The Huskylens from the company DFRobot that we used to make our console we borrowed from our teacher. We already had an Arduino ourselves, but how much would it normally cost to make our console?

The Huskylens normally costs 39.28 euros and the specific edition of the Arduino we used costs 20 euros.[43] We bought the remaining necessities, like wiring, for about 5 euros.

When choosing a game engine to use for our project it was also important to pay attention to the price. Unity was our first choice and the engine was also free. If the game would make a lot of profit however, Unity would take part of this profit for their own. The program we used for modelling, Blender, is fortunately also free. In total our console costs us a little bit over 60 euros.

If we compare the costs to those of other controllers on the market, we can see that they are considerably small. Of course the Playstation 4 and Xbox one controllers are cheaper to make in comparison. These controllers cost 15 and 18 euros per unit respectively, but this is namely because these controllers do not use motion sensors.[44], [45] If we take a look at the production costs of a pair of Joy-cons however, the controllers used for the Nintendo Switch, we see that these cost 90 euros per pair to make.[46] In this case our controller is much cheaper.

 

Would people be interested in buying our game?

As was stated earlier, games and consoles that are controlled with movement are still popular, but to be one hundred percent certain that people would want to buy our console we also conducted our own research.

From our survey we found out that an overwhelming majority of people find it fun to control a game with motion. No less than 71% of people who participated in our survey think this way. We also asked the people what genre of games they would like to play, specifically using motion controls. Again the results were in our favor. 64% of people would like to play a racing game using this way of controlling it, only exceeded by fighting games. In conclusion 79% of our respondents stated that they would be willing to buy a game and console that you control with movement for only 90 euros. From all these results we can conclude that there is enough demand for this kind of console and game and that these buyers are also willing to pay 90 euros for it. With this we would make 20 to 30 euros of profit per unit we sell. This may not seem like much for some people until you realize that, for example, the Wii was only sold for a profit of 12,50 euros per unit.[47]

 

How can we promote our game?

It is very important to promote our game. If people do not know the game exists, it cannot be sold either. We are, of course, just a group of students and do not have a gigantic marketing budget like Nintendo, Activision or Electronic Arts. Because we are not a big company nor do we represent one, we would be known on the market as an indie developer, a small company consisting of a few people who make games. Therefore we mainly look at marketing tactics used by other indie developers.

The first is probably the most important one, make sure that people know your game exists. The best way to do this is via social media, after all, almost everyone uses it daily. A good place to start would be on reddit. This website has different communities known as subreddits, including ones like ‘r/Indiegaming’ or ‘r/Playmygame’ where you can promote your own game. It is also important to have your own official website. By doing this, not only do you show people that you are serious about your game, you can also influence people who are already interested in your game to actually buy it. This can be done by, for example, putting the download button for your game at the top of the page. The last step is to convince people to buy your product instead of all the other games on the market. This is best done by making trailers and screenshots. With this you can not only show people how the game looks but also how it plays. There are a few important things to consider when making a trailer, mainly the fact that it must not be too long and that it catches peoples attention quickly. If the trailer is not interesting enough during the first few seconds people will close it immediately. It is also handy to tell people where to buy your game at the end of the trailer. Besides the fact that people who are already interested now know where to buy your game, it also gives people an incentive to download it.[48], [49]

 

Sub-question 10: How is the game data stored?

 

What is data?

Gaming data is every piece of information that is gathered or used when playing the game. The gathered data can be in the form of a number or a string of text. To make sure players do not have to start all over again every time they start up the game, the data must be stored.[50]

 

Which data has to be stored?

The next question is which data has to be stored. It’s impossible to save the state of every single object in a bigger game. This would mean that when you start up the game, every object is in the exact same state as the moment you quit the game, but it also means that a gigantic amount of data has to be stored. To prevent this from happening, it has to be determined which data has to be stored and which does not. Your high score on one certain level, for instance, is a piece of data that is worth saving. The position, rotation and state of an object you accidentally touched in the game does, however, not need to be saved.[51]

Before a database is made, it must be determined which data is going to be saved and which is not. The data that needs to be saved in our game can be modified so that not a lot of data has to be stored. There are only a couple pieces of information that need to be stored: the level of the player, the amount of ‘cash’ they have, which cars they have bought and what the best time on certain laps and levels is. All these pieces of data can be stored with the use of a single number. To save the level of the player, for instance, only the total amount of xp that is earned will be saved. When the user starts up the game, this number can be used to determine the current level the player is on. This way, only one number is needed to save this piece of data. Similarly, the best time on a certain level can be saved by storing the amount of milliseconds it took the player to, for instance, complete a lap. This value can later be converted to the number of minutes and seconds. Using this manner of saving data keeps it easy to understand and prevents unuseful data from being saved.

 

How is the data stored?

The gathered gaming data can be stored in two places: locally on the computer on which the game is being played or online on a server with use of a system like, for instance, Firebase. The advantage of having an online database is that the data can be loaded everywhere. The progress in the game will not be bound to one computer or another device. As a consequence, players would be able to play the game on multiple devices. The biggest disadvantage is that the device only has access to its data when it is connected to the internet. If the connection is not there or is not good enough, the data cannot be loaded.[52] If every piece of data is stored locally, this problem does not exist. That is why we chose to store our data locally.

There are multiple ways to store data locally. The choice depends, among others, on how secure the way of saving data is, because players are not supposed to be able to change data.

Unity itself offers two ways to store data. The first one is by using playerprefs. This system makes it possible to store a variable by using one line of code. It is easy to use, but not at all secure.[53] The second way of saving data that Unity offers is by using scriptable objects. These are harder to set up than playerprefs, but are just as insecure.[54]

Unity is also able to store all the data in a file. There are different types of files. The most commonly used file types are JSON and XML. Setting up Unity to save the data in the form of a JSON or XML file is fairly easy, and so is editing them.[55] Being able to edit the files easily can be useful. However, players can also edit the files very easily which makes the data unsafe.

To make these files more secure, the data can be converted to binary before being stored. This way, the files are harder to edit, because they are difficult to read. So converting data to binary makes the data safer.[56] Using these custom binary files is the safest option to locally save data. That is why we are going to use them.

 

Conclusion

 

The outcome of our project was definitely successful. We managed to make a functioning game and console that can be controlled using motion which, according to our research, could also be profitable. The game is fully functional, every feature has been added and it plays like a finished game.

There are, of course, a fair few things that could still be improved upon. There are still a few bugs in our game, but none of them game breaking or overly annoying. Aside from that fact, no game nowadays is completely devoid of glitches or bugs. Furthermore, the code that makes it possible to play our game could also be improved upon. It is not always as efficient as it could be.

The Huskylens did not give us a lot of problems. Our first vision, that of controlling the game with steering motions, proved difficult. There was, however, a quick solution for that problem. The solution was controlling the game in a simpler fashion. Currently, the steering works, but could certainly be improved upon, because it does not feel refined.

Because of our research we know that our game could be profitable on the market. Not only did we find out that there are still a good amount of people interested in playing games controlled with motion, we have also come to know about a few helpful techniques that could get our game noticed by buyers. A bit of luck, something all popular indie-games require, is all we need to make our game successful.

To what extent can we make a motion-controlled game that is also profitable? We have concluded that this is certainly possible to a large extent. We think that, if we had more resources, we could definitely succeed in making a profitable game controlled with motion.

 

Evaluation

 

Future improvements for our product

First off, we want to improve our controller. As an improvement to it, we could make it more comfortable in the users hands. It would always be very handy to make it so that our controller can be used in the dark by adding a light. This way, even late-night gamers can play.

Secondly, the game could also use some improvements. Currently, there are three maps and twelve skins for the same car model. To make the game more interesting, more maps, skins and car models could be introduced. Cleaning up the code for our game could also make it run better and give the player a more enjoyable experience.

 

Good Things

After a few setbacks, planning has been going very well. We have intentionally planned out our deadlines so that we always have some lenience. Because of this, we also always have enough time to improve each other's work. Because of our simple and well thought out framework it has been easier to write our definitive work. After the new school year, we have also been working on the project in a very consistent manner.

 

Setbacks

In our work we have, of course, encountered plenty of setbacks. Mainly planning was a huge issue at the start of our project. Many things, like the modelling of cars, demanded a lot more time than we had previously anticipated. Working on our project was also often hard to combine with activities not related to our game. Now, nearing the end of our project, we realize that we have definitely overestimated ourselves. It often took longer to finish part of our project than we had previously though and we had especially expected to have an end result of a higher quality. Lastly, we think that our collaboration could have gone a lot better.

 

Cooperation

Collaboration did not go as smoothly as planned at the beginning of our project.

Because we had a lot of problems with our planning, it also became difficult to keep up with our deadlines. This meant that because of our bad planning we also had trouble working together. When the new school year started, we quickly came together to think up a new plan.

Since then our planning has been going a lot better. Especially during the writing of our paper, it became very easy for us to give each other feedback and improve our work.

 

Literatuurlijst

 

Sub-question 1

 

DFRobot. (n.d.). HUSKYLENS wiki. Retrieved 30 June 2020, from

https://wiki.dfrobot.com/HUSKYLENS_V1.0_SKU_SEN0305_SEN0336#target_8

 

DFRobot. (2020, 21 October). HuskyLens – An AI Camera: Click, Learn, and Play!

Retrieved 17 June 2020, from

https://www.dfrobot.com/blog-1327.html

 

missinglink.ai. (n.d.). Object tracking in deep learning. Retrieved 3 November 2020, from

https://missinglink.ai/guides/computer-vision/object-tracking-deep-learning/#: \%7E:text=Object%20tracking%20has%20many%20practical,%2C%20and% 20human%2Dcomputer%20interaction

 

Surfshark. (2020, 18 June). Facial recognition map. Retrieved 3 November 2020, from

https://surfshark.com/facial-recognition-map

 

Sub-question 2

 

Brownlee, M. (2017 November). How gaming is changing the marketing and advertising worlds.

Retrieved 2 November 2020, from

https://banfield.agency/our_blog/how-gaming-is-changing-the-marketing-and- advertising-worlds/

 

Digital Marketing Institute. (2019, 20 December). The Secrets to Marketing in the Gaming Industry.

Retrieved 2 November 2020, from

https://digitalmarketinginstitute.com/blog/how-gaming-influencers-sway-marketing-in-the-gaming-industry

 

Het Klokhuis - Gamen maken. (2019, 5 November). Retrieved 28 June 2020, from

https://www.hetklokhuis.nl/tv-uitzending/4218/Games-maken

 

Pickell, D. (2019, 15 October). The 7 Stages of Game Development. Retrieved 30 June 2020, from

https://learn.g2.com/stages-of-game-development

 

Wonderpolis. (2020, 26 March). How are video games made? Retrieved 30 June 2020, from

https://wonderopolis.org/wonder/how-are-video-games-made

 

Sub-question 3

 

Groen, A. (2012, 2 February). Ask GR Anything: How do wireless controllers work?

Retrieved 3 November 2020, from

https://www.gamesradar.com/ask-gr-anything-how-do-wireless-controllers-work/

 

inScope Studios. (2012, 23 July). Basic Arduino to Unity tutorial. Retrieved 3 November 2020, from

https://www.youtube.com/watch?v=of_oLAvWfSI

 

RootSaid. (2020a, 29 March). AI Vision Sensor for Arduino | HuskyLens Arduino Tutorial. Retrieved 3 November 2020, from

https://www.youtube.com/watch?v=x9sZkSqi1pI

 

RootSaid. (2020b, 3 April). Object Tracking Robot using Arduino and HuskyLens | Arduino AI Tutorial. Retrieved 3 November 2020, from

https://www.youtube.com/watch?v=y5ftBT3Swdw

 

Techopedia. (2017, 20 June). Video Game Console. Retrieved 3 November 2020, from

https://www.techopedia.com/definition/17141/video-game-console

 

tomorrowsworldtoday. (2020, 9 June). How Game Controllers are Made. Retrieved 3 November 2020, from

https://www.tomorrowsworldtoday.com/2018/12/21/how-game-controllers-are-made/

 

Tyson, J. (2020, 31 May). How Video Game Systems Work. Retrieved 3 November 2020, from

https://electronics.howstuffworks.com/video-game1.htm

 

Sub-question 4

 

gamedesigning. (2020, 12 June). Unity vs Unreal: Ultimate Game Engine Showdown.

Retrieved 2 November 2020, from

https://www.gamedesigning.org/engines/unity-vs-unreal/

 

Gamefromscratch. (2020, 27 February). Unity or Unreal Engine in 2020? Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=DVcKdsrFj2k

 

Gamescrye. (2017, 25 September). What is a Game Engine? Retrieved 2 November 2020, from

https://gamescrye.com/blog/what-is-a-game-engine/

 

Interesting Engineering. (2019, 29 October). How Do Game Engines Work? Retrieved 2 November 2020, from

https://interestingengineering.com/how-game-engines-work

 

OXM Staff. (2018, 23 December). The most crucial part of video-game development explained - and how it powered Fortnite’s runaway success.

Retrieved 2 November 2020, from

https://www.gamesradar.com/what-is-a-game-engine-and-what-does-it-do/

 

Pluralsight. (2020, 23 January). Unreal Engine 4 vs Unity: Which Is Best for You?

Retrieved 2 November 2020, from

https://www.pluralsight.com/blog/film-games/unreal-engine-4-vs-unity-game- engine-best

 

Shaun Foster. (2019, 8 January). Unreal Arduino (UE4Duino) tutorial. Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=XvfG56fa_Lk

 

Sub-question 5

 

Hoffman, C. (2017, 3 July). How to Remap Xbox, PlayStation, and Other Controller Buttons in Steam.

Retrieved 4 November 2020, from

https://www.howtogeek.com/234427/how-to-remap-buttons-on-your-steam-co ntroller/#:%7E:text=Step%20Three%3A%20Remap%20Your%20Controller’s ,Steam’s%20complex%20button%2Dremapping%20screen

 

Statista. (2020, 13 October). Top selling Nintendo Wii games worldwide in 2020.

Retrieved 4 November 2020, from

https://www.statista.com/statistics/248204/top-selling-nintendo-wii-titles-worldwide/#:%7E:text=This%20statistic%20shows%20the%20top,game%20as%20of%20March%202020

 

Valve Corporation. (n.d.). Steam Search. Retrieved 4 November 2020, from

https://store.steampowered.com/search/?sort_by=Released_DESC&tags=-1&category1=998&special_categories=601

 

Valve Corporation. (n.d.-b). Steam Search. Retrieved 4 November 2020, from

https://store.steampowered.com/search/?sort_by=Released_DESC&tags=3813&category1=998&special_categories=601

 

Sub-question 6

 

Compton, C. (2019, 5 January). Can Realism in Games go too Far? Retrieved 30 June 2020, from

https://www.gamasutra.com/blogs/CalebCompton/20190501/341644/Can_Realism_in_Games_go_too_Far.php

 

Kors, H., & Goh, A. (n.d.). Hoe realistisch zijn video games tegenwoordig?

Retrieved 28 June 2020, from

http://f4-preview.awardspace.com/profielwerkstukgames.cz.cc/index.php?option=com_content&view=article&id=21&catid=8&Itemid=30

 

Sub-question 7

 

Sub-question 8

 

Hurley, L. (2012, 8 March). Sony boss on Move: “We could have done a better job”.

Retrieved 2 November 2020, from

https://web.archive.org/web/20120309180342/http://www.officialplaystationmagazine.co.uk/2012/03/08/sony-boss-on-move-we-could-have-done-a-better-job/

 

King, A. (2020, 31 January). VR Headset Sales Drop Over 40% Compared to Last Year — Why? Retrieved 2 November 2020, from

https://www.digitalmusicnews.com/2020/01/31/vr-sales-2019-nielsen/#:%7E:text=The%20Oculus%20Quest%20sold%20705%2C000,the%20entry%2Dlevel%20VR%20headset

 

Miche, H. (2019, 13 November). Xbox One Sales Reach 50 Million In New Turtle Beach Earnings Call. Retrieved 2 November 2020, from

https://segmentnext.com/2019/11/13/xbox-one-sales-reach-50-million-new-earnings-call/

 

Moriarty, C. (2013, 17 October). Xbox 360: 80 Million Sold and Counting. Retrieved 2 November 2020, from

https://www.ign.com/articles/2013/10/17/xbox-360-80-million-sold-and-counting

 

Nintendo. (n.d.). IR Information : Sales Data - Dedicated Video Game Sales Units.

Retrieved 2 November 2020, from

https://www.nintendo.co.jp/ir/en/finance/hard_soft/index.html

 

Reisinger, D. (2017, 25 October). Microsoft Has Finally Killed the Kinect Xbox Sensor. Retrieved 2 November 2020, from

https://fortune.com/2017/10/25/microsoft-kinect-xbox-sensor/

 

Sony Interactive Entertainment. (2020, 5 August). SIE Business Development | Sony Interactive Entertainment Inc.

Retrieved 2 November 2020, from

https://www.sie.com/en/corporate/data.html

 

Yin-Poole, W. (2012, 16 November). PlayStation 3 hits 70 million units shipped worldwide mark six years after launch.

Retrieved 2 November 2020

 

Sub-question 9

 

DFRobot. (n.d.). HUSKYLENS: AI machine vision

sensor|easy-to-use,affordable,powerful- DFRobot.com. Retrieved 3 November 2020, from

https://www.dfrobot.com/huskylens.html

 

Henry, J. (2017, 10 April). Nintendo Switch Joy-Cons Cost More To Make Than The Retail Price.

Retrieved 3 November 2020, from

https://gamerant.com/nintendo-switch-joy-con-cost-make/#:%7E:text=The%20information%20comes%20not%20long,pair%20of%20Joy%2DCon%20controllers

 

Morawski, M. (2016, 18 April). How to promote indie Game? Retrieved 3 November 2020, from

https://www.merixstudio.com/blog/how-promote-indie-game/

 

Lovato, N. (2019, 24 September). Marketing Your Indie Game On A Zero-Dollar Budget. Retrieved 3 November 2020, from

https://gameanalytics.com/blog/marketing-indie-game-without-budget.html

 

Makuch, E. (2013, 19 November). PS4 cost $381 to build - Report. Retrieved 3 November 2020, from

https://www.gamespot.com/articles/ps4-cost-381-to-build-report/1100-6416251/#:~:text=The%20PS4%E2%80%99s%20DualShock%204%20controller,can%20be%20purchased%20for%20%2460

 

Murph, D. (2006, 15 December). Engadget is now a part of Verizon Media. Retrieved 3 November 2020, from

https://www.engadget.com/2006-12-15-wii-manufacturing-costs-ring-up-to-just-158.html?guccounter=1&guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_sig=AQAAAAP55O2xw--ya7kI_6ERLUKCQZAAdZcj4cp_MRwplFqJVVu5389j9yy1O_slye-ZjO8cyssk-qi98BFCwkdUiZA8bauQHyzYYrN2YC_VWXzLZfZ6gkg3-gFNKWt40FkPR8d7NomTtAS40QtCAzeHo1_Tuy_ntLtSJxtYMx1BmlIT

 

Workman, R. (2016, 20 April). Xbox One’s Production Cost Revealed. Retrieved 3 November 2020, from

https://www.alistdaily.com/media/xbox-ones-production-cost-revealed/

 

Sub-question 10

 

Awesome Tuts. (2019, 15 March). How To Create A Database In Unity | Adding A Database In Unity.

Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=Vdgd9TLczY4

 

Board To Bits Games. (2016, 7 March). Saving Data in Unity: ScriptableObjects.

Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=ItZbTYO0Mnw

 

Brackeys. (2017, 29 March). How to make a HIGH SCORE in Unity. Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=vZU51tbgMXk

 

Brackeys. (2018, 2 December). SAVE & LOAD SYSTEM in Unity. Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=XOjd_qU2Ido

 

Computer Hope. (2020, 6 March). What is Data? Retrieved 2 November 2020, from

https://www.computerhope.com/jargon/d/data.htm

 

Creagines. (2018, 20 March). SimpleJSON - Unity Made Easy [Saving Player’s Data]. Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=C9WFOX6kDoo

 

gameranx. (2018, 24 October). How Do Save Files Work in Video Games? Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=d4s0PZYAyFw

 

 

References

 

[1]DFRobot. (2020, 21 October). HuskyLens – An AI Camera: Click, Learn, and Play!

Retrieved 17 June2020, from

https://www.dfrobot.com/blog-1327.html

 

[2]DFRobot. (n.d.). HUSKYLENS wiki. Retrieved 30 June 2020, from

https://wiki.dfrobot.com/HUSKYLENS_V1.0_SKU_SEN0305_SEN0336#target_8

 

[3]Surfshark. (2020, 18 June). Facial recognition map. Retrieved 3 November

2020, from

https://surfshark.com/facial-recognition-map

 

[4]missinglink.ai. (n.d.). Object tracking in deep learning. Retrieved 3 November 2020, from

https://missinglink.ai/guides/computer-vision/object-tracking-deep-learning/#:\%7E:text=Object%20tracking%20has%20many%20practical,%2C%20and%20human%2Dcomputer%20interaction

 

[5]Pickell, D. (2019, 15 October). The 7 Stages of Game Development. Retrieved 30 June 2020, from

https://learn.g2.com/stages-of-game-development

 

[6]Wonderpolis. (2020, 26 March). How are video games made? Retrieved 30 June 2020, from

https://wonderopolis.org/wonder/how-are-video-games-made

 

[7]Wonderpolis. (2020, 26 March). How are video games made? Retrieved 30 June 2020, from

https://wonderopolis.org/wonder/how-are-video-games-made

 

[8] Pickell, D. (2019, 15 October). The 7 Stages of Game Development. Retrieved 30 June 2020, from

https://learn.g2.com/stages-of-game-development

 

[9]Brownlee, M. (2017 November). How gaming is changing the marketing and advertising worlds.

Retrieved 2 November2020, from

https://banfield.agency/our_blog/how-gaming-is-changing-the-marketing-and-advertising-wo rlds/

 

[10]Digital Marketing Institute. (2019, 20 December). The Secrets to Marketing in the Gaming Industry.

Retrieved 2 November 2020, from

https://digitalmarketinginstitute.com/blog/how-gaming-influencers-sway-marketing-in-the-ga ming-industry

 

[11]Techopedia. (2017, 20 June). Video Game Console. Retrieved 3 November 2020, from https://www.techopedia.com/definition/17141/video-game-console

 

[12]Tyson, J. (2020, 31 May). How Video Game Systems Work. Retrieved 3 November 2020, from

https://electronics.howstuffworks.com/video-game1.htm

 

[13]Groen, A. (2012, 2 February). Ask GR Anything: How do wireless controllers work?

Retrieved 3 November 2020, from

https://www.gamesradar.com/ask-gr-anything-how-do-wireless-controllers-work/

 

[14]tomorrowsworldtoday. (2020, 9 June). How Game Controllers are Made. Retrieved 3 November 2020, from

https://www.tomorrowsworldtoday.com/2018/12/21/how-game-controllers-are-made/

 

[15]Groen, A. (2012, 2 February). Ask GR Anything: How do wireless controllers work?

Retrieved 3 November2020, from

https://www.gamesradar.com/ask-gr-anything-how-do-wireless-controllers-work/

 

[16]RootSaid. (2020a, 29 March). AI Vision Sensor for Arduino | HuskyLens Arduino Tutorial.

Retrieved 3 November 2020, from

https://www.youtube.com/watch?v=x9sZkSqi1pI

 

[17] RootSaid. (2020b, 3 April). Object Tracking Robot using Arduino and HuskyLens | Arduino AI Tutorial.

Retrieved 3 November 2020, from

https://www.youtube.com/watch?v=y5ftBT3Swdw

 

[18]inScope Studios. (2012, 23 July). Basic Arduino to Unity tutorial. Retrieved 3 November 2020, from

https://www.youtube.com/watch?v=of_oLAvWfSI

 

[19]Interesting Engineering. (2019, 29 October). How Do Game Engines Work? Retrieved 2 November2020, from

https://interestingengineering.com/how-game-engines-work

 

[20]Gamescrye. (2017, 25 September). What is a Game Engine? Retrieved 2 November 2020, from

https://gamescrye.com/blog/what-is-a-game-engine/

 

[21] OXM Staff. (2018, 23 December). The most crucial part of video-game development explained - and how it powered Fortnite’s runaway success.

Retrieved 2 November 2020, from

https://www.gamesradar.com/what-is-a-game-engine-and-what-does-it-do/

 

[22] gamedesigning. (2020, 12 June). Unity vs Unreal: Ultimate Game Engine Showdown. Retrieved 2 November 2020, from

https://www.gamedesigning.org/engines/unity-vs-unreal/

 

[23]Pluralsight. (2020, 23 January).

Unreal Engine 4 vs Unity: Which Is Best for You? Retrieved 2 November 2020, from

https://www.pluralsight.com/blog/film-games/unreal-engine-4-vs-unity-game-engine-best

 

[24]Gamefromscratch. (2020, 27 February). Unity or Unreal Engine in 2020? Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=DVcKdsrFj2k

 

[25]Shaun Foster. (2019, 8 January). Unreal Arduino (UE4Duino) tutorial. Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=XvfG56fa_Lk

 

[26]Hoffman, C. (2017, Juli 3). How to Remap Xbox, PlayStation, and Other Controller Buttons in Steam.

Retrieved November 4, 2020, from

https://www.howtogeek.com/234427/how-to-remap-buttons-on-your-steam-controller/#:%7E:text=Step%20Three%3A%20Remap%20Your%20Controller’s,Steam’s%20complex%20butt on%2Dremapping%20screen

 

[27]Valve Corporation. (n.d.). Steam Search. Retrieved November 4, 2020, from

https://store.steampowered.com/search/?sort_by=Released_DESC&tags=-1&category1=998&special_categories=601

 

[28]Statista. (2020, Oktober 13). Top selling Nintendo Wii games worldwide in 2020. Retrieved November 4, 2020, from

https://www.statista.com/statistics/248204/top-selling-nintendo-wii-titles-worldwide/#:%7E:text=This%20statistic%20shows%20the%20top,game%20as%20of%20March%202020

 

[29]Valve Corporation. (n.d.). Steam Search. Retrieved November 4, 2020, from

https://store.steampowered.com/search/?sort_by=Released_DESC&tags=3813&category1=998&special_categories=601

 

[30]Compton, C. (2019, 5 January). Can Realism in Games go too Far? Retrieved 30 June 2020, from

https://www.gamasutra.com/blogs/CalebCompton/20190501/341644/Can_Realism_in_Games_go_too_Far.php

 

[31]Kors, H., & Goh, A. (n.d.). Hoe realistisch zijn video games tegenwoordig? Retrieved 28 June 2020, from

http://f4-preview.awardspace.com/profielwerkstukgames.cz.cc/index.php?option=com_content&view=article&id=21&catid=8&Itemid=30

 

[32]Kors, H., & Goh, A. (n.d.). Hoe realistisch zijn video games tegenwoordig? Retrieved 28 June 2020, from

http://f4-preview.awardspace.com/profielwerkstukgames.cz.cc/index.php?option=com_content&view=article&id=21&catid=8&Itemid=30

 

[33]Compton, C. (2019, 5 January). Can Realism in Games go too Far? Retrieved 30 June 2020, from

https://www.gamasutra.com/blogs/CalebCompton/20190501/341644/Can_Realism_in_Games_go_too_Far.php

 

[34]Nintendo. (n.d.). IR Information : Sales Data - Dedicated Video Game Sales Units. Retrieved November 2, 2020, from

https://www.nintendo.co.jp/ir/en/finance/hard_soft/index.html

 

[35]Sony Interactive Entertainment. (2020, August 5). SIE Business Development | Sony Interactive Entertainment Inc.

Retrieved November 2, 2020, from

https://www.sie.com/en/corporate/data.html

 

[36]Moriarty, C. (2013, Oktober 17). Xbox 360: 80 Million Sold and Counting. Retrieve November 2, 2020, from

https://www.ign.com/articles/2013/10/17/xbox-360-80-million-sold-and-counting

 

[37]Yin-Poole, W. (2012, November 16). PlayStation 3 hits 70 million units shipped worldwide mark six years after launch.

Retrieved November 2, 2020, from

https://www.eurogamer.net/articles/2012-11-16-playstation-3-hits-70-million-units-shipped-worldwide-mark-six-years-after-launch

 

[38]Miche, H. (2019, November 13). Xbox One Sales Reach 50 Million In New Turtle Beach Earnings Call.

Retrieved November 2, 2020, from

https://segmentnext.com/2019/11/13/xbox-one-sales-reach-50-million-new-earnings-call/

 

[39] Nintendo. (n.d.). IR Information : Sales Data - Dedicated Video Game Sales Units.

Retrieved November 2, 2020, from

https://www.nintendo.co.jp/ir/en/finance/hard_soft/index.html

 

[40] Reisinger, D. (2017, Oktober 25). Microsoft Has Finally Killed the Kinect Xbox Sensor.

Retrieved November 2, 2020, from

https://fortune.com/2017/10/25/microsoft-kinect-xbox-sensor/

 

[41]Hurley, L. (2012, March 8). Sony boss on Move: “We could have done a better job”. Retrieved November 2, 2020

 

[42]King, A. (2020, January 31). VR Headset Sales Drop Over 40% Compared to Last Year —Why?

Retrieved November 2, 2020, from

https://www.digitalmusicnews.com/2020/01/31/vr-sales-2019-nielsen/#:%7E:text=The%20Oculus%20Quest%20sold%20705%2C000,the%20entry%2Dlevel%20VR%20headset

 

[43]DFRobot. (n.d.). HUSKYLENS: AI machine vision sensor|easy-to-use,affordable,powerful- DFRobot.com.

Retrieved November 3, 2020, from

https://www.dfrobot.com/huskylens.html

 

[44]Makuch, E. (2013, November 19). PS4 cost $381 to build - Report. Retrieved November 3, 2020, from

https://www.gamespot.com/articles/ps4-cost-381-to-build-report/1100-6416251/#:%7E:text=The%20PS4’s%20DualShock%204%20controller,can%20be%20purchased%20for%20%246 0

 

[45]Workman, R. (2016, April 20). Xbox One’s Production Cost Revealed. Retrieved November 3, 2020, from

https://www.alistdaily.com/media/xbox-ones-production-cost-revealed/

 

[46]Henry, J. (2017, April 10). Nintendo Switch Joy-Cons Cost More To Make Than The Retail Price.

Retrieved November 3, 2020, from

https://gamerant.com/nintendo-switch-joy-con-cost-make/#:%7E:text=The%20information%20comes%20not%20long,pair%20of%20Joy%2DCon%20controllers

 

[47]Murph, D. (2006, December 15). Engadget is now a part of Verizon Media. Retrieved November 3, 2020, from

https://www.engadget.com/2006-12-15-wii-manufacturing-costs-ring-up-to-just-158.html?guccounter=1&guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_sig=AQAAAAP55O2xw--ya7kI_6ERLUKCQZAAdZcj4cp_MRwplFqJVVu5389j9yy1O_slye-ZjO8cyssk-qi98BFCwkdUiZA8bauQHyzYYrN2YC_VWXzLZfZ6gkg3-gFNKWt40FkPR8d7NomTtAS40QtCAzeHo1_Tuy_ntLtSJxtYMx1BmlIT

 

[48]Morawski, M. (2016, April 18). How to promote indie Game? Retrieved November 3, 2020, from

https://www.merixstudio.com/blog/how-promote-indie-game/

 

[49]Lovato, N. (2019, September 24). Marketing Your Indie Game On A Zero-Dollar Budget.

Retrieved November 3, 2020, from

https://gameanalytics.com/blog/marketing-indie-game-without-budget.html

 

[50]Computer Hope. (2020, 6 March). What is Data? Retrieved 2 November 2020, from

https://www.computerhope.com/jargon/d/data.htm

 

[51]gameranx. (2018, 24 October). How Do Save Files Work in Video Games? Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=d4s0PZYAyFw

 

[52]Awesome Tuts. (2019, 15 March). How To Create A Database In Unity | Adding A Database In Unity.

Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=Vdgd9TLczY4

 

[53]Brackeys. (2017, 29 March). How to make a HIGH SCORE in Unity. Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=vZU51tbgMXk

 

[54]Board To Bits Games. (2016, 7 March). Saving Data in Unity: ScriptableObjects. Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=ItZbTYO0Mnw

 

[55]Creagines. (2018, 20 March). SimpleJSON - Unity Made Easy [Saving Player’s Data]. Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=C9WFOX6kDoo

 

[56]Brackeys. (2018, 2 December). SAVE & LOAD SYSTEM in Unity. Retrieved 2 November 2020, from

https://www.youtube.com/watch?v=XOjd_qU2Ido



————————————————————————————————————————————————————————
Authors :Koen Kempers
Milan Verhaeg
Morgan van den Thillart


Special thanks to Ramon Moorlag and his students for giving us permission to make this report open source on our EDU website.
For more info please visit www.ieni.org.

License
All Rights
Reserved
licensBg
0