Windows Development

Finally got around to making my snake game run on Windows (download). Requires Windows 8 and the 32bit / x86 Visual C++ 2013 Runtime.

3D Snakes and Visual Studio

Converting the game was straight forward. I spent a few hours trying to embed resources in the .exe but gave up and just included them in the zip. Wrote a simple (1 line) replacement for the resource path generator and changed some struct code from {.x = 5, .y = 10} to {5, 10} since the first doesn't work with Microsoft's c++ compiler. I was expecting that OpenGL would be the problematic part about going cross-platform - not C structs. The rest was lib/header search paths and a few other project settings.

The overall experience of developing on Windows wasn't great. Visual Studio has improved since I last used it. It took less than an hour to create a project, import the code, and get it to build with all external dependencies.

But the free Express editions have odd missing features. I had to use notepad to add an icon to the project. Since Microsoft is desperate to get developer to target Windows Phone then it would be a good idea to have a good, complete toolchain. A cribbled free version and a confusing amount of full versions isn't very appealing (the Microsoft Store lists 8 editions from a $499 Professional to a $13,299 Ultimate).

And for some weird REASON THE MENU ITEMS ARE NOW ALL UPPERCASE. It looks horrible. My first thought was of old DOS editors but even the MSDOS edit command has normal capitalization. As does everything else in Windows 8 - across both desktop and metro apps. It's a small, but very obvious, detail.

Windows 8 was a much bigger problem than Visual Studio. I've never used it for anything serious before (past experience have been IE testing and dealing with the IRS). This might just be because I've been primarily on OS X and Linux for the last 15 years but I can't imagine ever going back to Windows in its current state. Everything feels very counterintuitive. Especially when you are constantly switching between metro and the desktop.

It's not a good sign if the OS is the obstacle when learning a new consumer operating system and professional IDE.

Older posts

Ghost: Feature Latest Post

I recently updated my Ghost blog setup to always show the full content of the latest post. By default ghost only shows excerpts of all posts. This is a quick guide to setting it up. Start by adding a partials folder to the theme if not already present. Then add…

OpenGL Snake Game

Update 11 Mar 2014: Added a Windows version. Finished my OpenGL experiment today. There are some issues like light going though walls and not casting shadows - but it works. Drawing text was surprisingly hard. Most solution require huge dependencies like FreeType or are written for the old glBegin/glEnd…

Debugging Perspective

I spent hours today trying to find a memory leak in an Android app. The leak happened when scrolling in a table where each row contains an ImageView. The table is setup to reuse views and there is never more than 3 rows visible at a time. But for each…

Learning OpenGL

After stumbling on open.gl I started playing around with OpenGL again. It is a much better intro to how modern OpenGL works than anything I've read. A few evenings of reading and experimenting I had a few working demos. Some shader and depth testing issues later I had a…

Lost Dogs and Parse

At ZenRockers we recently released Lost Dogs in Denmark. A service for helping dog owners if their dog runs away. The app uses push notifications for which we used Parse. Parse has a lot advantages compared to writing a push notification service from scratch. Fast to implement (signup, create certificates…