Master the World's Hardest Game with AI! More Levels Added
Table of Contents:
- Introduction
- Making Programs More Accessible
- The Idea of Using Unity
- The Drawbacks of Using Unity
- Discovering Github Pages
- Rewriting Code in JavaScript
- The Advantages of Github Pages
- The First Level and Its Challenges
- The Fitness Function and Its Impact
- Increasing Population Size and Reducing Frequency
- Success and Evolution
- The Second Level and Its Differences
- The Dots' Unique Movement
- The AI's Impatience and Waiting Game
- Conclusion
- Highlights
- FAQ
Introduction
Hey guys! What's up? I hope you're all doing well. I wanted to give you an update on the progress of my previous video and discuss some exciting developments. So grab a seat and let's dive in!
Making Programs More Accessible
One thing I've realized is that running my programs can be a bit tedious for you guys. You have to go through multiple steps, from downloading the code to installing the necessary software. That needs to change.
The Idea of Using Unity
Initially, I thought about using Unity to create my programs and release them on platforms like Steam. However, this would require rewriting the code and learning new languages, which is quite a bit of work. Plus, the cost of releasing a game on Steam is a deterrent.
The Drawbacks of Using Unity
Rewriting the code and familiarizing myself with Unity's interface and C# coding proved to be a daunting task. Besides, the cost associated with releasing a game on Steam was a major roadblock. I needed a more accessible solution.
Discovering Github Pages
Then, I stumbled upon Github Pages, a platform that allows you to have a website on Github for free. This was a game-changer. Although I had to rewrite my code in JavaScript, which I wasn't very familiar with, I was determined to make it work.
Rewriting Code in JavaScript
I took the plunge and started rewriting my code in JavaScript. It was a learning experience, but I quickly figured it out. Now, instead of going through a series of steps, all you have to do is click a link to run my programs. It's that simple!
The Advantages of Github Pages
Using Github Pages has made my programs more accessible than ever before. By eliminating the need for multiple downloads and installations, I've made it easier for you to enjoy my content. Best of all, it didn't cost me more than a Saturday of work.
The First Level and Its Challenges
Let's dive into the levels I've created so far. The first level introduces a new challenge: collecting a coin in the middle before you can win. It may seem straightforward, but there's a twist. The fitness function, which determines a player's effectiveness, encourages players to go straight for the coin rather than strategizing along the walls. It was an interesting experiment.
The Fitness Function and Its Impact
The fitness function plays a crucial role in evaluating a player's performance. In this case, it calculates the straight-line distance from the player to the coin and from the coin to the goal. This incentivizes players to prioritize reaching the coin quickly. However, a better strategy would involve navigating the walls to avoid the dots. Despite the challenges, after 123 generations of learning, the players conquered the level.
Increasing Population Size and Reducing Frequency
To find a solution for the next level, I decided to increase the population size and reduce the frequency of movement increases. These adjustments allowed the AI to explore different strategies and improve its chances of success.
Success and Evolution
After experimenting with various methods and fine-tuning the parameters, the AI successfully completed the second level. This level introduced dots that followed a specific path, creating new challenges. Surprisingly, the dots moved at the same speed, resulting in equidistant movements, which made it easier for the player to navigate.
The Second Level and Its Differences
Moving on to the second level, there was a noticeable difference. The dots didn't bounce randomly but followed a specific path. While implementing this feature wasn't too difficult, it added an extra layer of complexity to the level.
The Dots' Unique Movement
Observing the dots' movement Patterns was fascinating. Unlike in the previous level, the dots moved in a synchronized manner, maintaining an equal distance from each other. This demonstrated the potential of technology and the intricate possibilities it offers.
The AI's Impatience and Waiting Game
However, the AI's impatience became evident in this level. Players had to wait for the gap to reach the top left and then wait again for it to return. Patience became essential for success, but the AI's eagerness often led to repetitive self-destruction. It was a relatable reminder of how boredom can influence our decision-making.
Conclusion
And that wraps up the levels I've completed so far. I encourage you to check out the programs yourself and explore the different settings and options. You can even try playing the levels yourself and see if you can conquer them. Enjoy the challenge and have fun!
Highlights
- Making my programs more accessible through Github Pages
- Rewriting code in JavaScript to simplify the process
- The challenges and experiments of the first level
- The impact of the fitness function on player behavior
- Optimizing the AI's performance through population size and frequency adjustments
- Achieving success and evolution through multiple generations
- The unique movement patterns of the dots in the second level
- The importance of patience in navigating the waiting game
FAQ
Q: Can I try the levels myself?
A: Yes, absolutely! You can click the provided links to access and play the levels. Have fun and see if you can conquer them!
Q: Will you be creating more levels in the future?
A: I may consider creating more levels if there is enough interest from the viewers. Let me know your thoughts and suggestions!
Q: What other projects are you working on?
A: I have several ongoing projects, and I'll continue to share updates and new content on my channel. Stay tuned for more exciting developments!
Q: How can I stay updated with your latest videos and projects?
A: To stay updated, make sure to follow me on Twitter, where I share regular updates and announcements. Join the community and be part of the journey!
Resources: