Clang plugin development tutorial

The past week I’ve had my hands deep in ‘build system’ land.  It’s been frustrating as hell!  The goal was to pull down the clang source and start hacking away at a quick plugin to see what’s possible and if I can transform the code tree automagically.  Boy was I off on the quick part.  One problem after another trying to get things to actually build.  Since things were so difficult for me I figured I’d share what I’ve learned in case it can help someone else. (Read more…)

7 Comments

The Numbers Game

I often read AltDevBlogADay and love the amount of great articles that are posted there!  Today Kristen Bornemann made a good post on the topic of game cloning.  She touched on a point that I find will be very important for the future and I think the cause of it is all because of the numbers game that we as humans are playing.  So I felt the need to gather a couple of thoughts and give an explanation of why I think it’s going to become more and  more of a reality, and that there’s really no point in fighting it, but instead try to be ahead of the curve and provide more than what others can.  Here was my response:
(Read more…)

Leave a comment

Freemium Pricing

Through the copious amounts of stuff that I’ve read about pricing over the past couple of years and the work I’ve done at school so far, I’d like to believe that I have a decent idea about what exactly the Freemium pricing model is all about and why it’s so hot right now.

I’ve obviously been trying to think about pricing strategies and where to place my games/products in the mix. I figured I’d write up some stuff on the different pricing models in general. … But since I’m no expert, and TechCrunch had a great post on the freemium model yesterday, I’ll just post this well placed link right here ;)
(Read more…)

Leave a comment

New Site Design

I am pleased to announce the new website design for Get Off My Lawn Entertainment!

The old template was something quick that I found when I first set things up because I am not a web developer (in fact I have quite the aversion to it).  The plan was to then get someone to make up a site for the business.  That didn’t seem to happen very quickly … or at all really.  I had already done a quick layout of how I wanted things to look for myself, and created some of the art, I just needed to hand it to someone to actually code it.  A couple of things got in the way.  I really didn’t know where to find someone to actually do web development for me.  Not that I couldn’t find one through a quick search, but I didn’t know where to look for someone that I could trust to have the skills to do it quick, at a reasonable price, and to hash out some more of the fine details of my quick layout.
(Read more…)

Leave a comment

sem_init: ‘Function Not Implemented’

I’ve been doing some thread related code lately and just came across a problem. I’m using a semaphore for a producer/consumer solution around a shared resource, the build thread to be exact. So multiple producers are wanting to flag that a build needs to be done, but there’s only one consumer (the actual build thread).

Finished up all the code and then hit play only to find that my build thread ran continuously and never waited. In fact it would run without a call to build! After adding in some checks on return statements I find out that sem_init always fails when trying to create my semaphore: “Function Not Implemented.”

Turns out Apple decided not to implement unnamed semaphores :( Instead you’re supposed to use named semaphores. Well I’m not a fan! Named semaphores are available to other processes too. That means that two apps can both open the same named semaphore and interact (note: I haven’t actually tested if apps can ‘actually’ cross boundaries on iOS, but they can on other systems and portability is important for the engine). And since this is in generic engine code, I can’t just pick a really unique name cause it would clash between two or more games based on the same engine.

As the CEO of Yahoo recently stated, “that was certainly a downer.” Guess I’m going to have to come up with my own solution now.

 

Leave a comment

My View on Views

I was going over some GUI related code the other day and saw something I figured I could share with the world. Don’t design your views through inheritance. Design them through components instead. Not that this is GUI specific, but I tend to see the same problem again and again when people think about designing GUI related code.
(Read more…)

Leave a comment

Clipped Wings

Well it looks like Angry Birds has gotten their wings clipped and been bumped from #1 for a couple days straight now. The culprit is The Heist. I haven’t actually played it, so this is not a review or anything, although I really like their startup video (I was totally waiting for Jack Bauer to show up). I’m actually more impressed with how fast it’s gotten to #1.
(Read more…)

Leave a comment