My name is Ty Kennington and I am a game developer and programmer.
I started making games in middle school with Flash. I quickly found that making games could be even more fun than playing them. In high school, I learned to use Unity, which continues to be my game engine of choice for most projects. Now, I am a student at Brigham Young University – Idaho, studying Computer Science.
I occasionally use this site to post about the things that I am learning about game design and development as well as updates on all my projects. Below are some of my bigger and more noteworthy projects.
Fail to Win
My biggest project yet, Fail to Win is a puzzle platformer where you progress by abusing the respawn ability. I currently have a free “demo” out (It takes an hour or two to complete), and I’m hoping to finish the rest of the game by the end of the year. You can download the demo here: https://tykenn.itch.io/fail-to-win-chapter-1.
This past year, a group of about twenty students from BYU-Idaho assembled to work on a third-person melee fighting game called Nebula Gladiator. I, as the lead programmer, coordinated with artists and other programmers to implement gameplay and make an interactive arena with threatening enemies. We presented a simple demo earlier this year. More recently, I’ve been working to adapt some of the game to virtual reality using SteamVR, You can check out some of the progress here: https://www.youtube.com/watch?v=wlgRNbFUwz0. While both the third-person game and the VR game are works in progress, it taught me much about working with team members of various skills, meeting development deadlines, and programming for ambitious game projects.
This was a game from a recent game jam. There were five of us on this team, and we had about nine hours to create a game themed around loops. I had not met anyone on my team until the event began. A few of us continued after the game jam to fix things up and add more stages. We will continue to add more, but the game so far is available for Windows here: https://tykenn.itch.io/elevator-circuit.
Fly Around and Zap Aliens
In another class project, I worked on a simple space invasion game where the player flies in a spaceship zapping aliens that get too close to earth. The lack of any real up or down direction is space, as well as the large size of the stage, led me to create a control system that allows players to get to other parts of the map quickly while still keeping players from spinning out of control or crashing in an attempt to slow down. I got a version of it working on Android, using tilt control and touching the screen to zap, thrust forward, and stabilize. More recently, I revisited this project and published it to the Play Store, currently in alpha.
During my senior year of high school, I signed up as a Unity Asset Store publisher. I write code packages and sell them online to save time for other game developers. Since then, I have continued to maintain these code packages and release new packages and updates. So far, I have five packages.
This package comes with two tools. One makes it possible to design a skyscraper. You move points to form a base shape, set colors, and adjust windows sizes and roof styles. The other tool is a randomizer. You supply it ranges of values and an assortment of possible colors and base shapes. It then designs the building for you. Several randomizers could be used together to generate an entire city. Read more details, or try the demo.
This is a tool for creating random mazes either in the Unity editor or at run-time. It includes many features and settings, such as two maze styles, support for custom tile sets, random spawning of objects within the maze, and drawing template paths guaranteed not to be obstructed after the rest is filled in with random generation. Read more and watch the demo video.
This is simple GUI element that draws arrows or other icons above certain types of objects. If the object is off-screen, the arrow will point in the direction the player must turn to see the object. Read more and watch the video.
This is a tool for spawning objects near a player as they pass into view and deleting those objects as they pass out of view. Ideal for endless distance games. The generation can be constrained on any of the three axes. Read more.
This is a modeling utility that works inside Unity. It takes a mesh and converts its coordinates to sphere coordinates to distort it along a sphere of a given radius. Anything above the anchor is stretched while anything below the anchor is shrunk. Read More.
I am about halfway through my degree, and have taken courses in the following:
- Game Design
- Computer Graphics
- Software Design and Development
- Web Engineering
- Software Engineering
- Linear Algebra
- Discrete Mathematics
- Computer Architecture
In the game design course, I familiarized myself with PyGame, making a small mystery game. It was an experiment with generating NPCs with unique schedules, roles, and personalities. The player, as the detective, questions the villagers, who each know a little bit about the roles of others. Some are more open than others, but the villagers also gossip among themselves, so you may find more information from the same villager later in the day after he or she has interacted more with others.
One time, I had a class assignment to create a game themed around certain alternative energy sources. My team decided to create a turn-based economic strategy game. We called the game Energized, and it involved building turbines and dams with resources and money on tiles rated for strength in various energy sources. You then earn money by getting energy to factory tiles via power lines. The game had a trading system for resources, money, and land. You could play over a network.
For a larger project, we made a kart racing game. The racers were shrunken down in a replica of our classroom. The desks acted as a race track with mice and keyboards acting as obstacles. Most of the class was made up of artists, but I led our small group of programmers.