Friday, December 19, 2008

Thinking about...

I'm moving on to now to read up on Cocoa.

I've been mulling over in my mind, whether I would write my editor/engine all in Objective-C 2.0 or write a bridge to C++. I'm feeling like a rookie athlete. I'm new to Objective-C and thus, I'm doing a lot of thinking in the game, instead of things coming natural to me, and just reacting.

I think I will use Objective-C 2.0/Cocoa to handle system internals (the iPhone Framework, and Mac OS X), and use C++ for everything else. From the Apple docs..

In Objective-C++, you can call methods from either language in C++ code and in Objective-C methods. Pointers to objects in either language are just pointers, and as such can be used anywhere. For example, you can include pointers to Objective-C objects as data members of C++ classes, and you can include pointers to C++ objects as instance variables of Objective-C classes.

Of course, I'll be using OpenGL ES so that means C will be mixed in as well. I'll wrap the OGL ES in C++ classes. Also, thrown into this gumbo will be Lua which is C as well.

Some may be saying, "Apple's documentation says no interpreted code can be run on the iPhone, and Lua is interpreted." Well, I thought that as well, but then when I started seeing all the sophisticated games on the iPhone, I knew they hadn't reverted to using bit field logic in their games. The license agreement means that code that is intended to "download," and bypass the Apple Store cannot be run. Lua is running on the iPhone.

I am now 14 days into my journey. Wow! In 2 weeks I've actually accomplished quite a bit of things, and that is working on average 5-6 hours in the evening. I wish I could crank more time, but I do have to sleep, work my real job, and spend time with my two teenage boys.

I have implemented some things to help in my research time, and I wouldn't recommend for everyone. I keep a folder of printouts of things I wished to read and know, if traffic is backed up or crawling I get a little reading in. If I have some kind of appointment and have to wait, I'm reading...waiting in line for something, I'm reading. Anywhere I am alone (no one with me that I should be engaged in conversation) and there is free time I'm trying to maximize it.

I have put together a more detailed list of my tasks. I always keep narrowing the tasks to sub-tasks. I have created a tentative monthly milestones for myself as well. I have to have a road map, so that I'm not flailing all over the place. Every now and then I might diverge to try something that came to mind, but I've learned over the years that by giving myself imposed deadlines, and milestones, that on my journeys I will not get discourage because I can track and monitor what I have done with my time.

Right now at the beginning of this journey the road looks very, very long, but I know that I wrote, edited, storyboard, pre-production-ed, directed a weeks shoot, did another 3 days of pickup shots, and then edited a 4 hours of film down to a 40-minute movie (the movie, the movie, does this guy ever stop talking about that). The reason I bring it up is that I know the road looks daunting, but I know I can do the work, its just time...so since the time is limited I have to be laser focused and know the path.

No comments: