Tuesday, April 17, 2012

Final Project Indy Game Journey #5

Towering Vertical Slice Title Screen

This week we worked on completing the rest of our verticle slice. A vertcle slice is a small section of our game completed in two weeks so that our professors can gage where we will be at in development in two months based on our performance her. I was assigned the task of completing the primary weapon for our game and the bullet. I researched for a bit of time and came up with a pretty nice tutorial about how to create a machine gun in first person view. This was not what we had intended, but I completed the tutorial because the weapon was exactly what we wanted. I then took the time to pick apart the code and add it to our 2.5D view. This lead to a few bugs that took me some time to work through, but I ended up coming through and working them out. Unfortunately, the team decided to not add this work to the vertical slice and save it for our alpha build.

I then decided that until I got word if anyone else would need help that I would research how to edit our new machine gun and make it shoot like a shotgun. I found a few answers on the Unity forums and I saved them for work next week. I also found that I will need to do an inventory so that the player could pick up the shotgun from fallen enemies. I will also need to get the enemies to shoot or hand the shotgun off to whoever works on the AI.

I shortly got some word that there was some bugs with the player token a team member had imported and I had tried my best to work out the bugs with her. I informed them that the model imported may not be allowing us to get the functionality we wanted, so we ended up scrapping that model and moved onto new methods. I then had a chance to help another team member out with removing our stand-in skybox to replace it with the one we wanted for our mini-map.

I also got informed that a power-up still needed to be added to the vertical slice and coded, so I volunteered for that because of being done with my gun and assigned responsibilities for the week. I found a tutorial that walked through an activated bubble shield and I thought of editing that to meet our needs by adding it as another health that would revert back to the player’s health when the shield reached zero.

Our lead programmer Andy then informed me that there may be an easier way and pointed me in the general direction. I jumped into coding with some team members that are new to programming to help them learn a bit of coding. Unfortunately I got a bit lost with the way Andy thought of doing the shield and he ended up helping us out in a Skype conference. I was able to follow him step by step and I learned a lot of what I was doing wrong and the correct way to accomplish the shield with Andy’s goals in mind. We got a bit hung up before completing the bubble shield, pick-up, and random enemy drop code, needed to make the bubble shield live in-game, and I was back to researching out a collision bug we were having. Andy then figured out the bug and the team brought together all of the completed pieces of our vertical slice.

Below is a link to our vertical slice application download. Feel free to play it to get a sense of where the game is going and our progress after two weeks of development!


Next week I hope to code the shotgun and shotgun pick-up, get Perforce set to source manage Unity with our team, see my personal developed primary weapon added to the start of our alpha build. I have set a goal of completing my sections by Wednesday of this week so I can assist when needed without loosing time in my assigned development tasks.

On a side note, my website is finally under development! I will keep everyone updated through Twitter, Facebook, and here on my blog. I am always looking for talented people to work and network with. Feel free to follow this RSS and my Twitter feed, friend me on Facebook, and connect with me on LinkedIn!

Sunday, April 1, 2012

Final Project Indy Game Journey #4

This week was a whirlwind on decision making, running with those decisions, and not looking back. We got to choose the Unity game engine as our development engine instead of the Unreal Development Kit. This opened up the opportunity to use C Sharp and or JavaScript instead of UnrealScript to code. Once we moved forward I jumped right into Unity and JavaScript tutorials. I chose to start with JavaScript tutorials because of the amount of help and sample code on the Unity forums and website. At the end of this week we had to have the foundation of a vertical slice completed. This vertical slice is a small sample of our game that will give our professors an idea of the time, effort, and abilities our team has to get this project to a gold build.

(Powered by Unity)

Since I was already introduced to Unity through my own research for potential jobs and internships, as well as a bit of experience from class, I felt pretty confident to move forward quickly. After a few hours of tutorials to brush up, I jumped head first into Unity and JavaScript and coding the sections of a vertical slice that is due this week. I started with trying to get a player token moving on the x and y axis, while locking movement on the z-axis. This is because of our 2.5D camera design. I was then informed that Andy Poquette had finished that, so I moved on to researching our camera and followed a 2D game tutorial that Andy had linked to our team.

