• Collaborative Editing in Unity3D

    Over the last few day I’ve been considering different approaches to collaborative development in Unity3D. Unity is a powerful and versatile tool, but collaborative editing can be problematic. I’ve worked on several team projects using Unity, and the process has been pleasant overall, but it required us to make certain concessions. In particular we had to agree upon a way to handle scenes. The free edition of Unity limits asset serialization to binary mode, which means no merging of scenes. Unity Pro provides a preference to output to text (Edit > Project Settings > Editor Settings > Asset Serialization > Force Text), which makes merging feasible, but not easy. In a collaborative environment it necessary for multiple people to work on the same scenes. In previous projects, the solution was a combination of the following: working together on the same computer, working in a queue, or working on the same scene.

    May 23, 2013 | post read more »

  • Sagittarii Run


    Over the course of 30 weeks I worked on a team of 1 producer, 3 programmers, 4 designers, 3 artists, and 1 qa tester. During this time I filled the role of Lead Programmer on the team. The team chose to develop our game in Unity3D, which would provide us an accessible interface and fast iteration time. We initiated the development cycle by prototyping various concepts until we agreed to develop a fast paced networked arcade racing game set near a black hole in space. It's worth noting that our game, Sagittarii Run, won RPI Gamefest “Excellence in Visuals Award” for the most impressive moment-to-moment visual experience.

    Apr 25, 2013 | project read more »

  • Tools and TCP Networking

    Bezier Curve Server Client

    On and off for the past several weeks I've begun implementing different functionality to allow me to stream changes over the network from an editor window to the viewer window. Ideally, when I complete this I'll be able to add, remove, and modify vertices in models in the editor and stream the changes to the viewer.

    Mar 17, 2013 | post read more »

  • Bezier Curves

    Golden Spiral

    Several weeks ago I implemented a Wavefront OBJ importer for bezier curves. I implemented it in C++ as an extension to the graphics base code that I had been working on prior to this. The implementation allows me to import and render any bezier curve that follows the Wavefront documented format.

    Mar 17, 2013 | post read more »

  • Allocators


    While it's easy to allocate memory through dynamic allocations, the results leave little to be desired. Dynamic allocations are performance heavy and result in fragmented memory. To alleviate these issues, allocators can be used to more efficiently utilize memory. For this post, I'll be looking at several non-growable allocators.

    Jan 28, 2013 | project read more »

  • Windows Presentation Foundation

    As a small project, I wanted to become familiar with Windows Presentation Foundation with C# (.NET). To do so, I created a small pace calculator application using Visual Studio 2012.

    Jan 20, 2013 | post read more »

Hi, I am Chris Brough. I am a twenty-one year old senior studying Game Programming at Champlain College in Burlington, Vermont.

I've had an immense interest in technology and video games for as long as I can remember. When I'm not developing my knowledge in programming, I enjoy drawing and playing video games.

Among the many interests I have in programming, I'm currently focused on data-oriented design, networking, and 3D graphics.

Feel free to contact me at chris@chrisbrough.com.