Here Is My Education

Video Game Design and Development Program at triOS College

July 2014 - May 2016

I am currently taking this program to learn the amazing way of creating video games and to be a part of this industry. This program is designed to teach students programming, the core of game development.

So Far...

I started with a ProtoTyping course where I learned JavaScript, CSS, and JQuery. I was able to produce a short mario game, which I put in to the Stuff by Me section.

I then started learning C++ and I made a text-based adventure game for my project. I learned about object-oriented programming, pointers, the stack and heap, vecters, array, some of the libraries that are available to use and of course, about memory leaks. (Very nice, C++ is one of my favorite things.)

Afterwards I learned about how a game is made, from concept to release, marketing, GDDs, TDDs, budgeting, NDAs, IPs, and even business plans in my TechDesign course.

Currently I am in a Digital Media class learning HTML5 and CSS3. This website is my final project of this course, which is intended to be my portfolio.

*Update* Finished the digital Media course, I love HTML too. Seems I keep learning new things and I always wake up eager to learn something new that day because it might be a new love for code. :)

Math and Physics was an interesting course, I learned a lot of new and intriguing things. I love Matrix math, it's so cool how things are calculated. It looks so wierd, you think how could that work, but it does.

Level Design was different. Instead of code we learned using a Hammer SDK. There are a lot of considerations that go into level designing that I wan't aware of, level balancing, flow, types of levels and the ambience of the level, are just a few. As part of the course I completed 2 projects, a level for Alien Swarm and a level for Team Fortress 2. Both of these can be found in my Stuff by Me section.

3D Asset Creation is another course that I didn't know that was so involved. I learned how to use Maya and create some assets with it. The first project was a treasure chest. It was a great starting project to learn the controls of Maya. Next I made a Halo 3 helmet. I used images as a map and lining up the vertices and lines to follow the 2D images and make a 3D asset from a couple of pictures. As my final project, I made a spaceship. I added meshes, animation, flying path, cameras, particle effects and I finished off with a completely rendered video of my project. It can be viewed in my Stuff by Me section. Learning what actually goes into making the assets gives me new respect for the artists out there. Kudos to you guys out there.

In the Video Game Sound course we learned the basics of editing sounds and music for your games.

During my Advanced HTML class I further developed my skills using HTML5, JavaScript and CSS3. As my final project, I developed a match 3 game called SuperSwap. I used a super hero theme and made it fun and immersive. It is a simple match 3 game, you make matches and the timer goes down over time. When you make a match, you will score points that will be added to your total score you will also get time added to your timer, so you can continue playing longer. You will also gain levels as your score gets larger and the higher your level, the faster the timer drops. The game will randomly choose a tile to fall from the top into an empty space and every 5 levels the game will add a new tile to the pool that the game randomly chooses from. You can play SuperSwap here in my Stuff by Me section.

In the Andriod Development course I was introduced to Java while using the Andriod Studio and Eclipse IDEs. I made a jumping game for my project named Evil in Training. It revolved around a young man who wanted to be an evil villian like his uncle. The problem he suffers from Jumperitis and he can't stop jumping, so it makes it difficult to do anything, not alone be evil. So the game is about you jumping to the tower in the sky to get to the maiden before the hero so you can stop the rescue and of course collect coins along the way (you can't be a true evil villian without a large amount of riches). There are cute flying animals to avoid while you are jumping or they will stop your velocity and you drop to the ground and have to start over. There is a power up that can make you invincible for a short period of time, to help you out. Everything in the level is randomly chosen with some parameters, like position of a platform might have some parameters that it can't spawn to far away from another platform and the posiblity of it being spawned. I wanted to do this so the game is more playable because you will never play the same level twice.

The Apple Development was a new course provided by triOS. We learned the new Swift language while using Xcode. I made a side-scroller Mario type game called Super Toad. I wanted to showcase the ability to use one image file(background) that has all of the bricks and such on it, then use xml files with the coordinates of each object to make collision boxes instead of loading in all different images of each object. There is also the typical stuff in a game like score, timer, obstacles, coins, castle to claim, an animated Toad and fireballs to shoot.

As of August, I am in my DirectX 11 2D/3D Game development course. It is very interesting what can be done with DirectX and how everthing is processed. I am planning on making a third person shooter (maybe with zombie squirrels) for the final project.

So I did it, I have created a 3D first-person prototype for DirectX11 called Attack of the Zombie Squirrels. It can be found in the Stuff by Me section. The project(course) was about teaching us the fundamentals of DirectX11 and the complexity of everything that's done in the background of an engine that you may not see or think about. I have a all the respect for the great programmers out there that are working with DirectX on an everyday bases to help make all the graphic visually beautiful. I can only hope(and strive) that one day I will be as amazing as those programmers. Kudos to you guys. :)

During the month long Unity 2D course I made my first ever Unity 5.2 project. I was tasked to make a 2D endless runner. I have build a web version of the game so that you can test it out Here if you like. So in this game I have made a pool of deActivated plateforms, coins, and spikes. The game will look to see if there is an available object and if not will make a new one. When the object reaches the left side it will deActive it and put it back into the pool for future use. All the plateforms are randomly placed on the y within a set height min and max, and it will randomly choose a distance (between a set min/max value) from the last platform to spawn a new one. The coins and spikes have some randomness too, they may or may not be on a platform and if they are picked to spawn on a platform, then their location on the platform are randomly picked. Also spikes are rarer spawns then coins.

For my final project for Unity2D I made a Plants vs. Zombies type game. The game was really fun to make and I am pleased with the outcome. So with this project I made a complete menu system with options and credits sections. In the options menu, I made a volume slider that changes the volume of the game music and a dificulty slider that changes the difficulty of the game. The difficulty level changes the speed and the damage of the attackers. I also implemented a music manager in the splash screen that is persistant throughout the game. It allows me to choose different background music for each scene. At the main menu the game checks the player prefs for any previously saved data like the volume and difficulty. When you play the game, you are to defend your position with defenders and not allow any attackers to reach the left side of the gameboard within in the allotted. There are three levels implemented right now. Each level get progressively harder. Level one starts with 3 types of defenders and one type of attacker and the timer is relatively short. The second level adds in another defender and attcker type and you must defend for a longers period of time. Finally the third level adds another type of defender and there is a longer timer. The attackers spawn rate is determined by setting a vaiable of how many times you would like to see the attacker, then calculating a threshold number((1/seenEverySecond) * Time.deltaTime / 5), and if the threshold is is greater then a Random.value then the attacker spawns. You can play the game Here.

During the second half of November until January I did my final course, Unity3D. It was fun to expand on the same ideas that we had in the Unity2D course but add in the the 3rd plane. There was alot of added features we touched base on like terrains, fogs, lighting in 3D, skyboxes and positioning are just to name a few. I also learned a little on water effects and binary serialization for saving player info on my own time.

Network Engineer at triOS College

September 2007 - September 2008

I learned about computer hardware and software, networking, servers, linux, SQL and security. I've completed a number of Comptia and Microsoft certificates. A+, Net+, Linux+, MCSE: Server 2003, MCTS: Windows Vista Configuration and SQL Server 2005, MCP, MCITP: Enterprise Support Technician, are to name a few.