After finishing the tutorial and seeing how a 2D game can be made in Unity, I reviewed the code Andy had put together that made our first week nearly complete. The only issue he was having was with our enemy moving in the z axis and the enemy shooting from odd locations. I researched the movement and shooting issues and came up with a few solutions. This is where I talked it over with Andy and he helped clear some things up with me.

After my coding, research, and tutorials, I turned my attention to our backlog and getting what I believed needed written with Kelly, Kyle, and Ed. I mentioned everything I thought was needed and decided to help out with better breaking down the programming sections of our backlog. The backlog will show us everything we need to accomplish and our timetable to complete each. We also are using a version management system outside of Unity called Perforce, but Andy Poquette and I are buying the pro version of Unity so we can use the integrated version management system as well.

(Week 1 Towering Verticle Slice Progress)

After this week, I am getting a good understanding of JavaScript, C Sharp, and Unity. I am feeling a lot more confident about success next week and look forward to the work. Next week I will be further programming and getting specific programming role so that Andy, Ed, and myself do not step on each other's toes and complete code while another is working on it. This is something that happened this week. I am pretty sure I will be coding the weapons and deployable, but that can change after our Monday team meeting. We will have a playable vertical slice for all you readers to download and play!

On a side note, my website is finally under development! I will keep everyone updated through Twitter, Facebook, and here on my blog. I am always looking for talented people to work and network with. Feel free to follow this RSS and my Twitter feed, friend me on Facebook, and connect with me on LinkedIn!

Sunday, March 25, 2012

Final Project Indy Game Journey #3

Last week in development went well with everything that happened on my end. Mainly because I learned a lot in UnrealScript that is the coding language used in the Unreal Development Kit, the game engine we are using for our tower defense shoot 'em up game. I really want to get more comfortable with UnrealScript and coding in general because I am the second most experienced programmer on the team because of my knowledge of C++ and basic knowledge of JavaScript. This fact will make my scripting and coding ability important to stay on time with each of our milestones for development. 

I am getting more comfortable with UnrealScript by purchasing a new book, Unreal Development Kit Game Programming with UnrealScript: Beginner's Guide [Kindle Edition]. This book is written by Rachel Cordone and is great for people looking to start UnrealScript, like myself. It teaches you everything from the ground up and gets you right into UDK. I recommend this book for anyone looking to start coding in UnrealScript. The only thing I changed up from what the book teaches was using Microsoft Visual Studios 2010 to actually write the code.

After our staff meeting we were assigned the task to create two or three prototypes. We were given three options. One prototype option is one that would spawn different types of enemies on game start or with the click of a button. The second was to have these enemies that spawned move to a location on the map and change state, like fire an animation or shoot a weapon. The third, that my team member Andy Poquette pitched, was to design a tower that would take damage and get destroyed when it reached zero health. With this pitch from Andy our professor gave us another option to make the tower traversable and have functioning doors and ledges like we had mocked up in the previous week.

We had chosen to do to what we thought to be the two most code heavy prototypes from the start. This is because we want to get these mechanics up and running as soon as possible to have more time to design and polish later in development. After all, we only have three months to develop this game. We also had the task of updating our game design document and making a rough draft script for a video presentation we had to present to our college the following week.

Last week I was assigned to do the AI for our bots, which was one of our prototype options. My plan was to make the bot physics kick in, their animations enable, follow the player, and shoot within a certain distance. Unfortunately with my inexperience in UnrealScript, I had a bit of a hard time getting the bots to follow the player and fire their animations using UnrealScript. I also had a hard time getting them to hold a weapon because I had only ever programmed custom weapons using UTweapons. Thankfully our lead programmer Andy Poquette caught this, and we now know how to get the weapons working. I also forgot to call a default enemy controller in one of the functions I coded and that is the reason the bot animations were not working and why the bots were not following the player.

I then turned my attention to checking up on the GDD and video script to finish out my week. The only thing that sucked from last week was not being able to make the Red Bull Gaming LAN that came through Orlando over the weekend because of that snag with my UnrealScript coding. I was disappointed, but happy that I was able to get the code finished even if it took a little extra time after the weekend. This project is going to stay at the top of my priority list until finished so I have a great portfolio piece to add to my collection.

This week we needed to produce a video to present our game design to show to our college were professors and students sat in and asked questions once done watching the presentation. I will help with and study programming again, general game designs, and level design. I also video edited and produce the video for my team. This was my main focus to be sure the video presentation was up to par with showing all the students and professors in our degree program. I wanted to also try to help out our lead programmer, Andy Poquette, in any way I could to get our base mechanics up a running and code placeable with nodes in UDK Kismet for our none programmers to visually script. I also dug out my level design, game design, and UnrealScript books to make sure I have reading to brush up on during my down time. Anyway I can benefit the team, right?

(Pre-Production Presentation)

On a side note, my website is finally under development! I will keep everyone updated through Twitter, Facebook, and here on my blog. I am always looking for talented people to work and network with. Feel free to follow this RSS and my Twitter feed, friend me on Facebook, and connect with me on LinkedIn!

Tuesday, March 13, 2012

Final Project Indy Game Journey #2

So last week was pretty hectic. We needed to refine two of our concepts and then submit them for further approval. This was thrown at us on Monday night and we had our deadline on Thursday. With this in mind, we got right to the concepts, threw the old docs out the window, and started fresh. We decided to stick with the tower shoot-em-up, code name Towering, and the puzzle game, code name Vertigo. We also decided that the concepts we initially did for Vertigo were pretty well put together, but since we wanted to start fresh our team members Kelly Dayton and Kyle Rowan took the duty of rewriting the concept for Vertigo. You know how that goes; we are in college, original work is needed for each assignment, blah blah blah. The rest of the designers got hard at work refining Towering.

Shortly after the staff meeting with our professor on Monday we decided that Towering would be a better game to move forward with over Vertigo because of the need to have this title functional using the PC. We all agreed that Vertigo was designed with the intent of being a mobile title that would be played on devices like cell phones, tablets, etc. It would just be more fun to tilt and swipe at the screen with your hands then clicking and dragging with a mouse and keyboard. The next hurdle was convincing our professors, who are acting as the client and creative directors, that towering is the right game to move forward with. My only worry at that time was that the scope towering was too big and we would not get it done in time.

After all, isn’t that what 50 percent of game development is? Figuring out if we can reach that milestone for our gold build in the end? Of course the other 50 percent is asking ourselves; “Is this game fun?” To be honest, that continues to be a worry of mine, but I have faith and confidence that we can develop this game, polish it, and wow players, contest panels, and potential employers with the skills we have put together during throughout our time at Full Sail.

We tackled the new concept of Towering with the intent of wowing our professors and ended up doing just that with both documents. After we all finished Towering, we went back to Vertigo and finished that concept redux as well. The feedback we got from our professors was pretty much the same as we did on Monday with our initial concepts. They loved Vertigo again and urged us to move forward with that concept and weighed in that Towering might be too much work with everything that needs to be developed. At the time the design for Towering had an economic system, five enemy types, boss battles, and the list went on. It was a great concept, if we had a year to develop it. We only have three months. They did however assure us that we had the ultimate decision about which game to move forward with. I think both designs have great potential and fun aspects to them.

Vertigo is a an awesome puzzle game that throws the player for a loop with a tilting world, blinding clouds, and falling rubble that needs to be strategically place around the map to make bridges and plug holes. This rubble needs to be avoided by a player token so they don’t get crushed or fall off the map. Ultimately the player needs to place a solid object affect by gravity in a hole to unlock the exit.

Towering is a tower defense game that combines the shoot-em-up genre by giving the player freedom to place a friendly a auto turret anywhere they want to in their tower, blockades anywhere they want outside of the tower, and a variety of weapons that have to be strategically chosen since the player can only carry one at a time. There are a variety of enemies that move fast and slow, depending on their ability, and some that can even fly. The tower has health that must not reach zero or the game ends, but the weapons, power-ups, and deployable items can only be obtained outside of the tower. The player’s main goal is to make a last stand and fight through as many enemy waves as possible.

I voted Towering because the design seemed a bit more fun to me from a player point of view on the PC. There was also more work that could be delegated to our team members since we have six designers and are used to working in groups of three or four. I also see this game being great to develop using the Unreal Development Kit, which we are most custom to using throughout our classes at Full Sail University.

However, I would of love to develop Vertigo as well because one of the dreams I have in this industry is to become a level designer. Vertigo would give me many opportunities to design levels because it is a puzzle game with short levels. As I expressed before, I was not sure if we could nail the fun of the game withe PC controls. This is what swayed me toward Towering. We may be overlooking the workload of Vertigo as well. That is something we were expressed to by our professor. I do agree.

After we discussed it heavily we all agreed Towering would be best suited for this project. We now had to create the first iteration of our GDD. This was no easy task to do in just a 24 hours after we were able to take in our feedback and discuss the options as a team. We all got to work and I was initially put in charge of the tower and HUD with Kelly Dayton.

My initial HUD design was similar to the HUD found in Halo 3 because we want to have the player’s current weapon, weapon clip, deployable items, player health, tower health, and enemy counter displayed. After I pitched my idea to Kelly and mocked it up quickly. I was pitched a new HUD concept from Chris Permijo that purposed we use a HUD similar to the style seen in MMORPG or MOBA games. Everything would be displayed on the bottom of the screen to allow maximum vision of the play area and a nice central area for critical information. I loved the idea and helped refine it a bit.

(HUD Mockup)

This lead to Kelly and I doing the tower structure design and since Kelly was a bit overwhelmed I helped get her design muscles start flexing as well as mine with what I saw in my head for the tower. It is very similar to the HUD mockup above, minus one floor. This helped us finish up rather quickly and we moved on. I spent the rest of the day dipping into every design that was critical for our first pass GDD.

After that was done I handed the final rough draft to Kyle Rowan to format into a nice flowing document. We then started to take or hacksaws to the wordy parts and things that we thought would make the next three months hell if they stayed. We added those to a wish list. We also added flowcharts and mockups drawn up by Ed McFarland after corrections and review were completed by myself and Kyle Rowan. We probably could have gotten a lot more detailed and even gotten down to the niddy griddy of this document if we had the time last week. Working under the compressed schedule really gives us that feeling of milestones and due dates that I believe exist in the industry. This is one of those things I love about Full Sail University. I always learn a lot at staff meeting with our professor from the critiques of the previous week of work. This remained true at our most recent meeting on Monday 3/13/2012.

(Basic Game Flow Chart)


Next week I will be helping the team prototype some basic mechanics and functions of Towering suggested by our professor and another prototype that our team member, Andy Poquette, pitched and got approved. I will also be helping to refine and edit our GDD, produce the actual numbers for things like enemy health, speed, damage, etc, research student game competitions so we can follow their rules and guidelines throughout development, and help with a script we must put together for a game pitch video that is due in two weeks. Oh yeah, I’ll also sprinkle some extra fun on top of all that goodness =)

On a side note, my website is finally under development! I will keep everyone updated through Twitter, Facebook, and here on my blog. I am always looking for talented people to work and network with. Feel free to follow this RSS and my Twitter feed, friend me on Facebook, and connect with me on LinkedIn!

Friday, March 9, 2012

Final Project Indy Game Journey #1

Today I want to start off my series of blogs following the development process of my final project at Full Sail University. This will cover week 1 which was our pre-production period were concepts were designed. My team and I took the time to agree upon three design concepts to pitch to our three professors acting as our creative directors and advisors throughout the three months we will be developing our final project game.

We accomplished three concepts by having each of the six designers on the team pitch their concept within the team before submitting anything to our professors. After the concepts were complete, voting began to narrow down our six initial concepts into our final three. I then brought the top three design concepts together into one document. That had been submitted to our three advising professors to review and provide suggestions on a concept we should move forward to rapidly prototype.

After voting occurred, the concept I designed was not chosen. I had pitched a design that has the player control a fat cat that becomes faster as they progressed through the level. The objective is to juggle many different objects while dodging a playful dog attempting to tackle the cat to the group as one of the end conditions. If an item hit the floor, it would create a new obstacle for the player to avoid to continue juggling their objects. The player will have power-ups for their player token such as catnip, which increases the player token’s speed and agility. There would also be manipulators for the objects being juggled to alter their physics. This would allow the player to keep objects in the air longer to increase their score and ease play for a short period of time.

I had designed this concept using the MDA game design method I had learned in a previous course at Full Sail University taught by Zack Hiwiller. I like this method because of the focus on gameplay mechanics, player experience, the alternative approach to aesthetics, and what makes the game fun. You are able to see the design easily through your designer's eye as well as easily seeing it from a player's point of view by reversing the process. I think this is a really great method that helps get me through the design process. I am looking forward to see how the MDA method helps our development throughout the next three months of final project. Hopefully I can prove it as a valuable means of design and development to use for later projects.

While we wait for our professor's feedback, we are going to go over our current two concept choices, which are; a tower defense shoot-em-up and a puzzle game with easy swipe and tilt controls. Right now the majority of our team is leaning towards the tower defense game, but our professors seem to be leaning towards the puzzle game. This obviously makes our puzzle game concept a viable choice. By the end of the week we will have the first iteration of our living GDD written up and getting prepared to rapid prototype. This week has involved a ton of documentation, but it has been great learning and design exercise. I am very excited about moving forward, prototyping, and developing a kick ass final project that will make my portfolio look great and finally allow me to enter, and hopefully win, an indy game contest.

(Tower Defense Shoot-Em-Up)
Tower Defense Concept Doc Download

(Swipe / Tilt Controlled Puzzle Game)
Vertigo Concept Doc Download

On a side note, my website is finally under development! I will keep everyone updated through Twitter, Facebook, and here on my blog. I am always looking for talented people to work and network together. Feel free to follow this RSS and my Twitter feed, friend me on Facebook, and connect with me on LinkedIn!

Sunday, January 22, 2012

First Team Project & Finished Level

This was one of the first team projects I had the opportunity to work on. We were in development for one month in June 2011 to July 2011. I worked with Renee Wooten, Mark Sanders, and Ricky Warden. We used the Unreal Development Kit June 2011 version and Microsoft Visual Studios 2010 for development. The theme of the level is a jungle temple invaded by the robot enemies in UT3 multiplayer. Since I attend college classes online we worked remotely. The option of working locally was not available. It did prove to have it's own set of challenges.

I had the responsibility of working as team lead, lead level designer, programmer, and quality assurance tester. Being team lead was probably my most important role because of scheduling and planning work schedules, team meetings, crisis management, and over all management of the project with our lead programmer and fellow design student, Mark Sanders.

We did get pretty lucky with a team that had a wide range of skills. I had the most experience programming and the passion for level design. Mark had the most UDK skills at the time because of his vast time tinkering with it. Ricky was a solid beginning design student overall and was the person in the group that kept our heads on straight. Renee has passion for story design, immersion, and aesthetics. This was what really made this project work.

The hardest part of development was the little experience we all had in the Unreal Development Kit, Kismet, Microsoft Visual Studios, and designing in a team. We had a lot of trouble throughout development mainly because we were in the dark about UDK's level streaming. This lead to some work shifts lost, required reworking of the project more then we would of liked, a few kismet warnings, and a laggy level throughout development and at the end of development. The level just has way too much to load at once and chugs along on non-gaming rigs. I have attempted to fix the issue a few months back, but with my new knowledge in design and the workings of UDK I will have to see if I can rework the level to run smoothly.

So without further ado, below are some screenshots of our level. I would like to thank all the members of my team for making it a great experience, great gameplay, and aesthetically pleasing.

(Level Start)

(First Hall / Break In)

(Main Hall)

(Hidden Rocket Room)

(Courtyard)

(Tomb)

(Bunker Room)


On a side note, my website is finally under development! I will keep everyone updated through Twitter, Facebook, and here on my blog. I am always looking for talented people to work and network with. Feel free to follow this RSS and my Twitter feed, friend me on Facebook, and connect with me on LinkedIn!