Welcome to Impudia's Educational Game Blog. The goal here is to bring together knowledge from very talented people of all sorts of backgrounds in order to create Effective, Engaging and Educational Games. EVERYONE is invited to share your ideas and thoughts. Let the Games Begin!


Showing posts with label Engine. Show all posts
Showing posts with label Engine. Show all posts

Learning from Lebron James

LeBron James is one of the best Basketball players in the game today. Night in and night out he just manages to bring 100% of his abilities to the game.





What does LeBron have to do with educational games?

well it is very simple, James is the physical representation of self motivation, hard work and goal achievement.



Since he was in high school, many believed he was going to be the next great one. This may seem like a wonderful thing, but it also came with a huge magnifying glass. Every bounce of the ball, every jump, every word was under extreme observation. This leads to many flaws being pointed out, and many haters attacking him.


But LeBron is a prime example on how you should react to criticism, he took what other people where saying, filtered out comments that had no real worth (like insults) and took a look at what he needed to improve in his game. And this is what he does every summer, he focuses on a task, on a particular aspect of the game he wants to improve and he works at it relentlessly until in is no longer a flaw but an asset he possesses.

But lets focus now on how this mentality can help us make better educational games. Lets break down the process:

  1. Learn about areas that need improvement.
  2. Set goals
  3. Work at them
  4. Review results
With this in mind I have created VCM (Virtual Challenge Manager). The goal of VCM is to provide the player with a set of custom challenges that they can attempt to complete, and keep track of their progress, always congratulating them on their achievements. 

As an example you can think of how you play video games, let's say Super Mario Bros. In my mind, sometimes I decide "let me try and beat the game in under 10 minutes" or "lets try and pass the entire game with small Mario" or "Let try and get over 20 lives" and so on and so on.

This is a gamers mentality, always striving to improve and beat tougher challenges. What VCM would do is that you would automatically get a set of challenges you might want to tackle next, all in exchange of a reward (virtual currency). 

I have developed a demo of VCM for this blogs Learning Game #2. The game production is still in prototype stage, so ignore all the programmers art.. The goal of the game is to build groups of 6 circles. in order to build a group you click on a circle and move around to get a sequence of 6 (only 6, any more or less doesn't count). 

Let me know what you think:





As you can see every time you complete a challenge you are given a tougher challenge to attempt.

Learning Game #2: Artificial Intelligence (A*)

Today I want to share some AI programming that I am doing for the Math game.

The Game: I will not go over the game description at this moment, but the goal is to build groups of colors out of a board. For example the game shows a multiplication 5x7 then the goal is to make 5 groups of 7 by coloring the circles.




The Challenge:
The board in the back needs to be randomly generated. so that it can dynamically create levels for players to play without already knowing the answer.

Road Block #1:
I need to make sure to come up with a good way to remove circles, I could run into trouble if I randomly remove them....


Solution #1:
Instead of randomly removing blocks I will do a labyrinth solve approach..

Think of what you do to quickly solve a labyrinth. You start from the end and go backwards towards the start

With this line of thought, I want to create a complete path, that uses as many circles as the multiplication (5*7) = 35. Once I have that I will remove any of the items that are not being used


Problem #2:
For the creation of the path I used A* algorithm, the only issue with this was that the computer was having a meltdown trying to figure out all the possible paths. My algorithm would stop when a path of length 35 was found. The only issue was that the computer exit out of the game before reaching that. it would crash after creating 4 million different paths.

Solution # 2:
This one was a brain teaser. I knew that I was doing the right algorithm, but it was just too expensive, I couldn't cut corners because my path had no directions, no rules, the goal was to get a path that covered 35 blocks. But for every path I was getting around 3 new paths, here is just a small chart to demonstrate how chaotic this is:
As you can see, just 16 blocks in, I would have over 4 million paths! There is no way I could get to 35

In order to mitigate with this one, you will be surprised but my solution was extremely weird. I just decided that I would only allow for 20 paths to be created, that way after 700 paths I would already reach a solution. 700 paths are created in almost no time. 

Problem #3:
Solutions where working but I guessed the solutions where just boring, I was getting big blocks all the time
As you can see, this is boring.... not quite what I had in mind with the design sketches.


Solution # 3:
In order to solve this one I was able to come up with a nice solution, instead of building a path of the exact length (5*7)=35 I decided to create an extra one for each group = 5 groups of 8 = 40. then I would remove every 8th circle...


Check out the resulting file, click on the screen to just randomly create new paths....












Learning Math Engine

This is a small test of how the engine of the game can adapt to the user:
Answer True if the equation is correct and False if it is incorrect. 




As you might have noticed, the more questions you get right the questions get harder....

How does this work?


The code above lets you see some of the logic, basically if they get the question right, then I see how fast they answered it. if they answer the question in about 3 seconds I then increase a streak variable.

Once that variable increases the difficulty increases.


Here is an image of a sample run I made:

As you can see, by the time the timer ran out I was already solving 2 digit questions

I will share a small test I made, playing this game, 20 times with 5 minute runs for each try. 
The colors indicate difficulty, the length of the color represents the amount of time I took for that difficulty.


Notice how the first run i was only able to reach level 6, but right near the end I was able to answer level 8 questions.. 

Obviously this brings many thoughts to mind is this really improving my math skills? 

test it out and maybe you can let me know if you feel you have improved. 


But going back to the subject of this post (Engine) I want to highlight the fact that the interactivity of this game adjusting the difficulty always kept me challenged and it somehow allowed me to reach higher levels than before.


My Thoughts:
-Everyone is different, adapting the difficulty makes the game more the right amount of challenging for players.
-The 8 answer streak seems to work but more testing is needed to proof that it is correct
-The 3 second rule makes the game very challenging but it might also need to be adapted depending on difficulty
-Times seem to be reduced with repetition 


Learning about Educational Games



Educational games are the future of education, there is much to learn about them, but if one thing is certain, is that they have the power to change the way we view education. Here is a list of some of the key goals educational games have:
 1) Engage students and increase their desire to learn.
2) Entertain kids and allow them to explore their knowledge.
 3) Test kids with new and improved methods.
4) Adapt quickly to a fast changing world.
5) Connect the students using social media elements.
6) Become powerful tools that teachers can use to manage their classrooms.

As you can see, it is a very complex goal, this is why I decided to make this blog. I know that each element is crucial to creating a successful goal and the only way to achieve success is to work together and explore all kinds of possibilities.