Painting – Slowly Building A City

After almost 20 years of playing wargames on grasslands filled with random ruins, I decided to get me something completely different. The infinity universe looked pretty neat, especially because the parent company (Corvus Belli) has made agreements with various other vendors that allow them to create matching scenery. This provides a much richer ecosystem in which in you can mix and match the various buildings, vehicles and even game accessories. One company that stands out from this crowd is Micro Art Studios, they provide a nice set of MDF buildings that are relatively easy to assemble (no glue required!) that look amazing. Playability is apparently not as good as other ranges, but I wanted a cool looking gaming table.

Testing a layout before any paint has been applied.
Testing a layout before any paint has been applied.

So far I got me the corresponding gaming mat (highly recommended!) and one each of the 3 largest buildings. Not being the best scenery painter in the universe (I’m a bit lazy) I decided to give the following a try, first undercoat with a dark brown primer, then do a much lighter coat with a light brown only spraying from above. I picked out a few highlights with bright neon paint (Vallejo) and hand-painted some windows in. All in, it took me about 2 hours of work per building. Pretty efficient if you ask me.

For one of the buildings I also tried a simple weathering technique I picked up at some forum. Before applying the second layer of spraypaint, glue some salt to some random spots with hairspray. After the second coat dries, brush the salt off and you’re left with some pretty natural looking weathering. Off course it’s a bit messy, but for scenery I’m ok with it.

Next up for scenery, some scatter terrain (billboards) and lots of Maki Games containers.

One of the finished buildings. Only detail work is on the windows and the little yellow dots.
One of the finished buildings. Only detail work is on the windows and the little yellow dots.

Achievement Unlocked!

Part of being a software developer is having tons of small side projects, either at home or at work. Most of them die a lonely death, but some are an unexpected success. One such success was a small tool I built over the course of 3 evenings. It hooks into the gamification hype, and doesn’t actually do something spectaculair, but it was quite a hit with the colleagues.

Part of the daily grind is interacting with our subversion repository. As we follow strict guidelines for layout of the repo and commit messages, it turned out to be quite simple to build a small (.NET) library that you can feed information about subversion commits, e.g. author, files changed etc. In the library there are a bunch of simple classes (achievements) that listen to specific information. Once the right criteria are met, the achievement is unlocked for that user. Writing and building new achievements was made pretty trivial, just add a new class that implements a specific interface and you’re done. The library does autodiscovery of available achievements and does all the plumbing.

Now with that in place, I had a list of achievements (with semi-funny names) for each user. Of course there are a zillion ways of presenting those, but I decided to put them onto one of our permanently on slideshow tv-screens. The tv setup accepts image files with exactly full-hd resolution, so that limited the options a bit. (e.g. no html rendering). Being a WPF fanboy, I gave that a look, and it turns out you can render any WPF control to a bitmap, also scaled differently. So I hacked together a little WPF app that shows the achievements on half-full-hd resolution, when the results look ok I hit a button and the layout gets rendered to a bitmap which then gets put into rotation on the tv-display for a week.

As the achievements are a nice mix between fun one, ones that promote good practice and a few ‘oops!’ ones, colleagues like seeing the weekly overview a lot. Next up is full automation, but as this is a side-project I only work on in evenings that may take a bit more time.

The Joys of Open Source

On the job we use a large mixture of technologies, from open source javascript libraries found on github to expensive professional development IDEs like Microsoft Visual Studio. In the past (little over a year ago), all our builds were done through custom build scripts, we used ant here and there but most of the plumbing was done through a set of well-maintained shell scripts. Last year we decided to standardize on more fancy build chains, for the build process itself use maven wherever possible, use jenkins on the buildserver and store all artifacts in nexus. So far so good, we managed to get pretty much all of our projects ported to this new build-chain (we still have some oddball projects on the todo list). Things that are supported out of the box (java stuff) works like a charm, create some simple poms, add a few jenkins jobs and you’re done. Integrating other projects (c++ projects that have to be built with Visual Studio on Windows and gcc on Linux) are a bit more problematic. For some reason there doesn’t seem to be a simple way to do this, but we managed to get things to work by building larger, more elaborate poms. (More poms is better right?).

In our own development cycle we take the slow&stable approach, which has worked well for our company over the years, but now that we start using more and more things that depend on fancy open source things, we keep hitting small speed-bumps that seem to be the result of the ‘move fast and break stuff’ mentality evangelized by various communities. Over the past month we had release builds fail because some library that was stuffed deep into the dependency hierarchy made some breaking changes, all jenkins jobs started failing today with uninformative errors because it was deemed necessary to support >8GB files (breaking other sizes) and we have to manually restart various bits and pieces of the build environment on a regular basis because automatic updates break stuff all the time.

So up till now the experience has been mixed, being able to build your entire project by clicking a little ‘build’ button is awesome, spending hours on wild goose chases because somebody pushed untested software to all users is a little less awesome.

Painting – The joys of light

After years of only painting on Sunday afternoons (because that’s the only time the sun shines, I’m not at work and don’t have to shop for groceries), I decided to get myself a daylight lamp. Boy, what a joy it is. Being mildly color-blind, I can usually hardly distinguish brown from green in the evenings, but now I can finally do pretty neat shading, fine detail and highlights that all still look good in bright daylight. Best 50 euro spent on hobby stuff this year. (Btw,  this is the lamp I got.)

WP_20150330_004

Zombicide – Painting the little monsters

WP_20150413_004For my birthday last month my friends got me a copy of zombicide: prison break. I missed the kickstarter, so quite happy with it. So far I’ve played 3 games, all wins, yay survivors. This is also an excellent opportunity to relive my speed-painting-glory-days, no one likes neatly painted zombies.

The scheme I came up with so far:

1. Spraypaint bone white (the army painter)

2. Paint all clothing with a single layer of vallejo game color, not too dark or bright

3. Paint all skin with slightly watered down brown ink (vallejo again).

4. Paint the base gray.

This works reasonably fast, I have painted almost all zombies in little over a week, and should be finished by the end of the month.