I created, optimized, and maintained UIs written in Lua and APIs written in C++. Implemented and maintained the upsell changes across multiple UIs when WildStar transitioned from the subscription model to free to play. Optimized the Who UI which involved a large rewrite of the UI. Implemented the loyalty page in the Store which stylistically details the players' loyalty rewards and maintained the Store as well. Implemented a new button state in the UI engine and updated necessary tools. Implemented multiple UI engine fixes and refactored the Live Event addon. Worked closely with Designers and Engineers in the refactoring of the Character Panel and implemented public event messaging for the Arcterra zone. Worked on fixing an internal testing tool. Reworked upsells when we began working on the China free to play changes and wrote two new addons for the China region. Implemented multiple APIs for Lua and wrote patch notes for my addon and API changes, which are public facing. Also used version control software in developing WildStar.
Everyone at Carbine Studios was great to work with and working on WildStar has been such a fun journey. I'd be happy to work with them again if I ever get the opportunity.
At Carbine I used Visual Studio, Perforce, Jira, internal tools/API for load testing, and modifying databases.



Torque 3D Dynamic Particle Mod

Torque3D Particle Mod from Tim Lake on Vimeo.

Most modern engines have dynamic particles but Torque is an older engine. The particles in Torque are considered an effect so they completely ignore everything in the scene and instead run based on a script. I wanted to learn a game engine and changing the behavior of the particles was a great way to learn.

I knew that I needed a general understanding of how the engine worked so I went to work with tracing the execution path of the engine. Using Visual Studio, I set a breakpoint in the main function and got a picture of the first important function calls. I followed those functions and learned about what was assigned and how. I used Visual Studio and Windows Grep to help navigate the code and find connections between classes like function calls and inherited classes.

Click to read more ...

Battery Life

Battery Life from Tim Lake on Vimeo.


For the Global Game Jam 2011 we used C# in XNA. We used XNA so that we wouldn't have to worry about a lot of the low level technology during development. Our team consisted of two programmers and three artists. We got the game finished within the two day period and I did some polishing up afterward. I also added in the sounds and music.

I created a collision system right away using AABB. Then I generated walls and the floor from tiles. I procedurally generated the walls position and color. We also programmed a procedural background to create a unique feel every time. Our artists exceeded above and beyond the requirements and created foreground objects. We did not have time to put them in during the game jam but I went back and added them in later. I also added a start screen, credits, Xbox controls and let the player replay the game without needing to leave the game. The other programmer spent a lot of time working on the animation of the robot as well as the controls of the robot.


Cathedral from Tim Lake on Vimeo.

Cathedral was inspired by the 2010 Global Game Jam that a group of students from CSUF participated in. Different pairs came up with ideas for a game and presented them to the entire group. After the presentation, we formed groups with ideas that we liked or with students with the skills that we needed. We spent the next two days working on the game. Our group decided to use Game Maker 8 because of how easy it was to make a game with it. None of us had used Game Maker before so we had to quickly learn how to use it. When we tried to follow our design that we had, we encountered a number of problems that we had to work through. By the end of the two days we had the introduction complete, the starting room, and the first level finished.

Click to read more ...