text:
Q: How to validate a select_date in rails Beginners in rails here, I try to allow the users to my company website to enter their birthdate with a date_select.
Everything works fine until I enter an invalid date such as the 31 of february. It gives me an argumentError saying that the date is invalid.
I'd like to catch the error without adding a gem to my config, but it's blurry to me and everything I tried during the last two days did not work.
This is my user.rb file
validate :ensure_birth_date_valid, if: lambda { mentee? && born_on.present? }

def ensure_birth_date_valid
  Date.parse(born_on)
rescue
  error.add(:born_on, :invalid)
end

Here is the form
<% if registration_for?(:mentee) %>
  <div class="lobbyForm-group">
    <%= f.label :born_on, class: 'lobbyForm-label' %>
    <%= f.date_select :born_on, { :start_year => Date.today.year - Application::MENTEE_AGE_RANGE_MIN, :end_year => Date.today.year - Application::MENTEE_AGE_RANGE_MAX, :order => [:day, :month, :year], :prompt => true}, {:class => 'lobbyForm-control w-auto'} %>
  </div>
<% end %>

Here is the code that transform the date_select into a date
def user_params
  if params[:user]['born_on(1i)'].present? && params[:user]['born_on(2i)'].present? && params[:user]['born_on(3i)'].present?
    date = Date.new params[:user]['born_on(1i)'].to_i, params[:user]['born_on(2i)'].to_i, params[:user]['born_on(3i)'].to_i
    params[:user][:born_on] = date
  end

  permitted_params = [:first_name, :last_name, :email, :password, :password_confirmation, :born_on, :marketing_communications_accepted]
  params.require(:user).permit(*permitted_params)

  params[:user].merge mentee: true
end

