Developer Blog

  • warning: Creating default object from empty value in /usr/www/users/smasher/deadpanic_drupal/modules/taxonomy/taxonomy.pages.inc on line 34.
  • strict warning: Non-static method view::load() should not be called statically in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/views.module on line 843.
  • strict warning: Declaration of views_plugin_display::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/plugins/views_plugin_display.inc on line 1877.
  • strict warning: Declaration of views_plugin_display_page::options_submit() should be compatible with views_plugin_display::options_submit(&$form, &$form_state) in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/plugins/views_plugin_display_page.inc on line 481.
  • strict warning: Declaration of views_plugin_display_block::options_submit() should be compatible with views_plugin_display::options_submit(&$form, &$form_state) in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/plugins/views_plugin_display_block.inc on line 193.
  • strict warning: Declaration of views_handler_field_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/handlers/views_handler_field.inc on line 641.
  • strict warning: Declaration of views_handler_argument::init() should be compatible with views_handler::init(&$view, $options) in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/handlers/views_handler_argument.inc on line 745.
  • strict warning: Declaration of views_handler_argument_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/handlers/views_handler_argument.inc on line 770.
  • strict warning: Declaration of views_handler_sort_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/handlers/views_handler_sort.inc on line 82.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/handlers/views_handler_filter.inc on line 585.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/handlers/views_handler_filter.inc on line 585.
  • strict warning: Declaration of views_handler_filter_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/handlers/views_handler_filter.inc on line 609.
  • strict warning: Declaration of views_handler_filter_boolean_operator::value_validate() should be compatible with views_handler_filter::value_validate($form, &$form_state) in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/handlers/views_handler_filter_boolean_operator.inc on line 128.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/plugins/views_plugin_row.inc on line 135.
  • strict warning: Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /usr/www/users/smasher/deadpanic_drupal/sites/all/modules/views/plugins/views_plugin_row.inc on line 135.

Making Your iPhone Game Data-Driven

Most new game programmers can create a one-level action or puzzle game, but get stuck when it's time to expand the game to multiple levels. OK they say, I'll need a big tree of if(level==2) statements or better yet a switch statement. If they're in an object-oriented frame of mind they'll create a GameLevel class with subclasses for GameLevel1, GameLevel2, etc.

Randomness in Games: Less Random Is Mo Better

While coding the "survival" mode for Dead Panic I encountered a common situation - I had to generate random waves of enemies to confront the player. This is a straightforward exercise, right? Pick a random enemy type, a random position at the screen's edge, and launch them at the player. Hmmn, that looks more like zombies popping off of an assembly line, not proper scary waves.

Dead Panic: Survival submitted to app store

The first update for "Dead Panic" has been submitted to the app store and is awaiting approval.

New Features:

Tales of App Store Failure

Tales of App Store failure

I'd like to highlight the realities of the income you get on the app store without major press coverage or promotion on Apple's front page. "Dead Panic" is still on the launch pad sales-wise, but this post will serve as a nice counterpoint to future rich-and-famous stories, and show what can happen if the party never starts.

What is best in life: Idea vs. Execution

There's an ongoing debate on the iPhone Dev SDK Forum about what is more important - the idea, or the execution? And I'd like to weigh in on the matter.

When Conan of Cimmeria was asked "What is best in life?" he replied thusly: "To crush your enemies, to see them driven before you, and to hear the lamentations of deyah women."