Doug Daniels Dev Blog

Random ramblings of a developer.


Below are a couple detailed examples of my professional work over the years. If you’d like a more summarized complete view of my professional work check out my CV/Resume.


Senior Software Engineer 10/2010 - 09/2012

The Ville - 2012

  • Developed tools and technology to support designers making facebook games
  • Developed and supported massively scalable server technology to support millions of daily active users for The Ville product

Electric Bat Interactive

Lead Software Engineer 9/2008 - 10/2010

Weblords - 2010

Weblings 2.0 Pets - Launch April 2010

Weblings Initial Release - September 2009

Terracotta Distributed Memory Clustering

During our initial server architecture design we researched various ways to handle scaling of a Java server in a clustered environment that is using Hibernate as its persistence layer, and we came across a very powerful technology called Terracotta.

Terracotta essentially extends the Java memory model and concurrency model to multiple distributed JVM’s. This allows you to write your Java applications as a “normal” multithreaded application where some of the “threads” are actually the other distributed JVM processes. Below are some sample technical write ups I did describing Terracotta and it’s potential application to our server architecture.

  • Webwars Terracotta use cases
  • Terracotta Tutorial


Software Engineer 10/2007 - 9/2008

Java MMO Client With Guild Wars Server:

I worked on an unannounced project building a java MMO client using the jmonkeyengine which uses OpenGL to implement a scenegraph 3D engine. The client is connected to a modified Guild Wars server through a cross-language messaging system similar to Apache Thrift or Google protocolbuffers.

Java World Builder Tool:

At NCsoft we were building a 3D Java MMO game client, and also we built Worldbuilder tools in Java to allow designers to build different zones for the game. The following is a video demonstrating the capabilities of the Worldbuilder tool written entirely in Java utilizing the jmonkeyengine OpenGL technology.

Java OpenGL 3D Applet with Google Maps

We wrote a prototype to demonstrate a 3D Java applet that uses the jmonkeyengine that can communicate with Javascript applications and webservices using JSON messages. As an example we had a 3D globe that could be rotated and animated and the user could select a point on the 3D globe and the embedded Google Maps view would reflect the Lat/Long selected.

General Dynamics C4S

Software Engineer 1/2004 - 10/2007 Work was done for Government and Military contracts, See my Resume/CV for details.

Bay Computer Associates

Software Engineer Internship 6/2003 - 8/2003

I worked at Bay Computer Associates as a summer intern doing embedded software development and had the great opportunity to work on a variety of projects ranging from building a TCP/IP protocol stack and embedded web server to control an embedded device, to building .NET applications to support bug tracking and feature requests.