Re: Rethinking my approach; rather overwhelmed.
Re: Rethinking my approach; rather overwhelmed.
- Subject: Re: Rethinking my approach; rather overwhelmed.
- From: Josh de Lioncourt <email@hidden>
- Date: Tue, 17 Jun 2008 14:42:36 -0700
Hi Scott,
On Jun 17, 2008, at 12:31 PM, Scott Ribe wrote:
I don't even know that it needs to be off-list. Try giving just a
little bit
more info about what you want to do. I have an idea how you might
approach
setting this up, but I'm not clear if it's based on an accurate
understanding of your goals.
OK, I will try to lay them out more concisely here.
The company I work for (www.DraconisEntertainment.com) develops
computer games for the blind. THey are very similar to video games,
but rely on an entirely audio game environment. They range from
simple 2D board-style games to complex RPG-style games with rich 3D
environments, rendered in 3D audio.
Our old titles are Windows only, and aging rapidly, as they were
acquired by us from a now defunct company. We want to rewrite them,
mainly in C++, for cross compatibility under both Windows and Mac OS
X, as a huge number of blind computer users are making the switch
and requesting our games for that platform. I have been a Mac
convert for several years now, and though a newbie to Mac
development, am not new to the Mac by any stretch.
The games, when boiled down to their most basic components, consist
of:
1. Audio Ui. (We believe we've settled on a cross-platform audio
engine that offers a clean interface for working with OpenAL to do
both 2D and 3D audio that fits our requirements.)
2. Complex keyboard control. We need to be able to intercept
keystrokes, be able to determine when keys are pressed or released,
held in combination, etc. This includes the pressing of modifier
keys alone. We need to let these keys pass through to the OS unless
the game has need of them. Many games do this sort of keyboard
control. Under Windows we used DirectInput, a component of DirectX
to accomplish this.
3. Obviously, timing is everything in most computer games. Timing
down to milliseconds is essential. Nanoseconds is overkill. I
understand the concepts for getting the timing working with
mach_absolute_time() on the Mac using Duration objects to measure
the time in milli/micro seconds, but have yet to actually come up
with working code. I suspect this is because I am far from adept in
Objective C at this point. I don't believe I can write such code in
C++ to take advantage of mach_absolute_time(), but if would love to
be proven wrong.
4. Limited GUI, primarily for registration of the product via
entering a registration key.
I had initially considered expanded upon the GUI, to include game
menus in OS X's Main menu, but given the difficulty building the
GUI, had pretty much decided to revert back to audio-only game
menus, which is how are current titles work under Windows.
We need the GUI to be accessible with VoiceOver on the Mac side.
This limits us to Cocoa UI elements or Java Swing. I have little
experience with Java, which is very inaccessible under Windows for
the blind, so not really an attractive option.
5. We want the bulk of the code, especially game logic/control, to
be compilable under both Windows and Mac. My goal is to get Mac
versions working under Mac first, then moving the reusable code to
projects with Visual Studio.net 2008 under Windows, writing Windows
specific code for the necessary aspects of the project.
I have a lot of coding experience in a number of languages, though
some of that is a little rusty at present. I'm brushing up
currently on my C++ which I have not used in several years. Most of
my recent experience is with Visual Basic and C#.net. I have also
developed for the web with PHP/HTML/JavaScript, etc.
I hope this provides a better representation of what I hope to
accomplish. Please ask if anything is unclear.
Josh de Lioncourt
Mac-cessibility: http://www.Lioncourt.com
Twitter: http://twitter.com/Lioncourt
"The rich declare themselves poor,
"And most of us are not sure,
"If we have too much,
"But we'll take our chances,
"'cause God stopped keeping score."
Praying for Time--George Michael
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden