adventure programming