This is a game programmed entirely in Javascript, so it can run in your web browser! It is heavily inspired by the game Vampire Survivors, which was very popular around the time we started development. I could explain how to play, but I think I will let the game speak for itself, and use this section to share the story of its development. I worked on a team with three other students who were remarkably talented and dedicated to making this game what it is today. We started development roughly a week after our first class, a bit behind our peers; some of which began development months before the first session. We all spent almost entire days at a time coding simultaneously and asynchronously to contribute as much as we possibly could. I played a major part in developing the game's systems, every line of code evnetually leads back to my foundations. Notable systems I contributed the most to would be entity management, GUI elements, projectile system, weapon system, upgrade system, and much more! After we finalized everything, we submitted Guy with Scythe alongside a trailer video to our class' Discord. Each game submitted would be rated by the class, with the most popular games getting extra credit. The competition was fierce, several games were in develpoment for months before we began, some had completely original (even pre-rendered 3D) graphics made by their teams, some challenged the limitations of 2D gameplay in ways we would never attempt, some were also inspired by Vampire Survivors and served as direct competitors to us. In the end, the other teams had spoken and declared Guy with Scythe as the best game among the entire class. Even in other classes, I heard other students singing its praises during development! I have never been more proud of a project since then. I hope that by giving this game a shot, you will see the passion me and my team put into making it, as well as the rough edges we did not have enough time to fully polish.
This is a Simulator for the Q-learning algorithm, which demonstrates how a virtual actor can use trial and error to eventually find an optimal path to a reward in a maze of hazards. In my version, I have included two actors, one is green and the other is blue. Their goal is to reach any of the princesses on the board, but will be sent back to their start position if they touch a bomb or a tile that does not match their color. After a couple minutes of runtime, you will eventually see them navigate to a goal with ease. They also favor the goals closer to thair start position, demonstrating the algorithm's ability to optimize an efficient path.
This is my recreation of Conway's Game of Life.
It was one of the earlier projects I worked on in college. Each cell is subject to a couple simple rules:
1. If a live cell does not have between 2-3 alive neighbors, it dies on the next cycle.
2. If a dead cell has exactly 3 alive neighbors, it is alive on the next cycle.
It may be simple, but it does a great job of simulating evolution, as you will eventually be left with
a handful of small ecosystems that continue to live indefinitely.
Since there is no randomness involved, for every starting layout of dead/alive cells, there is exactly one unique end state.