Here is the full stack trace error
/work/academos/academos-plateforme-web/app/controllers/lobby/mentee_registrations_controller.rb:36:in `new'
/work/academos/academos-plateforme-web/app/controllers/lobby/mentee_registrations_controller.rb:36:in `user_params'
/work/academos/academos-plateforme-web/app/controllers/lobby/registrations_controller.rb:25:in `create'
/work/academos/academos-plateforme-web/app/controllers/lobby/mentee_registrations_controller.rb:12:in `create'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/abstract_controller/base.rb:189:in `process_action'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_controller/metal/rendering.rb:10:in `process_action'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.1.11/lib/active_support/callbacks.rb:113:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.1.11/lib/active_support/callbacks.rb:113:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.1.11/lib/active_support/callbacks.rb:552:in `block (2 levels) in compile'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.1.11/lib/active_support/callbacks.rb:502:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.1.11/lib/active_support/callbacks.rb:502:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.1.11/lib/active_support/callbacks.rb:86:in `run_callbacks'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/abstract_controller/callbacks.rb:19:in `process_action'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_controller/metal/rescue.rb:29:in `process_action'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.1.11/lib/active_support/notifications.rb:159:in `block in instrument'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.1.11/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.1.11/lib/active_support/notifications.rb:159:in `instrument'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-4.1.11/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/abstract_controller/base.rb:136:in `process'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionview-4.1.11/lib/action_view/rendering.rb:30:in `process'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_controller/metal.rb:196:in `dispatch'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_controller/metal.rb:232:in `block in action'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/routing/route_set.rb:82:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/routing/route_set.rb:82:in `dispatch'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/routing/route_set.rb:50:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/journey/router.rb:73:in `block in call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/journey/router.rb:59:in `each'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/journey/router.rb:59:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/routing/route_set.rb:692:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:186:in `call!'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:164:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:186:in `call!'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:164:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bullet-4.8.0/lib/bullet/rack.rb:10:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/rack/error_collector.rb:50:in `traced_call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:55:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/rack/agent_hooks.rb:26:in `traced_call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:55:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/rack/browser_monitoring.rb:23:in `traced_call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:55:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/rack/developer_mode.rb:48:in `traced_call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:55:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/warden-1.2.3/lib/warden/manager.rb:35:in `block in call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/warden-1.2.3/lib/warden/manager.rb:34:in `catch'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/warden-1.2.3/lib/warden/manager.rb:34:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-1.5.4/lib/rack/etag.rb:23:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-1.5.4/lib/rack/conditionalget.rb:35:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-1.5.4/lib/rack/head.rb:11:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/remotipart-1.2.1/lib/remotipart/middleware.rb:27:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/middleware/flash.rb:254:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-1.5.4/lib/rack/session/abstract/id.rb:225:in `context'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-1.5.4/lib/rack/session/abstract/id.rb:220:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/middleware/cookies.rb:562:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-4.1.11/lib/active_record/query_cache.rb:36:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-4.1.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-4.1.11/lib/active_record/migration.rb:380:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.1.11/lib/active_support/callbacks.rb:82:in `run_callbacks'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/middleware/reloader.rb:73:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.1.11/lib/rails/rack/logger.rb:38:in `call_app'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.1.11/lib/rails/rack/logger.rb:22:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/middleware/request_id.rb:21:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-1.5.4/lib/rack/methodoverride.rb:21:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-1.5.4/lib/rack/runtime.rb:17:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.1.11/lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-1.5.4/lib/rack/lock.rb:17:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/actionpack-4.1.11/lib/action_dispatch/middleware/static.rb:84:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-1.5.4/lib/rack/sendfile.rb:112:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/sentry-raven-0.13.3/lib/raven/integrations/rack.rb:54:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.1.11/lib/rails/engine.rb:514:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.1.11/lib/rails/application.rb:144:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/newrelic_rpm-3.9.5.251/lib/new_relic/agent/instrumentation/middleware_tracing.rb:57:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/puma-2.10.2/lib/puma/rack_patch.rb:13:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/puma-2.10.2/lib/puma/configuration.rb:74:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/puma-2.10.2/lib/puma/server.rb:492:in `handle_request'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/puma-2.10.2/lib/puma/server.rb:363:in `process_client'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/puma-2.10.2/lib/puma/server.rb:254:in `block in run'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/puma-2.10.2/lib/puma/thread_pool.rb:101:in `call'
/home/jb/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/puma-2.10.2/lib/puma/thread_pool.rb:101:in `block in spawn_thread'

Can anybody help?

A: Ok, I see. This is the problematic part:
date = Date.new params[:user]['born_on(1i)'].to_i, params[:user]['born_on(2i)'].to_i, params[:user]['born_on(3i)'].to_i
    params[:user][:born_on] = date

You shouldn't be calling Date.new in the controller.
You can do something in the line of
date = "#{params[:user]['born_on(1i)'].to_i}-#{params[:user]['born_on(2i)'].to_i}-#{params[:user]['born_on(3i)'].to_i}"
params[:user][:born_on] = date

Now that you will have Date.parse('2016-02-31') and the errors can be added.

redpajama_set_name: RedPajamaStackExchange


Each day this week I've shared a new fun Halloween macaron tutorial, so I've gathered them together in this one final Halloween macarons post so you can see all four spooky designs in one place.
These fun decorated macarons make a really quick and easy Halloween dessert or treat and they'd be perfect to make in bulk for Halloween party food!
I was inspired to make these fun Halloween macarons when I spotted a mixed box of ready-made macarons in the supermarket earlier this week.
Macarons can be really expensive, but these ones were just £2.99 for 12 (from Lidl, what a bargain!) so it's worth shopping around if you want to buy them to make in bulk for a party.
If you're a braver baker than I and fancy making your own, I've shared links to some lovely macaron recipes in each individual post, but if you're short on time or don't fancy tackling tricky macarons, my cheats trick of decorating shop-bought macarons works just as well!
I created four quick and easy fun Halloween macaron designs. To find out how to make each one and for complementary macron recipes, click on each image below.
I hope you've enjoyed my Halloween macaron ideas, I had a lot of fun creating them and my mini testers thoroughly enjoyed testing them for me too!
For more easy Halloween food ideas like these, head over to the Halloween fun food section here on the Eats Amazing blog or pop over and follow my Halloween Pinterest boards for lots more fun ideas from around the web; Halloween Food, Healthy Halloween Food or Halloween Fun.
If you enjoyed these fun Halloween food ideas, please pin this post so you can find them again!


text:
Gannett Media Invests in 4Info Mobile Search
Loren Baker January 18, 2006
Gannett has made a minority investment in the 4INFO mobile search services company. Gannett also has entered into a marketing and distribution agreement with 4INFO, both companies said. Financial terms of the transaction were not disclosed.
Collaboration between the companies will begin with USA TODAY and be introduced to other Gannett newspaper and broadcast operations, including Captivate Network. This will include promotion of 4INFO's mobile real-time information such as sports scores and weather within relevant sections of USA TODAY.
4INFO's primary service allows a person to use their cell phone to send a text message search to the company's 5 digit number (44636). 4INFO service then replies with a personalized answer within seconds.
4INFO will continue to operate as a stand-alone company managed by 4INFO's executive team.
"Mobile search is rapidly becoming a logical choice for consumers who want to have instant access to the information they need, whenever they need it," said Jack Williams, president of Gannett Digital. "4INFO is the leader in mobile search and has developed a powerful technology platform that delivers instant, accurate results to users while keeping the experience intuitive and rewarding. Our investment and marketing arrangement is an excellent way to extend Gannett's multi-platform approach to providing content to our customers."
3 Changes to Mobile Page Speed & How It Impacts Search
17 Really Simple Ways to Get More Media Coverage from Search & Social
3 Social Media Strategies You Can Use to Boost Your SEO

redpajama_set_name: RedPajamaCommonCrawl


Download SEM ROOT DOWNLOAD SHADOW FIGHT 3 v1.8.1 HACKEADO para ANDROID – freshly developed program with some cool features and built in safety systems.
SEM ROOT DOWNLOAD SHADOW FIGHT 3 v1.8.1 HACKEADO para ANDROID – SUPPORTS Windows, Mac OS, iOS and Android platforms.
►Fala galera beleza? Aqui quem fala é o Argeu do Canal ArgDroid, E hoje venho trazer para vocês esse novo hack mod hackeado para o Jogo SHadow Fight 3, com Dinheiro Infinito, Unlimited Coins, Anti-Ban, MEga Mod e Mais! para vocês usaram e zuarem em suas contas (com ou sem root).
Enjoy SEM ROOT DOWNLOAD SHADOW FIGHT 3 v1.8.1 HACKEADO para ANDROID -.
All files are retested, fixed and updated as fast as we can, we can't guarantee that SEM ROOT DOWNLOAD SHADOW FIGHT 3 v1.8.1 HACKEADO para ANDROID – are up to date.
We are not responsible for any illegal actions you do with theses files. Download and use SEM ROOT DOWNLOAD SHADOW FIGHT 3 v1.8.1 HACKEADO para ANDROID – on your own responsibility.


text:
City Grand
At 5' 1" (155 cm), this piano is the smallest of the Steinway grands. This design was introduced in the 1930s to invite the majesty of the Steinway sound into almost any space.
"Probably the central thing about Steinway for me is the singing, sustaining tone... The tone that has personality, that's human, that's not 'just a sound' but seems to have a kind of life of its own."
Jeremy Denk
Length: 5' 1" (155 cm)
3 solid spruce with a volume of 1,050 cu. In. (17,202cm3); Spruce provides tensile strength with less weight. Maple dowels fasten braces to rim & crossblock producing a single homogenous foundation upon which is built the tonal component. Note: Treble bell is not required in smaller grands of lesser tensions.
Treble: twelve whole & one-half sizes from high-tensile Swedish steel.
Longest: Agraffe/bridge: 45½" (116 cm)
The one-piece continuous bent rim, 2 1/4" thick, is one of the most significant technical innovations in piano building. The rim provides the foundation for the beauty, stability, and quality of each Steinway grand piano. The rim of the Steinway Model S is comprised of 10 layers of hard rock maple — with both inner and outer rim being pressed together in a single operation — which provides the structural integrity that enables a Steinway piano to endure for generations. This unique rim construction has been an integral part of every Steinway grand piano since it was developed and patented by Steinway & Sons in 1878.
Created like the soundboard of violins to give a free and even response throughout the entire scale, the Steinway Model S soundboard is 8 mm thick in the center and tapers to 5 mm as it approaches the rim and outer case before being double crowned. The design permits complete freedom of movement while displacing a greater amount of air, creating a richer and more lasting tonal response. Close-grained, quarter-sawn Sitka spruce — which has unusual stability and vibrance under stress and vibration — is used exclusively for the soundboard.


text:
©2019 Green Matters. All rights reserved.
Home Page > News
Travel With Purpose: Destinations You Can Feel Good About Visiting
By Koty Neelis
Get green news right to your inbox!
Traveling can be one of the best experiences a person can have. Exploring a new city, country, or culture can be both exciting and life changing, yet we often don't stop to consider the ecological impact of our travels. In the 1950s, the world experienced over 25 million annual tourists (i.e., overnight visitors). By 2015, according to the Center for Responsible Travel, that number increased to nearly 1.2 billion---contributing $7.2 trillion to the world's GDP. Some countries, though, are working towards making their cities and tourist-friendly hot spots as sustainable as possible. For travelers with a desire to do good, these five destinations around the world will speak to your eco-friendly heart.
1. Costa Rica
Source: Flickr Creative Commons
Costa Rica remains one of the top places for ecotourism within Latin America--and for good reason. The country began making efforts towards sustainability long before it became a trend and it continues to remain a top global sustainable-travel icon. Whether you want a relax on the black sand beaches or take an adventure ride through the lush cloud forests and jungles rich with exotic flora and fauna, Costa Rica is an ideal place for travelers that want to experience a little bit of everything on their trip.
2. Portland, Oregon
Portland receives its share of parodies for its serious dedication to organic living, but the city truly is a place that emphasizes sustainability. Travelers can expect to find over 200 miles of bike paths, LEED-certified buildings throughout the city, and passionate dedication to all things local, whether it's expansive farmers markets, an eclectic variety of art galleries and book shops, or some of the best sustainable dining options in the country.
3. Iceland
Iceland is known for attracting visitors with its expansive remote landscapes and views of the Northern Lights, but many aren't aware the country is also the largest clean energy consumer in the world. For travelers looking to indulge in green Icelandic living, you can't go wrong with renting an eco-friendly house or enjoying an afternoon relaxing in one of their many geothermal pools.
4. Austin, Texas
Austin isn't just about southern BBQ and live music -- though it's easy to see why those two things reign supreme here. With more than 200 parks, 12 preserves and 26 greenbelts, incentives for eco-friendly businesses, and hotels leaning green, the growing metropolis is an ideal spot for both new residents and travelers alike.
5. Norway
When people think of great places for ecotourism they don't always consider Norway, despite the country's strict environmental regulations and focus on making it a great place for green living. Luckily for adventurous travelers interested in taking in breathtaking views of the Norwegian Fjords, the country's sustainable efforts have also extended into its travel industry. Fjord Norway is one of four pilot destinations of the Global Sustainable Tourism Council's program for new criteria for destinations.
More from Green Matters
Learn What the Numbers Actually Mean on Plastic Bottles
You Can Get a Free Lipstick for Recycling at MAC
Biofase Is Making Eco-Friendly Cutlery Out of Avocado Pits
Absolut's Sustainability Efforts Have Rightfully Earned Them the Title of "Planet Earth's Favorite Vodka"
Absolut has made sure that drinking responsibly means more than just limiting consumption — it also means doing right by the planet.
By Carly Sitzer 4 days ago
Endangered Sea Turtles Are Laying Eggs at Record Pace Along Georgia Coast
Sea turtles could soon be off the endangered list!
By Sophie Hirsh 1 month ago
Here Are 6 Ways to Celebrate Our Oceans This World Oceans Day
Other than going for a swim, here are six ways to protect oceans in honor of World Oceans Day.
United Airlines Flies "Flight for the Planet," an Eco-Friendly Flight With Less Emissions and Low Waste
United flew a "Flight for the Planet" on World Environment Day.


Are you a busy breastfeeding mom? Do you take your nursling with you everywhere? Then I can imagine how many calories you are burning going to the park or grocery store plus nursing a baby. I have to admit since I had children that I became a snacker. I was never a big eater before and during my 3rd trimester's of pregnancy I was always hungry but unable to eat much at one sitting. I battled terrible heartburn and pain but needed to eat. Thus began my life as a snacker!
I started keeping snacks in my purse or diaper back in order to not feel faint. While I was pregnant with Big Red I had to eat every couple hours in order to not be nauseous. We couldn't even make it to church and back without me eating a pack of peanuts or cheese stick and fruit.
I highly recommend packing a car snack bag. It will save you so much time when you or your child feels slightly hungry and going through the drive thru isn't an option. Anyone with dietary restrictions will be less stressed by having their own snacks on hand. We check our snack bag on a regular basis. Daily if we are out and about each day otherwise weekly seems to do the trick.
I suggest you use a bag that is easy too wash and includes a few pockets. My bag was a heavy duty fabric bag from the OB. I love that I have two now. One is brown and holds extra clothes and activities. The bright neon green one is our snack bag. It is just the right size to hold a small insulated bottle bag. (Free Similac one from hospital). I have one of our Medela hand pumps just case I'm full and baby is sleeping.
Protein Bars- these are JUST FOR MOM!
Our snacks are temperature and weather dependent. In the Fall and Winter we can usually pack 100 % fruit juice AND homemade granola bars without spoiling. During Summer we keep the snacks to things that are not gonna melt or spoil in the heat. We usually grab apples, bananas, or carrots as we head out the door.
Thanks for linking up to the Latch on and Link up!
I have continued using the snack bag even after I stopped nursing as it became a toddler, then kiddo and now teen snack bag!


text:
Matt Robinson 3 years ago 43
Say Hello To The New 600bhp Aston Martin DB11
The long awaited DB9 successor has been revealed by Aston Martin at the Geneva motor show, and it has a new turbocharged V12 heart
At long last, the replacement for the ageing Aston Martin DB9 is here. It's called the DB11, and it's just what Gaydon needs to bring itself bang up to date. We're talking a new bonded-aluminium platform, an all-new engine, and a design that represents the biggest aesthetic departure the company has seen in years.
It's still a familiar look, although this time we have a much more imposing front end thanks to a wider grille, a pair of angry headlights and some very deep creases on the bonnet. On the subject of the bonnet - as we witnessed when we were given an audience with the car two weeks ago - it's one flipping massive, front-hinged aluminium pressing. This is all in the name of cutting down on unsightly shut lines, and while we'd hate to think of the cost of replacing it in the event of a prang, it does look pretty damn spectacular when it's propped up.
At the rear, the whole shebang looks like a cross between the DB10 - James Bond's ride - and the DBX crossover. And don't worry, if you're not keen on the spangly roof 'strake', it is body coloured as standard. Is the overall exterior design an improvement on the stunning DB9? We'll let you decide that, but the styling is arguably a little fussier in places.
The biggest news lies under that aforementioned gargantuan bonnet, in the shape of the 5.2-litre V12 (click here to find out more about the new engine). Gone is the old 5.9-litre naturally-aspirated unit, replaced with an all-new, Aston Martin-developed twin-turbo 12-pot. When we spoke to Aston's Chief Powertrain Engineer Brian Fitzsimons, he was adamant that it sounds just as good as the old one, and shouldn't be far off in terms of throttle response either.
What you lose in natural aspiration, you gain in economy, helped by one cylinder bank deactivating when it's not needed, although there's no MPG figure just yet as the engine hasn't been tested for emissions. More importantly for us lot, though, are the power benefits; with 600bhp and 516lb ft of torque, it's the most powerful production V12 Aston has ever produced, save for the 7.3-litre whopper fitted to the One-77. It'll do 0-62mph in 3.9 seconds ahead of its 200mph top speed.
All that power is sent rearwards via an eight-speed ZF gearbox - mounted at the back in a transaxle layout as it is in the Vanquish - and a mechanical limited-slip differential with active torque vectoring. The DB11 also gets a set of adaptive Bilstein dampers, which can be adjusted via the car's three different driving modes. And yes, the power steering is electric, but given how good EPAS systems are getting, that's not necessarily a cause for alarm.
On the inside, all the nasty bits that cheapened the DB9's interior are seemingly gone. Most importantly though, there's a brand new infotainment system which has been co-developed with Mercedes, which should mean that you won't want to punch the screen while trying to operate it, as you do in other Astons.
It's a lot bigger inside, too. You get 10mm more headroom in the front, and a massive 54mm improvement in the rear, while legroom up back is up by 87mm. So, this time around you might actually be able to fit normal-sized human beings in the back seats.
The price for all this? £154,900 in the UK, and $211,995 in the USA, with first deliveries taking place during the last quarter of 2016. It's anticipated that an AMG-sourced V8 will make an appearance at some point to create an entry level model, although Aston Martin itself is yet to confirm anything.
A bit out of your reach and just fancy having a gawp at it in the metal? It's on display at the Geneva motor show from today.
What do you think of the way it looks? An improvement on the DB9?
More Aston Martin posts
Recommended car throttle shop Worldwide Shipping In The CT Shop Car Throttle Submit Your Videos To Get Featured On Our Social Channels News 50 'Vintage' Cars Destroyed By Fire At New York TV Set News Honda Just Gifted Australian Police A Honda Civic Type R News Toyota Has Built Its Own 'Mini Nurburgring' Test Track In Japan News This New Bentley Continental GT Celebrates Bavaria For Some Reason News Watch The New Audi RSQ8 Tear Its Way Around The Nurburgring News Here's How Awesome You Can Make Your Aston Martin Valkyrie Look News Don't Judge, But We're Geeking Out On This Neat Windscreen Washer Funnel Design News What's In The Box? A More Focused Alpine A110, Probably


text:
Ten Years of Kirby ~Reverie 4~ Kirby's Dream Land 2
Notice: while this is part of my Ten Years of Kirby retrospective, this review does not meet my current quality standards and will be superseded in the future. A link to the new version will be provided whenever it arrives.
Following the incredible success of 1993's Kirby's Adventure, our favorite pink puffball was making quite the name for himself. Immediately after the game's launch, Masahiro Sakurai got to work on a Game Boy spin-off by the name of Kirby's Pinball Land, a quirky pinball title that perfectly emulated the frantic nature of its platforming cousins. Released late within the same year, Pinball Land had no trouble riding the cash flow and established itself firmly into the gold-adorned "Player's Choice" label, granted to Nintendo titles that sold over a million copies. In the blink of an eye, a new star had rose in Nintendo's pantheon of heroes.
Having crafted three Kirby games in such quick succession, Sakurai seemed content to briefly lend the reigns to other members of HAL Laboratory while pursuing plans for an SNES title. The ensuing period from 1994-1998 introduced a deluge of spin-offs, beginning with the fan-favorite Kirby's Dream Course. Its eccentric golf-esque adventures aside, the game provided a valuable insight to HAL in that the Kirby brand was truly malleable thanks to the character's Copy Ability, and he could seamlessly ease himself into just about any genre of gaming. Dream Course proved to be particularly interesting considering that the game originally didn't feature Kirby at all, having initially been developed as a miniature golf game of sorts.
Collaborative efforts with other companies were also underway to further establish the new brand, albeit intended for a Western audience. Through some creative re-visioning by HAL and Compile, the SNES version of the cult classic puzzler Puyo Puyo was adapted into a Kirby title by the name of Kirby's Avalanche. The changes were completely cosmetic: the characters and settings were all culled from the series and rearranged songs from Kirby's Adventure supplied its soundtrack. Meanwhile, a little-known prequel named Kid Kirby was headed by DMA Design (which eventually began Rockstar North, creators of Grand Theft Auto) for the purpose of utilizing the SNES Mouse, but the project was quietly cancelled due to the peripheral's gradual irrelevance.
With Sakurai busy on his 16-bit adventure and endless spin-offs filling in the gap, HAL perhaps felt a new adventure was necessary to tide fans over. A new team was established for the creation of a Game Boy title, headed by the man responsible for the level design of Kirby's Adventure. Shinichi Shimomura was assigned his directorial debut for what was to be the sequel to the best-selling Kirby's Dream Land. Simply named Kirby's Dream Land 2, the game proved to replicate much of the original's success and even outsold the original's tales in native Japan. Mr. Shimomura would go on to direct two more games within the franchise, setting what fans dub the "Dark Matter Trilogy" (in reference to the evil black mass that serves as the antagonist for the three games). The games within this trilogy (Dream Land 2, Kirby's Dream Land 3, and Kirby 64: The Crystal Shards) are noted for being a tad slower than the typical hyperactivity found within Kirby, of which more than several fans could never quite adjust to despite the various gameplay quirks found within.
While I can't say I bear this ill will towards the latter two games of the trilogy, Kirby's Dream Land 2 remains the one title within the whole series I can never quite pin my feelings on, for it is the Kirby game I love with a broken heart.
Kirby's Dream Land 2 was something of a forbidden enigma from the very beginning of my Kirby fanhood; that is to say, I could never find the game anywhere. I found copies of Kirby's Adventure and Kirby Super Star in stores (R.I.P. Funcoland), and, er, "acquired" other Kirby games via the internet, but searches for Deram Land 2 proved fruitless. Yes, believe it or not, even scavenging through the endless, pirated troves of the web failed to produce even one functioning result, and I was forced to give up my search empty-handed.
It was rather frustrating too, as the game was hailed as something of a classic by Kirby fans. Dream Land 2 continually charted high on Top Kirby/Game Boy game lists, the bigger-than-life Kirby's Rainbow Resort fanpage gushed about it, and Kirby discussions on message boards mentioned how difficult it was for a Kirby title. The only dissenter? Some crazy lady on Gamefaqs who couldn't stop talking about hyenas. Somewhere within the jumbled mess that was her criticism was the bemoaning of how dumbed-down the gameplay was following Adventure, right down to the shrunken world hubs and lack of content. I was too distracted by the hyenas to listen.
When I finally got the chance to play it some five years later, I couldn't believe she was actually right. What made it hurt even worse was that I actually requested it as a gift following a major foot reconstruction surgery, and nothing about Dream Land 2 sparked a tinge of excitement in me. And for all my disappointment, I couldn't pin down as to why the game sucked. It played like Kirby, it sounded like Kirby, it was the first Kirby to introduce the beloved animal partner system (more on that in a bit), I didn't chalk it up to a change in tastes, either; Kirby's Adventure came out on the Virtual Console around the same time and I still had a blast. I went back and gave Dream Land 2 more than enough chances to redeem itself, as the years went by with remakes and yarn adventures. I walked away every time crestfallen, drugged with boredom. And the worst part of it was that I couldn't come up with a discernable answer as to why I couldn't enjoy it.
It was only last year when the Dream Collection arrived that I finally forced myself to chug all the way through the damn thing, and you know something? I jumped the gun a little. Kirby's Dream Land 2 is a good game. It's a genuine game. It's a fun game! But I struggle in deeming it a great one, and I cannot lie to the rest of the internet crowd and say it ranks among Kirby's best, for it all boils down to why the game turned me off initially.
No, it's not the lesser scale following Kirby's Adventure. With the Game Boy being a much weaker system than the NES, I have no choice but to be lenient on that front. And besides, it's not like I can complain when it brings back the hub worlds from Adventure. Despite starting off with three levels per world, it quickly ramps up the number to about six or seven; in other words, a perfectly healthy amount for the Game Boy.
Nor do I mind the halved amount of Copy Abilities. Only a fraction of Kirby's powers return from Adventure (Fire, Spark, Cutter, Needle, Stone, Ice, and Parasol), but what's here is actually improved from their original forms. No longer does Spark cause immense slowdown, and Stone has the cool side-effect of rolling down sloped hills! And hey, I can't be completely disinterested when they brought back my beloved Parasol. And, and, and the animal partners!
Yeah, those guys are pretty rad. Marking the first appearance of Rick the Hamster, Coo the Owl, and Kine the Fish, these three friends of Kirby serve as a unique conduit for the hero's powers when caught for a ride. For example, using Spark while clutched by Coo's talons lets the duo conjure thunderbolts onto the hapless baddies below, soaring through the air all the while. Meanwhile, Rick wrecks havoc on the ground when transformed into a rolling Stone, forcing Kirby to perform a balancing act as they crush everything in their way.
And as for Kine's take on the Parasol? He just kinda, uh, sticks it out of his mouth. Whatever, he gets points for effort.
Obviously the selling point of the game, the animal partners offer the perfect compromise for the lack of Copy Abilities. Yes, the more unique stuff like Laser and Ball are missed, but who cares when you're riding a fire-breathing hamster? Much like the introduction of Yoshi in Super Mario World, the animal partners channel an alternative sense of power into the player through their optional status. Do you have to use them? Well, no, but considering how they morph Kirby's Copy Abilities into such exciting superpowers, why wouldn't you?
This begs the question: how can I go wrong with this? If the core concept of Kirby gameplay is handled relatively well, why should I have a problem with it? If I can accept limitations, then what's the big deal? Hell, if I get to ride on a hamster, why so much apprehension in naming it a great Kirby, then?
The big problem with Dream Land 2 is this: the level design composing the first third of the game is utter shit.
I say this knowing full well that stage design has never been Kirby's forte, but I have yet to encounter any other 2D action-adventure title within Nintendo's legacy with early levels so banal, so devoid of life that deriving any form of entertainment from them is near impossible. Save for an occasional widened level scope, nothing within the first two worlds showcase even a speck of intelligence behind its obstacle placement, simply choosing to sparsely decorate landscapes with trademark tiered hills and the steep slope here and there.
This is where the unfortunate downgrades following Adventure begin to negatively impact the game; in particular, the lack of a dash input for Kirby is the spring-point for Dream Land 2's initially sluggish nature. While Dream Land had the same control issue, it was an acceptable compromise for the exchange of chaotic level design and frantic enemy mobs. Strip away those factors, and we're left with nothing but a dreadfully slow bore. Enemies crawl along at a snail's pace and the brain-dead level design erases any caution pitfalls present.
Dammit, even the aesthetic settings pisses me off! Gone are the alliterative food inspired days of Adventure's Vegetable Valley and Orange Ocean, for Dream Land 2 plops us straight off into the offensively bland Grass Land. And you know, maybe I'd be able to forgive such an uninspired location if it was just limited to the first world, but I can't really do that. And why's that? Because the game won't let me, as its segue into the next world creates quite possibly the worst sense of level progression I have ever seen in a game. You know how most platforming games often start out with a grassland and then move on to a desert or a beach or something? Well, Dream Land 2 has its own perfect antithesis to this:
A forest. That's right. The first two worlds are entirely dedicated to a grass field and a forest. Are you fucking kidding me? That these are next-door biomes is bad enough, but you know what's even worse? It's that the game invests absolutely zero effort to distinguish them from each other. I'm not even kidding! Other than the occasional branch platform and, uh, blockades of Star Boxes, the Big Forest is little more than a mere palette swap of Grass Land. They both entirely take place outdoors instead of initiating any transitional scenery. Both worlds have only one screen where you move up instead of going right. Both are entirely ass.
When arriving at any such relative point in any other bad game, it is at this point that any player worth their salt in gaming knowledge has already accepted the bitter truth: there is no hope. If a game fails to present any form of appealing hook at its beginning, why continue? Dream Land 2 is a tad more of a dire case in this regard, for the first two worlds are so vapid in design, so lethargic in movement and tedious in its sense of progress that there is no incentive to discover what lies beyond. Not even the gimmicks of Rick the Hamster and Coo the Owl can suppress the boredom, as Dream Land 2 seems destined for failure.
And that is the miracle of Kirby's Dream Land 2.
It is in the the next world, the watery Ripple Fields, where it's as if the game designers suddenly had an epiphany regarding 2-D platforming design: if a game desires to present interesting levels, it requires level-oriented obstacles and to engage the player. Dream Land 2 is quick to take this lesson to heart, and begins to present obstructions in spades, whether it's stripped right from Adventure (spikes that litter the floor and exploding coconuts rain that down on Kirby) or through its own volition (turbulent currents gushing out of deep-sea pipes).
From this point on, Dream Land 2 ushers in a landslide of quality, and it's as if the game is figuring out one logical equation of successful level design after the other. For example, while keeping the player on their toes with deadly coconuts is all well and good, focusing entirely on a single environmental motif (grassland, desert, forest, etc.) within an entire world gets boring rather quickly. Dream Land 2's solution to its previous screw-ups? Pitch-black caves (of which are cleverly illuminated through Kine's Spark power) and exciting underwater sections in the depths of Red Mountain. And by "exciting", I mean holy shit you better have Kirby stuffed inside Kine's mouth because otherwise you'll be at the mercy of those aforementioned current-spewing pipes.
The game isn't afraid to ape Adventure through levels built around Copy Abilities, but the best parts are when Dream Land 2 goes on to establish new tropes for the series. The game isn't clever enough to entirely create original 2-D platforming tropes, but its early age is the key. Dream Land and Adventure could only cover so much within their brief sugar rushes, which leaves all the more room for Dream Land 2 to pick up the slack. Frustrating scrolling screens of death? Check. Collapsing platforms? Check. An entire world based on icy traction that's compounded upon by precision-based jumps and weather effects? Check. Cleverly hidden mystical trinkets that are required to fight an insanely difficult final boss? Yikes.
This is all a long way of saying: man, does this game get brutal! I mean, the bountiful harvest of 1-ups do a great job of not applying any pressure onto the player, but that doesn't make it any less frustrating to endure. You remember how Super Mario Bros.: The Lost Levels was fond of abnormally small platforms that stood erect within bottomless pits? Yeah, Dream Land 2 has some of those lying around. Don't even get me started on the enemy swarms; actually, no, the less said about the above flying bag with the split personality disorder, the happier I'll be. Better hold on to your animal buddies tight, because they have a nasty penchant for kidnapping them for reasons of pure evil that are never disclosed.
Yet for all its difficulty, for all of its struggles in learning level design, Dream Land 2 achieves what should be impossible for a game of its caliber. With such clear evidence of the developers learning the ropes of game design throughout the title's progress, there's no chance of of the game. And yet, it does. In preparation for the endgame, all the stops are pulled to produce one of the very best moments in all of Kirby: the Cloudy Park segment.
The best stages of 2-D platforming will always be the ones that surprise, challenge, and entrance the player, but how exactly do you define what's created from those three? The answers often lie in what are the simplest of solutions, yet are the easiest to flub up in design; for example, there could be a form of external pressure suddenly pushing against the player (such as gusts of wind or bursts of water), thus leading to creative scenarios such as navigating mazes or exposing weakspots within the terrain. But how can it be made so the player isn't frustrated through what they perceive to be cheap deaths and faulty controls? Cloudy Park is representative of this philosophy executed perfectly. Air currents of all kinds push Kirby through tight mazes of clouds and platforms, yet not once does the player lose control of the character. When they're introduced as tough segments of a level, they're constructed around the quick timing of the player to destroy or dodge obstacles in satisfying fashion. When presented as aesthetic forms of transition, they serve as dreamy visual pieces that embrace the player fully into its world. It's a perfect balance.
And the music. While unfortunately the game's soundtrack (composed by series regular Hirokazu Ando and newcomer Tadashi Ikegami) is largely uninteresting and bland, this sticks out along with Coo's Theme as being abnormal masterpieces. While every bit as nostalgic as the lullaby of Adventure's Rainbow Resort, Cloudy Park takes on a more elaborate note of easing the player into the world's majesty. It doesn't need the booming of an orchestra to produce the awe of approaching the title's finale, but simply a tad more activity and sentimentality to help the player reflect on just how far they've come. When I first heard this song last year, I found myself absorbed in a reverie not quite unlike those Super Star and Adventure/Nightmare in Dream Land had trapped me within so long ago. I was a kid again.
The game even ends in the vein of a classic. After slaying what may very be the most grueling final boss in all of Kirby, the tiny sprite of Kirby lets go of the Rainbow Sword and slowly closes his eyes, descending to Pop Star. Various stills of his animal friends are shown, patiently waiting his return. King Dedede gazes up towards the sky and smiles, having been freed of his nightmarish possession. The power of sprite animation has been proven time and time again, and this one scene alone depicts a gracefully silent side of Kirby we've never seen before, nor since.
...so what just happened? What the fuck just happened? This is not normal. Games don't suddenly bounce up from the realm of shit just like that. I spent years thinking this game was an failure! Years! And it was all because the first two words had to present the most dismal, lifeless examples of level design I have ever seen in a 2D platforming game. I have to suffer through this shit every time I make a new file! Could I just go back and play my old one? Well, yeah, but do I really want to pretend I'm starting a new game at world three? What kind of sense does that make? I'm the kind of guy who loves replaying old games just for that heightened achievement of beating the shit out everything it has to offer, just to celebrate its whole as a complete, cohesive package. I'm fresh out of luck, don't you see?!? Fucked, that's what I am!
I'm sorry, excuse my outburst. I know all the crap I threw just now at Dream Land 2 isn't entirely justified to the game's entirety, but it just pisses me off just like how this summer's abhorrent Game & Wario did. See, as much as the likes of Zelda: Skyward Sword and Paper Mario: Sticker Star offended me, I consider Game & Wario a truly tragic piece of virtual entertainment because the presentation and humor involved proves the guys behind it still have it (check out this Kotaku article to see what I mean). The unlockable videos and trinkets are gold! The exaggerated artwork for each minigame is a hysterical throwback to the cover-art for NES games! Yet I can't enjoy this stuff for even a moment because they're shackled to an unbelievably shitty game devoid of any inspiration behind its gameplay ideas (save for the Gamer title, which only makes me wish for a return to the original WarioWare formula).
Kirby's Dream Land 2 is in the same boat. This article has proven the people behind the title have actual talent, yet why does the beginning of the game open with shit? Is this a joke? Are we supposed to believe the designers just suddenly learned how to make a game halfway through? Why couldn't they just go back and patch up the earlier levels, then? You know what? Maybe Dream Land 2 didn't really have a miracle at all. The first two worlds are complete shit on purpose; in other words, they were dumbed down just enough to ensure the brainless beginner can get past the first couple of worlds for a sense of accomplishment.
With the exception of Squeak Squad, just about every other Kirby game proves this mentality wrong. You don't have to remove any sense of danger and strip levels out of any unique design just to hook a beginner. It boggles the mind that Dream Land and Adventure would have zero problems with this, yet suddenly this game does? Yeah, Sakurai didn't work on this one, but you'd think the guy behind Adventure's levels would get the hint regardless. Or maybe it was just that it was his first time as director? Who knows.
Look, I like this game, I really do. I dig that second half, and if the rest of the game followed its example, it could be one of my Kirby favorites. But being baited does not a great game make, and I don't wish to suffer through tedium just to get to the good parts. Kirby's Dream Land 2 is ultimately a worthwhile video game with some notable talent and ingenuity behind it, but it just misses that cusp of greatness.
Welp, over a month and a half! Much better than missing three straight months, no? I've recently gotten my procrastination under control, so I think you'll be seeing me much quicker next time around. I'll be back soon with a new review, new entry in this series, and FINALLY the beginning to the Top 25 Wii games! Seeya!
Posted by Anthony at Friday, November 01, 2013 2 comments:
Labels: 1995, game boy, hal laboratory, kirby's dream land 2, nintendo, original draftr, ten years of kirby
Biweekly Music Wednesday! No. 6 ~Lost Woods~ (The Legend of Zelda: A Link to the Past) IN LOVING MEMORY OF HIROSHI YAMAUCHI
Origin: The Legend of Zelda: A Link to the Past
Composer: Koji Kondo
Plays In: The Lost Woods of Hyrule.
There was once a young boy who, in the far-off times of 1992, held a secret considered sacred to the heart of a young mind. The type of boy whose imagination was stroked by tales of swords and sorcery, the video game The Legend of Zelda: A Link to the Past was the perfect outlet for the fantasy adventures he so loved. No longer was he forced to sit back and listen to the stories of bravery found in storybooks, for now he was able to weave such tales for himself. He was the hero in the green cap, tasked with slaying the forces of evil to rescue Princess Zelda of the kingdom of Hyrule. Such a journey was fraught with danger, packed with deadly monsters, dark dungeons, and the ever-looming threat of Ganon, the King of Evil. And, perhaps living up to the mischief typical in young children, he also decided to attack some chickens for the fun of it.
Yet there was one part of his adventure he treasured above all else. To the north of Kakariko Village lay the Lost Woods, a hallowed ground said to house the Sword of Evil's Bane. Entering the sacred forest never failed to take his breath away, for the mist-shrouded surroundings and muted ambiance were more than enough to cloud the woods into an eternal mystery. While the random bandit or sword forgery would interrupt his reverie, nothing topped the moment when he finally located the Master Sword. The forest wildlife pranced along the hero's path as he marched to the altar, ready to fulfill his destiny.
But what truly struck him was the music. A song dipped in serenity and mystery, the Lost Woods theme captured his heart in a feeling he was left unable to describe. It was the reason why he returned to the woods again and again, long after its purpose within the game had been completed. Whether it was the subconscious awakening of a young appreciation for beauty or a desire to relive that epic moment of claiming the sword was unknown, but his imagination burst aflame with the reverie it brought him. It would be cemented as his favorite moment in his gaming career. Many years afterward, the song would continue to represent his idyllic adventures in the world of Hyrule, and he'd be able to look back upon his childhood with a smile.
This young boy, however, was not alone. Another child would have a near-identical experience within the very same time period. And more in the year after that. And countless more in the remaining duration of the Super Nintendo's lifespan. Years would continue to pass on, and yet numerous children continued to discover the forest. Some came across it late in the wintery recesses of 2002, when Nintendo re-released A Link to the Past on the Game Boy Advance. Others discovered it five years later when the game made its first digital release on the Wii's Virtual Console. Yet even more children clutched it close to their hearts in the cracks of the years between, and more since then, and will undoubtly continue to do so as time goes on.
Of course, such an experience is not exclusive to A Link to the Past. What Link's SNES adventure meant to another child was no doubt rivaled by what another child treasured in the romps of Super Mario World's Dinosaur Land. Other children found glory within the alien world of Super Metroid, some found solace within the nostalgic homes of Earthbound, and even more cherished the rest houses deep within Kirby Super Star. But this pattern was not born to the SNES, nor did it end there. Gamers found such moments on the NES, and the Game Boy Color, and the Gamecube, and the DS, and so on.
To think what an astonishing feat it is, then, that these endless experiences of gaming legacies were sprouted within one man. A man who happened to inherit a small-time trading card company and gradually transformed into popular toy producer that exploded into the video game giant it is today.
My gaming heroes include the usual suspects: Shigeru Miyamoto, Mashiro Sakurai, Shigesato Itoi, Koji Kondo, Charles Martinet, etc. As far as I'm aware, Mr. Hiroshi Yamauchi was not a gamer. The transition from cards to toys to electronic gaming was nothing more than a set of calculated risks that had a likely chance falling into the depths of obscurity; in other words, the man was a businessman through and through. But the man was fully aware of how to make a great video game, and it required just one ingredient: to create a video game that will stick with the masses, one needs not a team of highly-trained engineers, but of devoted artists that can bring any concept to life.
Such a mantra might not sit well with certain game developers (including Nintendo's own Miyamoto), but moments such as the Lost Woods scenario provided above would not have been possible without this vision. The next time I remove the Master Sword from its pedestal, or soar to the skies with a Wing Cap, or even take a stroll down the streets of Twoson or Celadon City, I'll be sure to think of the man who made such feats possible. The very feats that inspired countless childhoods like my own.
Leave Luck to Heaven, Mr. Yamauchi.
Posted by Anthony at Wednesday, September 25, 2013 No comments:
Labels: biweekly music wednesday!, hiroshi yamauchi, koji kondo, nostalgia, super nintendo
Fall Schedule
MY GOD I DID NOT MEAN TO MAKE A TWO MONTH WAIT FOR THE NEXT BLOG POST!!!!! It wasn't so much procrastination as it was a realization I should've made long ago: summer vacation is no longer something to look forward to. Yeah, you remember this? Let's just say things get a little awkward at the household during that period now.
Anyway, with the unfortunate delays with the Kirby feature, I'm in a bit of a tight spot in delivering all that that (along with everything else announced this year) during my third semester at college. Not to fret, since the word "year" isn't necessarily limited to within a single year in itself. Can I deliver three Kirby articles a month along with anything else? Let's wait and see. At the very least, most of them won't be quite as long as the Kirby's Adventure one.
As for the other works? The Top 25 Wii Games will also begin next month, as well as the individual game reviews. Biweekly Music Wednesday will also be back on track next week. See y'all soon!
Posted by Anthony at Thursday, September 12, 2013 No comments:
Ten Years of Kirby ~Reverie 3~ Kirby's Adventure
Once, some years ago on this very blog, I attempted a multi-chapter analysis on the NES classic Kirby's Adventure. The purpose of these posts, dubbed with the name of "Dreams," was to thoroughly examine every facet of the game in the form of Adventure's chronological world progress. A bit too ambitious for an NES title, but this was around when I was still feeling out my writing craft (in a sense, I suppose I still am) and I believed this to be the proper way to gush endlessly about my love for the game (or for any other title I deemed worthy enough for the model, for that matter). It was, for all intents and purposes, complete shit. Okay, maybe that's a little harsh, as I still have a bit of a soft spot for what I was trying to do with the Grape Garden entry, but the overall end product came across as a pointless visual walkthrough for the game rather than a worthwhile piece of nostalgic commentary. Even reviewing it as its own entity reveals an embarrassing mess, as an obvious rushed quality pervades the entire thing. 2010 may have been the blog's most active year, but not one I'm particularly fond of in a retrospective context.
But enough about my past failures, as here we are three years later with more flexible and anti-sanity taxing models of writing. Why not try again? For the game that permanently etched Kirby into my heart, it deserves no less.
Kirby's Adventure arrived at a peculiar time on the NES, in which the system was beginning to be all but abandoned in 1993. While the platform was still selling, the Super Nintendo successor (as well as the Sega Genesis) had been gradually taking over the market, and Nintendo saw little point in continuing to develop 8-bit console software. Third-parties still dabbled in the system (most notably Capcom, who milked the Mega Man brand up until the very end), but the NES was just about all but abandoned by its creator. With this in mind, why Kirby's Adventure ended up on the NES is, at least for an English-speaking audience, a complete mystery. Maybe Nintendo felt the still-new Kirby brand wasn't worth the effort to develop for their new console. Maybe Sakurai wasn't confident enough to helm a Super Nintendo--well, technically, a Super Famicom--project, or was still attached to the 8-bit graphical model shared with the Game Boy (on which Kirby's Dream Land made its debut). No one knows for sure, but no one really asks. Ask any retro gamer with a list ranking the top NES games, and while Super Mario Bros. 3 would probably nag number one, it would not be an uncommon sight to find Kirby's Adventure within.
Me? Not only would I place it at the top, but I could not imagine the game being produced on any other console. Regardless of the reasons why it was put on the platform, Sakurai found himself in a rather beneficial situation. The SNES was still burgeoning, becoming more advanced and groundbreaking with each and every major piece of software (not the least of which was Star Fox and its polygon-generating Super FX Chip). With everyone else so focused on SNES, perhaps Sakurai felt it necessary to send off its dying, forgotten brother with a proper swan song; of course, such an effort would have to push the NES to its very limits, both graphically and mechanically. The result was the birth of not just the ambition packed in his future projects, but his first fully-fledged video game. The limitations set on Kirby's Dream Land, while perfect for young players, rendered it all but a quick appetizer to veteran gamers. To bridge this gap, Sakurai and his team concocted a wonderful blend, one in which Adventure's easy difficulty was eclipsed with absurdly malleable gameplay. No matter how young or experienced the player was, anyone could play Adventure and have a blast.
The phrase "better late than never" has never been truer, for Kirby's Adventure sold over a million units in America alone. Such a landmark was unusual for a post-SNES title on the NES, but can easily be attributed to the previous success of Kirby's Dream Land (as well as the rapid growth of the brand in the next few years). Of course, it had other things going for it; yes, it did help that the game reached what would be the graphical limit of the NES (pseudo-3D!), but even that era was chock-full of beautiful clunkers. Kirby's Adventure wasn't just beautiful, for its upbeat personality that lent it the feel of a veritable virtual amusement park was what truly captured the hearts of young gamers. The way it eagerly grabbed players new and old was contagious. It was fun.
Above all else, it was a game that wanted to be your friend.
One day, the peaceful life of Dream Land was shattered by a mysterious crisis! The inhabitants didn't dream!
On the edge of Dream Land, dreams and hopes once gushed forth from the Dream Spring, fueled by the Star Rod.
Investigating the Dream Spring, Kirby found naughty King Dedede swimming in it's magical waters!
Dedede has broken the Star Rod and given the pieces to his friends, who are now hiding in Dream Land!
To bring back the lost dreams, Kirby sought the Star Rod!
So why do I hold Kirby's Adventure in such high esteem? First and foremost, it is the true blueprint of Kirby. As charming and humble the non-ambitious Kirby's Dream Land was, its brevity has lent it an obsolete brand. The Game Boy title can be best described as an infant, feeling his way around the world for the first time as he learns how to to talk and walk. A year or two later, he's zooming around the household with an unmatched vigor. He bounds endlessly after you, wanting to introduce you to his newfound delights, such as hidden space behind the couch or the imaginary friend he just became acquainted with. That child is Kirby's Adventure, albeit perhaps slightly older and equipped with a properly functioning vocabulary. It is the first Kirby game to feature the Copy Ability, where Kirby borrows the powers of the enemies he swallows. It is the first Kirby game with color (and by GOD does this game explode with color). It is the first Kirby game with a host of mini-games. Much like Super Mario Bros. 3 and Zelda: A Link to the Past, the tropes introduced in Adventure are what compose its successors.
Let it be known to those looking for a deep experience that Kirby's Adventure does not possess the dual-layer gameplay of, say, Super Mario Bros. Think back to what likely characterized your seven-year-old experience with Mario's famous NES adventure: sloppy movement, an inability to direct precise jumps and landings, and mistimed uses of the run button that would often send you crashing into a Hammer Bro. Yet as you grow older and more experienced, the expert intricacy of the game's level design becomes clear. You set specific routes to take throughout the game's many levels, whether it be a carefully executed series of hops onto various levitating bricks or utilizing memorized locations of coin troves and 1-ups. You're able to instantly calculate the trajectory of your jumps, whether it be hopping across falling platforms or over perilous pits. A mistimed jump or two isn't rare, but your playthroughs steadily become routine through not just practice, but taking advantage of the game's shortcuts and secrets.
In contrast, Adventure doesn't aim for this level of complexity, and its host of levels don't even match the chaotic mazes of Dream Land's Castle Lololo. The stages are straight-forward, with most of the obstacles rendered in the form of Adventure's colorful collection of baddies. While stage gimmicks are to be expected, muscle memory is not required in bypassing dangerous jumps or other hazards. It's only objective is engaging the player in an unabashed sugar rush, blazing through levels with Kirby's repertoire of transformations. In other words, Adventure's direction sacrificed challenging level design in favor of maximizing the player's enjoyment. But how is such a thing possible?
While satisfied with how well-received Dream Land was, Sakurai was obviously aware that if he were to continue making Kirby games, they would not evolve if they remained trapped within the Game Boy title's bubble. But he foresaw a problem: while Sakurai was also a big fan of the Super Mario Bros. games, he was well-aware of how their great difficulty frustrated many fledgeling gamers. If he were to take Kirby further, how could he craft a balance to appease to expert gamers without alienating the new fanbase born from Dream Land? The answer lied in tinkering with the core concept of the titular hero; the introduction of the Copy Ability. While the idea of a pink marshmallow eating his foes turned out to be strangely adorable, it lacked a certain spark that didn't grant it the same magic as other 2-D affairs such as the aforementioned Mario and sci-fi adventure Metroid. Kirby's voracious appetite needed a purpose to properly appeal to numerous gaming audiences, or else the series would die in the forgotten mists of irrelevancy.
And what fun these powers are! From fire-breathing to swordplay to the fabled UFO transformation, the vast majority of Kirby's powers are overwhelmingly satisfying to pull off and never grow tiresome thanks to the game continually shuffling through its selection (that is, the mass abundance of baddies who carry potential abilities for Kirby). And what variety, too! A strong first impression is made with its debut of twenty-five roster strong of superpowers. While not all totally different in execution (some can be placed in certain categories, such as equippable weapons or powers that render Kirby stationary), it's next to impossible not to love flashily obliterating everything in sight, whether it be freezing hapless enemies into ice cubes or causing everything to explode via screaming into a three-use microphone.
In my case, the abilities that allow Kirby to wield weapons (Sword, Hammer, and Parasol) have always been my favorite. Adventure clearly has a preference for these abiltiies as well, as they are the very few that have one than more attack function such as mid-air slices and swings, leading to insanely fun acrobatics through enemy swarms. Me? I prefer taking the scenic route with Kirby's trusty Parasol. Adorable in design and deadly in combat, there's nothing quite like transition from gently swaying in the breeze to batting away ruffians. In this case, the parasol is indeed mightier than the sword, yes.
The reason why Adventure doesn't aim for the disguised complexity of Super Mario Bros. is because it's not all that concerned with building levels around the player's skill; rather, it presented levels upon the copy abilities. Stages are constructed with the introduction of new abilities in mind, and said introduction is particularly reserved for the more dynamic powers. Take, for example, the very first time Kirby nabs the Wheel ability on Ice Cream Island. Immediately afterwards, the level shifts to a series of ramps and hills for the player to dash through in wheel form. Obvious highlights throughout the level design only heighten the excitement over more unique powers, such as the Laser ricocheting off walls and the Hammer that crushes posts to reveal hidden switches and Maximum Tomatos. Proper balance of the overly cheap powers (UFO, Mike, Crash, etc.) is properly balanced through rarity and being erased the moment the player clears the stage.
That the vast majority of these powers work so well for their first introduction is to be commended, although one could argue there are a few that don't produce explosive results. The "stationary" powers that focus on absolute defense (Stone, Spark, and Needle) are unlikely to top the list of anyone's favorite Adventure abilities, as they enforce a screeching halt to the game's focus on constant, hyper movement. Perhaps the only truly sterile Copy Ability is the Cutter, where Kirby tosses a blade that boomerangs at an absurdly short length (along with being executed in a forced stature that's woefully awkward to use for more mobile players). While thankfully the ability carves out its own acceptable niche in later games, Cutter's shittiness is made all the more apparent with its undeserved placement in a flashy host of shapeshifting superpowers and weapon acquisitions favored for their flexibility, as its sole method of attacking comes across as merely ordinary in comparison. Maybe this could've worked better in Metroid, I dunno, but it lacks any form of life here.
So sorry, Sir Kibble.
And yet for all the well-deserved praise for the Copy Abilities, do they make the level designs too restrictive? Indeed, one gets the sense that using a different ability on, say, ramps meant for the Wheel power just feels wrong. Maybe Adventure is a bit of a selfish child; capricious, too, since he'll quickly introduce a new power right after you just obtained a new favorite (such as right after you nab the piledrivin' Backdrop). No need to fret, though, because he'll learn to share. Unlike Super Mario Bros., you can actually head back to already-completed levels via the World Hubs, visual representations of the various regions found throughout the game. Beautiful to look at and creative in design, these maps are host to various mini-games (such as a crange game and a Wild West shootoff) and attractions (Museums that host free powers), successfully molding Adventure into the aforementioned amusement park motif
Also to be commended is the variety of the level design. While not expertly crafted in the form of Super Mario Bros. 3, a good chunk of the Kirby games from here on out often adhere to the themes of each specific world (such as standard forests/grasslands for plains worlds, oceans/beaches for sea worlds, etc), yet Adventure wisely breaks up tradition in favor of variety. Grape Garden is an excellent example: while themed as a country settled within the clouds, levels are composed of castles, a high-speed Wheel chase down a hill, and (my favorite) a swarm of blimps in the midst of dangerous air currents.
Through this direction, levels are instantly rendered memorable. Kirby games guilty of the previous example of level design (in particular, Squeak Squad and Dream Land 2) have difficulty embedding themselves to memory, as sets of levels constructed around similar themes tend to blur together. With Adventure's transitions from waterfall-spewing valleys to ships on the high seas, this problem is non-existent. Favorites are easily picked among the bunch, and the true value of the hubs begin to shine as you can go back and traverse through them again and again. With nearly forty levels under Adventure's belt, it's easy for players to immerse themselves throughout the game's colorful world.
Which brings me to another point you've no doubt noticed via the screenshots: Color! Bright, beautiful color! Pink all around! Green in spades! Blue in abundance! Kirby's Adventure explodes in color from the moment the title screen materializes on the player's television, and continues to deluge their eyes with its never-ending supply of pigments. It wasn't quite uncommon for NES games to embrace dull splotches of brown and black (combined with being host to hideously scribbled sprites), but developers that stuck with the system during the SNES years had mastered its graphical processes within the system's twilight years, and no one would argue that Adventure represents the pinnacle of this period.
While the simplistic character designs aren't quite as immaculately detailed such as, say, the gritty Ninja Gaiden, one would be hard-pressed to find backgrounds in an NES game overly saturated with color and detail as Adventure. Of course, the star attraction of Adventure's technical achievement lies within the Butter Building segment, where Kirby is randomly plopped onto an outdoor platform that spins along in accordance to his movement. Through a fancy programming technique known as parallax scrolling (where certain elements of a game's background can be adjusted to move slower than the foreground a character walks upon), the tower produces a psuedo-3D rotation effect that is completely unlike anything else on the system.
Nor as inspired! Though Adventure is often hailed as the technical marvel of the NES, but what sticks with me more is that the bright, cheery aesthetic lends itself to a veritable example of enchanting childhood fantasy. Immediately springing to mind are the Vanilla Wafer-esque landmarks of Vegetable Valley (a series staple!), the various checker-boarded hills and slopes, and the balance of sky terraces and fauna-filled rooms within the towering Butter Building. While not as overly alluring as later games, Rainbow Resort remains my favorite atmosphere: an arctic carnival shrouded in a eternal night, with auroral sky patterns composed of crayon pastel and luminous attractions looming in the distance. It's an eerily beautiful design that has a vague whiff of Pinnochio's Pleasure Island (albeit not as nightmare fuel-inducing), and the first hint of what's to come in the series' future backgrounds. Overall, the 8-bit graphical design produces a charming blend of simplistic beauty and iconic charm.
It's for this reason that the simplified, beady-eyed character sprites feel right at home. Frantic and alive, the inhabitants of Dream Land bobble around with an animated vigor not typically associated with NES characters. Beam-spewing Waddle Doos dash violently at Kirby, pausing to fidget in the midst of their energy conjuration. Meta Knight's gang of armored thugs consist of collective personalities: some patiently pace around baiting the player; meanwhile, the rowdy mace-ball wielding knights charge at Kirby without pause. Even the sleepy Noddys are fun to watch, strolling non-nonchalantly throughout the stage before suddenly, well, nodding off. I almost feel bad for swallowing them.
Or, perhaps not. I've always had a fondness for the Sleep ability icon.
Anyway, it's interesting I note the frantic nature of the enemies, as the game's difficulty curve (nor its sugar-rush nature) wouldn't be possible without it. While all Kirby games can be cleared in a matter of hours, Adventure is one of the few that steadies a balanced challenge. On its own, it's not too cumbersome for an experienced gamer, but the enemies are literally spazzing out all over the courses. With the player boisterously dashing thanks merry selection of Copy Abilities, an inevitable collision with said baddies will be enough to put a damper on anyone's day. There also a couple of nasty shocks waiting for those aiming at a 100% score; in particular, don't be surprised to find enemies homing in on poor Kirby while on the hunt for the minigame-unlocking switches, and the methods for obtaining some of the secret 1-Ups are nothing to sneeze at. An Extra Mode, while not quite as arduous as the one found in Dream Land, is also available for players looking for a deeper challenge (unfortunately, it doesn't have a save feature, contributing to one of the game's few nitpicks).
While I'm on the subject of enemies, I may as well add that this game features one of my most hated game enemies of all time: Sir Slippy the frog. I don't know if it's a coincidence or not that his name is borrowed from the froggy Slippy Toad of Star Fox (which also came out around the same time), but that doesn't matter. What is important is that god dammit, he is out for blood. Out of all the erratic enemy types, he is by far the worst. Since you automatically lose your Copy Ability whenever Kirby is hit underwater, Sir Slippy takes great delight in making life hell for you. He will plunge in directly at you whenever you least fucking expect it. He hops around randomly with the precision of a crazed, yet silent leprechaun who's movements are impossible to read. You can never breathe. Just about every time I've played through Kirby's Adventure, he gets me. Avoidance is simply not an option with him. He will fucking murder you.
Just look at him. Look at that fucking frog and burn his image into your memory. His life mission is make damn sure you never reach 100% completion, and he does quite an excellent job of it. Or so he thinks, as he's one of the few Adventure baddies that was phased out over time. Thank god.
The bosses, in particular, are a unique double-edged sword. Excluding the traditional stationary Whispy Woods fight, most of the fights are imbued with creativity in attack patterns (Paint Roller's living drawings, pretty much everything about Mr. Shine and Mr. Bright) or in forcing the player to constantly move forward (Kracko and Heavy Mole); yet, their typically large sizes render them a pushover for anyone with experienced knowledge of 2-D sidescrollers. On the flipside, their imposing sizes and attacks are a threat to younger gamers, as even the mini-bosses prove to be a tough obstacle with their erratic attack patterns or, in certain cases, will unleash killer piledrive attacks on Kirby upon instant contact (the likes of Bonkers, Rolling Turtle, and the Fire Lion stick out in my memory as being particularly troublesome).
Oh, and the music. Jun Ishikawa returns from Dream Land to compose the NES entry, but the sound direction is helmed by Hirokazu Ando (another eventual series mainstay). The tinny, exuberant tunes on the Game Boy find a welcome home on the NES, and Adventure's soundtrack is yet another golden representative of the series.Where Dream Land's music aims for an overly peppy style, Adventure hits a sweet spot in which both the sounds of animated vigor and hypnotic rapture are allowed to mingle. Take this contrast between two of the game's best songs: the themes for Butter Building and Rainbow Resort. The former is part of the more lively portion of the soundtrack (although it doesn't quite match the same fervor of Vegetable Valley or Yogurt Yard), being a boppy ditty that's a perfect accompaniment to the tower it represents: a jolly introduction to an awe-inspiring structure that segues into the rising progress within the tower's levels.
Fun Fact: As evidenced by numerous fan remixes and even the Super Smash Bros. Brawl arrangement, the song also has a strange affinity for guitars.
Then we come to the best song in the entire game. I already said enough about how much I loved the art direction for this world, but didn't do the same for this aural masterpiece. A perfect counterpart to an illuminated world of wonder, the song's gentleness is easily compared to a dreamy lullaby, the kind barely hinging on the furthest recesses of one's mind. You remember the one your mother used to sing to you when you were young? You remember dozing off in the middle of a nightly car ride, staring off into the beyond of the night sky before sleep overcame you? That's the muted nostalgia the song soothingly emits in its entire duration, lightly easing the player into a euphoric state as it combs through your memories, allowing these forgotten moments to surface for a fleeting instant before sinking back into the depths of subconsciousness. While not the definitive version of the song, its emotional resonance alone ranks Rainbow Resort in the top pantheon of Kirby music.
There's even a touch of duality in the insanely addictive Forest Theme, a song that to this day I still haven't been able to figure out. It's a bit peppy, yes, but it doesn't dare nab the cusp of hyperactivity like Yogurt Yard. It's more quiet, definitely, but it doesn't seduce the player into dreamland like Grape Garden or Rainbow Resort. An abnormal mixture of subdued bounciness, the song was by far and away my favorite Adventure track when I was younger, as I'd always break out in a huge smile whenever it'd come on and hum along.
But why did I really play the game?
There were quite a few catalysts that induced interest in retro gaming before Kirby's Adventure, but I'll always regard Super Smash Bros. Melee as the most important. The Gamecube title was imprinted with the fresh scent of nostalgia, dedicated to not only hosting rowdy brawls but to spread awareness of Nintendo's past. References to the games of yore were imbued in every facet of the game, from the characters' movesets to the collection of rearranged retro music to locations culled from the Super Nintendo to hundreds of trophies depicting long-lost characters rendered in 3-D for the first time.
But could a modern game properly showcase what it would to be there? While we wouldn't get our answer until much later*, it's not as if Melee set out to emulate the likes of Super Mario World or Zelda II (although one could argue for its vague Kirby Super Star origins). And yet in the end, it was the online fan reaction to Melee that truly mystified me. Long-time Nintendo fans on message boards were delighted to experience various callbacks from Super Mario Bros. 2 to Earthbound contained within one source, and they all discussed said delight with such yearning and fondness that just beneath my reach. I felt a sort of identification with their nostalgia when mixed with my reverie, and I wanted to experience it for myself.
While not the first "old" video game I'd played, Kirby's Adventure was my first such venture into the realm of research. The impact of webcomics utilizing NES/SNES character sprites and the wistful forum discussions left a strong impression on me, and I wanted to mine this nostalgia from its source. The decision to go after Kirby's Adventure felt natural: Sakurai had hit the nail on the head for the old Super Mario games being too tough for younger games (i.e. me), and the titular character and his settings had grown on me immensely in Melee.
The game instantly clicked with me with an odd sense of camaraderie. Kirby's Adventure is lovely in that it knows exactly what it's constructed for: a younger audience that loves to play games, but can't play them well. Anyone can breeze through the game's levels. Its dialogue, whether in the opening demo or the pause screen instructions, is purposely elementary and speaks on the same level with a touch of reserved excitement. Oh, and, of course, over twenty-something superpowers. Everyone loves those; especially kids, so I hear.
Much like Kirby's Dream Land, a child can easily discern that Adventure was created just for them, but the latter's greater scale is what allows it to be treasured and fully embraced. Where Super Mario and Mega Man may have failed one young gamer with their brutal difficulty and daunting, apparent larger-than-life size, Kirby's Adventure unashamedly plays favorites for the sole purpose of making the kid feel powerful. Despite the challenges I mentioned earlier, there's no denying the game's still, overall, pretty dang easy. And that's okay. There's no forcible hand-holding, no blatant overkill with food items or 1-ups. The kid is in control.
But Adventure doesn't settle for sitting in the backseat, no. It doesn't hold the player's hand, but it's still there at the forefront. It's the basis of the player's frenzy, feeding it through constantly introducing new abilities and never letting up with the eye-popping color. Kirby's enthusiastic dances matches the upbeat satisfaction of felling a boss or completing a tough level. But why is it so excited? Remember what I compared the game to, earlier? Adventure identifies with the child because the game itself is a child. It is just as excited as the young player, frantically wanting to show its new friend all the sights and festivities it has to offer.
Even as a kid who considered himself decently well-versed within the world of gaming, I found it a wonderful experience to play through a My First Video Game not for the sake of learning how to play games, but how to play and understand 2D games. I largely favored the wide, comfortable three-dimensonal expanses of the Nintendo 64 over the challenging, precision-based Super Nintendo, and Kirby's Adventure gradually succeeded in melting the barrier between the two worlds. It's a game that celebrates your progress with you, purposefully cramming as much of its infectious upbeat nature as it can so you can keep trying and playing again and again.
And then, it suddenly flips the teatable, resulting in one of my all-time favorite moments in gaming.
So, remember when I mentioned the sub-games strewn across the hub worlds? There's one in particular I'd like to a bit in-depth about: the Arena Matches, where Kirby is pitted against one of the many mini-bosses found throughout the game, such as the walrus Mr. Frosty or the flying beetle Bugzzy. The reward? A Maximum Tomato and whatever Copy Ability the fallen foe provides.
What I love about this isn't the free health pick-ups or abilities. It's not for the thrill of battle. It's not for the concept of a mode solely designed to fight the game's fun mini-bosses. It's what happens the moment you win. Upon Kirby's triumph, everything falls silent. There may be a garbled cheer from the crowd when the enemy explodes or is swallowed, but that's all. The music stops playing. The dotted members of the audience just flicker.
They're cheering silently.
When I first saw this, I was spellbound. Without knowing it, I was there. I was the seven year old who routinely played Kirby's Adventure when it was released in 1993. It was the early hours of the morning, within one of the lower quarters of the household. The boy's parents were asleep. The sun had only barely risen, its rays dimly lighting the room. The boy has just triumphed in an arena match, but he only sits there, absorbing the sudden silence. He's just as stupefied as I am, staring off into the sea of shifting pixellated heads.
But was the child entranced for the same reasons as I? For me, it was the revelation of the bare form of ancient hardware: just for the purpose of a quick cheer that sometimes never manifests, the boss music has to stop playing. Kirby's Adventure celebrates noise just as much it oozes color, never letting up its frenzied/soothing soundtrack or lively sound effects except for the briefest of intervals. It flashes a well-earned 1-up in the Crane Game or quietly builds the tension in Quick Draw, then pops right back to making noise. Yet within one small pocket, ambiance is allowed to reign within Kirby's Adventure. It's something so incredibly insignificant that I highly doubt there's any symbolic meaning behind it, but I remain badgered by how I'm allowed to just stand there and watch the crowd. Aren't I supposed to keep moving? It's a moment that continues to elude me.
And what about the child? The NES was already aged back in 1993, but for him, it may as well be new. Was he mentally filling in the blanks of the crowd? Were they people he knew, or imaginary friends from his sessions of playing pretend? The reasons for our captivation maybe different, but our interest is one and the same: a silence that defies everything we thought we knew about Adventure, a game that's composed of perky movement and boisterous sound.
I recall another very vague memory regarding sound. In the Grape Garden hub world, the background song was something that implied a moment's rest, maybe a faint reflection. I stopped moving here, too, but that was because I sighed at what the music meant for me. That's what I did whenever I encountered the perfect mixture of nostalgia and reverie: a remote memory of an experience I never had, yet was still rendered beautiful by the idea that, nearly ten years ago, there was a young player who properly produced that memory. I just sighed, staring off into the clouds outside my window and wondered, was there a kid out there feeling the same way I was just now?
Today, it's not like that anymore. It urges me away, wants me to move on and keep going; not with it, but away from it. It's cold and impersonal, like the chance encounter with an old friend that didn't go as you wanted. Of course, it's not as soul-crushing as that sort of experience, but I can't help but view it as some sort of tragic transition from childhood.
Does it mean I'm too old to be playing this game anymore? But then why do I still have fun? Because it's a game that represented nostalgia to me at a young age that, ironically, became a source of my own nostalgia as I grew older? Not really. Adventure's sugary, sweet essence is something that's never really gone away, but a game can't last on nostalgia forever. For a game to possess unique character all the while providing engaging gameplay that can weather through the advances of the industry is the true key for it to last forever, and is a sign of fine craftsmanship.
I still own the NES cartridge I picked up ten years ago. I've bought it on the Wii and the Wii U's Virtual Console service. I downloaded the 3D version on the 3DS. While it's a shame the virtual copies suffer from the ubiquitous muted graphical filter of the Virtual Console (aside from the 3DS version), I still feel great delight in knowing that any kid out there can have the same solitary experience of playing a game created just for them. Is it the very best Kirby title? No, but I don't know if anything could topple it off its rightful place as number two (although 2011's Return to Dream Land came close). This is one of the greatest games to be published under Nintendo's name.
*Eventually, it was proven that modern video games could provide the community with brand new memories of the NES. The Nintendo DS was graced with Retro Game Challenge eight years later, capturing the hearts of all the twelve people who bought it.
Posted by Anthony at Sunday, September 08, 2013 1 comment:
Labels: action platformer, hal laboratory, kirby, kirby's adventure, masahiro sakurai, masterpiece, nes, nintendo, nostalgia, reverie, ten years of kirby
Ten Years of Kirby ~Reverie 4~ Kirby's Dream Land ...
Biweekly Music Wednesday! No. 6 ~Lost Woods~ (The ...


text:
Q: Swift (IOS) Update parameter in async function I'm currently working on creating a framework for IOS. My framework has to send request to my server, parse the response and then update the UITableView of the main page of the App.
I've already create a Singleton class "MyUpdater" which has a static func "addRow"
In my Application i have 2 objects: the tableView and a list of objects that i use for the tableView.
I want the "addRow" method (of my FrameWork) to add an object to the object list of the App asynchronously.
So i created the following method:
public static func addRow(tableView: UITableView, list: inout Array<Product>){
var my_object = Object()
list.insert(my_object, at: 1)
tableView.beginUpdates()
tableView.insertRows(at: [IndexPath(row: 1, section: 0)], with: .automatic)
tableView.reloadData()
tableView.enUpdates()}

And i get the following error: escaping closures can only capture inout.
How can i asynchronously update the list of the Application from the pod (framework) ?
Thank you.
Kind regards

A: why are you using inout ? I think this makes no sense here, since inout isn't a pass-by-reference.
Did you try something like: ?
public func addRow(tableView: UITableView, list: Array<Product>){
   Dispatch.main.async {
      //update the list + tableview
   }
}


I log in to COD using the Blizzard app, in Asia region. i used to be able to join any blackout game within 5-10mins. But after January 25, i cant find or even join a blackout game anymore. It always times out to a message saying servers are full. It's been like this for a week now and IT IS FRUSTRATING!!!!! was there an update? or servers pulled out in SIngapore where i live? have i been falsely reported and banned from blackout? TELL ME SOMETHING, or just refund me this *****ing game i paid for!!!