Clicky Game – Development Journal 0001

Because I have no life, and because I really suck at having good ideas, the concept of Clicky Game was born.

Now ordinarily I wouldn’t bat two shits at this thing after having written something like that, but I wanted to use this as an opportunity to really dig deep back into C++ and use some of the features in C++11. I just want an excuse to use lambdas liberally. 🙂

I’m doing a few interesting things with this project. First of all, I’m writing it in Visual Studio. Yes, I know, blasphemy. The reason for this though is because my new job throws me into a DevOps-type position where I’m going to have to be writing code for integration into an ERP Package we use. Unfortunately they only provide an API in C# and since we’re a majority Microsoft Shop, I need a MSVS Primer. This would be it.

Sticking with the badassery that is MSVS, I’m trying out Team Foundation Server for VCS. This is drastically different from my traditional use of Git. So far, I hate it. It’s OVERKILL for a single dev such that it’s almost not quite suitable for a single dev. But we’re going to stick with it.

So far, I’ve had two solid days of coding (about 12 hours a day) and I’ve gotten into this interesting area where I’m very heavily extending the SFML Framework that I’m using for the major library. It’s actually a really good library. It’s just missing a lot of things that I need. For example, there is no native construct for handling 2D animation. I find this to be a little odd since it’s primarily a 2D library. But that’s sort of cool since it lets your roll your own implementation. It also doesn’t have any native constructs for UI. This leaves me in a bit of a predicament since there’s no real solid UI library that integrates with SFML (guichan is strictly for SDL/Allegro) so now my current task has been to create a bit of a library that does this.

Doing all of this seemingly extra work is actually pretty cool since I’m able to use modern coding features like named lambdas for event handling (by use of std::function wrapper for class member). As another challenge, all allocations are dynamic keeping as little overhead on the stack as possible. So far, this seems to have a tremendous performance benefit but, as you could imagine, it’s requiring A LOT of double checking for things like new/delete pairing, reference/dereference members for appropriate address/value access syntax, test assertions on members prior to use in expressions even in places where it may be safe to assume that the memory should be successfully allocated and the respective member instantiated, thread safety, cross-member asset access, etc… A lot of really interesting technical hurdles.

I think I’m going to do a little bit of a piece on this for the next installment of “Something with Greg” which is shaping up to be the programmer episode.

“Something with Greg” Is a Thing

I decided to keep going with my bi-weekly discussions and title them “Something with Greg.”

The first one will always be available on SoundCloud but starting with the one I released on Monday, the episodes are hosted via Libsyn. Right now I have federation on Pocket Casts and, as of today, I’m excited to say that I’m now on iTunes. All you have to do is search for “Something with Greg” on either app and you’ll be able to find the installments there.

My goal with this is to have nerdy conversations either with myself or with anyone else who wants to have a chat. I’m working on getting a guest for the next one but if anyone wants to have a conversation, please let me know and we’ll see if we can get something going!

You can get to SWG on iTunes here.

Extra Goodies to my Latest Something

I wanted to add some follow up information to my latest “Something” that I posted on SoundCloud last night. You can listen to it here.

One of the things that I talked about in some detail was having to resolder a DB-25 Male to DB-9 Female Null Modem cable. The actual process wasn’t stressful or anything but it was very time consuming due mostly to the constraints of the problem domain. I wanted to share a photo of the “Mad Scientist” desk that this turned into. I need to get better tools for doing this stuff. 🙂

Resoldering a RS-232-C DB-25 Male Connection
Resoldering a RS-232-C DB-25 Male Connection

I’m still looking into the digital signage programs for the Raspberry Pi. I’ll have some time today to dig into this. Of course I’ll be playing some video games tonight or watching anime so I need to balance that time out.