Skip to content

Archive

Tag: Learning

If I started 3D graphics programming targeting a desktop platform or XBox Indie, I would have felt hopelessly intimidated. Also, I would have gotten bogged down into textures and shaders.

Instead I started on the ITouch. By far one of the most powerful mobile platforms (not counting the PSP, likely no worse than the DS), it’s still a weeny tiny computer with little memory and processing power to boast. Here’s what I’m learning:

  1. Read/Ignore advice about what to use and what not to use. File it. It’ll be useful later when you really need it. Optimize a beautiful scene, not an empty screen.
  2. Live with polygons and normals and make the better of it. Textures are great to paint flags. You wanna make a 2D game or what?
  3. Keep game logic where it f*****g belongs. 1% to 10% of your processing time. Game logic includes NPC management, camera management, animation and simple physics.
  4. Hack from game engines (hey, I should really look into doing this!). Don’t use a game engine (unless you want to hand in low quality material right on time). Guys writing game engines are really, really, experienced and smart but… …their engines cater for too much to be either easy to learn or practically faster than anything custom built with minimum care.
  5. Write your own export routines for a start. Scripting 3D tools is easy and avoids importing and parsing stuff you don’t even want to know about.
  6. Don’t under-estimate GL transformations. Anything that moves/rotates, looks a different size, is nice and cool. Bone/Frame interpolation is nice, but GL won’t do it for you.
  7. Learn procedural methods. Anything you can evaluate at run-time without disrupting game play is something you can reuse at will, never need to load and hardly need an artist for.

What’s the conclusion? I wouldn’t code on a 10 years old PC. Too damn stupid. I wouldn’t test on a net-book – kind of lame. Starting on a mobile platform makes me feel happy, because mobile gaming has a bright, beautiful future. And the best part is, when I scale up, I’ll be fearless.

Happy coding :)

The apple dev center feels like a foggy, non linear nebula of documents – not really convenient either to get a comprehensive overview of how stuff works, or to come back to something I viewed before.
Here’s a few pointers to the most useful resources I found - Hope this helps you too.
If you’re completely new to the game, you’ll need to setup for iPhone development. Read my article for getting Started in 24 hours or less.

Application Programming - covers generalities, UI and event handling, graphics and IO.

  • View Controller Programming Guide – explains how to use view controllers in the CocoaTouch MVC paradigm. Explains how to manage tabbed panes and navigation bars to create multi-page displays of information.
  • Core data frameworks and device services -  somehow,
    Getting started with data Management provides links to various data frameworks, as well as how to handle touch events, geo-location, the accelerometer and device orientation.
  • Coding How-Tos - Covers much useful stuff with a hands on approach, unfortunately, sample code isn’t always provided.

Networking - Getting Started With Networking & Internet links various
(low level/compatible/object etc…) APIs for networking.

  • Networking for Peer to Peer Gaming - The GameKit programming guide introduces P2P networking over bluetooth and voice chat.

Application Management

The following pointers relate to the process involved in getting your application to be distributed on the app store.

Non-Apple resources

There is definitely a few blogs and other websites out there definitely worth reading:

Disclaimer

NONE of the above links is pointing at content created by the author of this blog. The content pointed at belongs to it’s respective owners. This article is not endorsed by Apple or iCodeBlog or whomever else.