Sprint Review

Programming Languages

Javascript PHP SQL HTML CSS Python

Game Engine + Level Editing Tools

Unity Havok Vision UDK Cryengine Maya ImpactJS

Project Management Tools

Perforce Hansoft Project Manager Trello Grindstone JIRA

Production Tools

Photoshop Dreamweaver Windows Suite Premier Audacity Lightworks


I first learned Javascript in undergrad for web development. My preference is to code server side with PHP but I do use Javascript for the occasional add-on. Most of the time though, I use Unity's Unityscript variation of Javascript for game development.



PHP is my preferred method of web development. It interfaces well with SQL for databases, works great for forms, and is great for delivering the webpage in a custom format for the viewer.



All of my experience with databases has been with MySQL. I had access to my own database space in undergrad but that disappeared when I graduated. Now I have a much larger private database space that I use for personal projects and as a test bed for professional work.



In grad school I had an Intro to Programming class where we learned and practiced Python. The class was for producers and artists to learn basic programming skills like conditionals and loops. I already knew these things from undergrad so the biggest thing I got out of the class was the basic exposure to Python.



Unity is my platform of choice for solo game development. I have been using the free version of Unity and plan to use that until I turn enough profit to afford the pro license. I use Unityscript for most of my programming and Unity's native GUI for my user interfaces. Thus far I have built a standalone PC game in Unity and am currently working on my first Android game.


Havok Vision

Our FIEA capstone game, entitled Escherreal, utilizes the Havok Vision Engine. We chose to use Vision for our game because of its beauty and programming versatility. After all, our main mechanics of flipping gravity and changing perspective are hardly standard. The biggest problem that I have with it is its lack of community support. And because FIEA uses student licenses, we were extremely limited to the amount of help we could request from Havok directly. Despite that, and the lack of pre-packaged entities, I have grown to respect the true power of the engine. The Perforce integration was a huge time saver as well for all of our devs, especially from the production side.



I have used UDK for a couple solo Level Design projects. The pre-packaged assets and the BSP brushes were pretty easy to learn. The community was very helpful and it was easy to find tutorials. I have barely scratched the surface with the engine in using it to its full potential. Kismet was useful though a little confusing at first. I am interested in learning more about it, and in making a full game with UDK at its core.


Cryengine 3

There is a running joke around FIEA that Cryengine is powered by tears. The graphics are pretty and its relatively easy to assemble a level once you get the hang of it. Community forums and tutorials were indespensible. I found that the Flow Graph system was very similar to UDK's Kismet which made the system easier to figure out. The Perforce integration, however, seemed buggy and caused frequent problems and a large amount of re-work for us.



I have a decent exposure to Maya. On Escherreal I basically became the art pipeline. After the levels were blocked out and were functional within Vision, I got a copy of the Maya files and populated the rooms in Maya. I then exported groups of objects, like bookcases and shelves, as Static Meshes to reduce draw calls. All of the objects in Maya were given to me by the artists, so that all I had to do was assemble and export them. This task was originally done by our artists, but there were only 2 of them and time was short. We had 7 Producers, which was half of our team, so the more we could take from the artists' plates the better.



I learned the ImpactJS engine for a solo game project at FIEA. I basically manipulated the source code from another simple game to build and customize my own game with unique features. It was called SCP: Incident 029-63a.



FIEA introduced us to Perforce at the beginning of the program and I have used it on every solo and group project since then. It was particularly useful on our Capstone project in identifying problem files and reverting to a previous build when necessary. It also seemed to interface very well with the Vision Engine, which allowed for a lot of parallel development.


Hansoft Project Manager

When we were developing Escherreal, my team utilized Hansoft for our virtual product backlog. All team members had access to this to update their weekly tasks in terms of time put in and completion status. After the daily scrum I went in and made sure that tasks had been updated in the system. Some team members were more proactive than others about keeping their hours logged, so I regularly had to keep tabs on everyone's tasks. Hansoft's reporting tools were useful in recognizing trends and submitting time logs to the faculty for grading purposes. The Quality Assurance feature was useful for reporting and assigning bugs. My only real problem with Hansoft is that it has built in values for ideal time estimations. For that project in particular, these values were too large to be useful for us. So I had to track this data manually instead.



For Venture Track I proposed that we use Trello to handle all of the task management. It was a very approachable system compared to Hansoft's database interface. It was free as well, which is one less piece of software that we would have to get licenses for. There were a few downsides though. The first was the lack of data tracking tools. Trello provided notifications when something was changed but offered little in regards to tracking the progress of an entire organization. I had to go through the boards daily for each organization to compile this data. The second was the lack of self-reporting tools. Trello supported the sorting of tasks by either board or by due date. However, Trello could not distinguish between the completion states of tasks. For example, a developer does not need to see tasks that have been "Completed." So I built a web application using Trello's API that does that very thing.



I used Grindstone in grad school during the development of our capstone project. It was difficult to estimate tasks accurately since we were new to game development on this scale, new to the technology, and in the dark about how to do certain things. Grindstone helped refine our task estimations as we worked.



I have experiemented with JIRA a little bit through a free trial, but that is the extent of my experience with it. That said, I do not forsee any problems learning it, after using Hansoft for 8 months and Trello for 4 months. I also have an undergrad background in web development and databases, which is essentially the core of such a management system.



I use Photoshop on a regular basis. I have made custom graphics for websites, flyers and games. I have used it as a documentation tool for puzzles, mechanics, and features. I have also used it as a prototyping tool.



Dreamweaver is my goto text editor for my webdesign work. I prefer to work out of the Code tab and only use the Design tab for quick previews. At the end of the day, what I really care about is the color coding that Dreamweaver provides for HTML, PHP, CSS, and Javascript.



I am familiar enough with Premier to cut together a simple video. I used Final Cut in my undergrad too, so I know the basics of video editing.



Audacity is what FIEA recommended for us to do most of our audio editing. I have limited experience with it. I can do the basics like cutting dialogue, and creating SFX.



I learned and used Lightworks independently while making trailers for my solo projects. It is free to use and is not that unlike Premier or Final Cut.