Recently I was tasked with writing some code to convert between arbitrary time zones. I did some research and there are a few good libraries out there for C++ that make this task easy. I decided out implementation would use boost. We already use boost to handle various other things within our code base and some of the other solutions I found would require introducing some new dependencies I wasn’t comfortable with for this particular project.
I’ve been playing around in Visual Studio 2015, specifically with the cross platform C++ development tools. I started off by creating an OpenGLES Android/iOS project and trying a few things out in the sample project. I was able to build get the Android and iOS builds to work but not without running into a few headaches along the way.
The first issue I ran into was installing vcremote on MacOSX. Keep in mind that you wont be able to use the latest version of node.js. You’ll need to use homebrew to install 2.6.0. The initial install of vcremote was simple enough but once I actually ran the thing it was oblivious to my current homebrew installation and no matter what I tried it was unable to pick it up. I ended up having to remove homebrew and let vcremote handle the re-installation. I got most of it working but I find that I am unable to actually deploy to my device yet. Deployment to the simulator works but remember to set your build target to x86 first.
I also had some issue with my certificates. My initial builds all failed due to the fact that xcode couldn’t find any signing identities. I fixed this by opening the xcode project generated by visual studio and configuring the signing manually. I also had to remove the arm64 configuration because the static library project only built for armv7.
I then attempted to port an existing cross platform c++ mobile project I was already working on…. That’s when the fun began. No matter what I tried all I would get from visual studio is the following error:
clang.exe : error : no input files
It took me about an hour to figure out what the hell was going on… It all came down to a ‘-‘ in my root folder name. The path for my project was something like c:\projects\some-initial-project\src\blah.proj. I suspect the ‘-‘ was being interpreted by clang as a flag and screwing things up. Changing the directory name to c:\projects\someproject\src\blah.proj fixed it.
I’m still trying to learn more about how to properly configure this type of project so I’ll be sure to post as I learn more. Things seem to be moving along in the right direction so kudos to Microsoft for putting all this together.
I’ve spent some time this week learning more about MonoGame and testing it’s feasibility for use in Slug Chronicles. Needless to say, at this point in time MonoGame is receiving a serious amount of developer love from it’s contributors. I’m guessing that my approach to this has been a bit off the beaten path because I’ve had some trouble getting everything to play nice. I originally planned to do a lot of my core development on my Mac using MonoDevelop as my main IDE, as it turns out this probably isn’t the best approach. I finally did get most things working though and I’ve started experimenting with different project setups.
I haven’t been able to devote as much time to slug chronicles over the past few months as I would have liked, given that I have some updates as to the progress of the game. First, I would like to announce that all future slug chronicle specific update will be posted at http://www.slugchronicles.com , I’ll be sure to post here as well whenever there is some new information. In addition I am no longer using Unity3D for this project. Although Unity did help to get me up and running rather quickly I feel it is to cost prohibitive for me when it comes to deploying on additional platforms I would like to target. Let me explain.
I ran into an issue with MonoDevelop that was extremely annoying. I upgraded to the latest unity build this morning and it came bundled with a new version of MonoDevelop (4.0.1). There seems to be some nice changes in here but one of the first things I noticed was that my code was not being formatted correctly. My first attempt was to configure C# formatting via the preferences pane… I spent sometime making things look right hit ok and …. nothing. Worst of all, I restarted MonoDevelop and found that all my settings had been reset. After trial, error, research and heart palpitations here is what I found.
If you are a traditional game programmer such as myself, and never really dealt much with scripting then learning some of the paradigms of Unity3D can be somewhat shocking. It’s easy to learn once you change the way you think about how you are making games. Here are a few things I wish I would have known about Unity3D.