기본 콘텐츠로 건너뛰기

UN, 쓰나미·지진 피해방지 게임 제작

UN이 재해 방지용 게임을 제작, 무료로 배포하고 있다.

UN은 최근 영국의 개발사 플레이어쓰리(Playerthree)와 함께 어린이들을 위한 재해 방지 게임 <스탑 디재스터 게임>(Stop Disasters Game)을 공개했다. 플래시로 제작된 이 게임은 공식 사이트(www.stopdisastersgame.org)를 통해 누구나 즐길 수 있다.

<스탑 디재스터 게임>은 지진, 홍수, 쓰나미, 산불, 허리케인의 다섯 가지 재해 상황별 미션을 제공하며, 게이머는 한정된 자금과 시간 속에서 인명-재산 피해를 최소화시켜야 한다. 게임은 방어용 건물, 식물을 배치하고 대피용 학교, 병원 등을 건설하는 등 <심시티>같은 도시 건설 시뮬레이션 방식으로 진행된다.

UN은 이 게임을 통해 아이들에게 재해의 이해와 대처 방법을 가르칠 수 있을 것으로 기대하고 있다. 학교에서부터 재해 교육을 시작해야 어린 학생들이 나중에 재해로부터 도시와 시민을 구하는 방법을 익힐 수 있다는 것이다.

실제로 <스탑 디재스터 게임>은 꽤 세밀한 게임성을 갖고 있어, 재해가 일어나 전에 다양한 상황을 꼼꼼하게 점검하고 대비하지 않으면 실패할 가능성이 높다. 각 재해 상황마다 15가지 예방 키 포인트가 있으며, 이것을 하나씩 밝혀나가는 재미도 느낄 수 있다.

이 게임의 개발에는 UN 산하 국제 재해 감소 계획(ISDR, International Strategy for Disaster Reduction)도 참여해 실질적인 예방 정보를 충실히 제공하고 있다. UN<스탑 디재스터 게임>의 다국어 버전을 DVD 패키지로 제작해서 아시아나 아프리카의 어린이들에게 보급할 수 있기를 희망하고 있다.


다섯 가지 재해 상황별 시나리오가 제공된다.

커뮤니티 센터를 업그레이드해서 대피 훈련과 경보 시스템을 확충하고 있다.


지진 시나리오의 한 장면. 화산 폭발의 낙진을 피하기 위한 맞춤형 대비가 필요하다.


자금이 제한되어 있기 때문에 신중하게 쓰지 않으면 실패하기 쉽다.




댓글

이 블로그의 인기 게시물

[Unity3D] 모바일에서 스크롤바 안에 있는 버튼 클릭 문제

해당 씬 이벤트시스템에 아래 코드를 적용하면 된다. using UnityEngine; using UnityEngine.EventSystems; /// /// Sets the drag threshold for an EventSystem as a physical size based on DPI. /// public class PhysicalDragThreshold : MonoBehaviour {  private const float inchToCm = 2.54f;  [SerializeField]  private EventSystem eventSystem = null;  [SerializeField]  private float dragThresholdCM = 0.5f;  void Start ()  {   if (eventSystem == null)   {    eventSystem = GetComponent();   }   SetDragThreshold();  }  private void SetDragThreshold()  {   if (eventSystem != null)   {    eventSystem.pixelDragThreshold = (int)(_dragThresholdCM * Screen .DPI / inchToCm);   }  } }

[UNITY3D] iOS Xcode로 archive를 하는데 먹통이 되는 현상

Too slow to compile archive in xcode (IL2CPP) 오늘 하루종일 한 일이 배포용 버전 만드는 일이었다. ㅎㅎ 개발 버전으로 빌드 테스트 잘 되어서 외부 테스터들을 위해서  배포 버전을 만드는데 계속 archiving  에서 먹통..ㅠㅠ 30분을 기다려보고 재부팅하고 다시 한시간을 기다려봐도 깜깜 무소식이다. 활성 상태 보기로 체크 해보니 clang 이란 놈이 메모리 16G 중에 15G를 잡아 먹고 있었다. 이건 기다려서 해결될 일이 아니다. ㅎㅎㅎ 구글신의 도움으로  프로젝트 중에  Hashtable 쓰는 곳이 있으면   clang 컴파일러가  Hashtable가 사용된  코드를 미친듯이 풀어헤쳐 버리는 듯 한 것같다. 그래서 Unity에서 사용하는 구조체 중에 Hashtable 사용하는 구조는 폐기해버렸나 보다 (이제야 이해가 되는듯 ㅋㅋ) WWW 클래스 에서 쿠키 값 저장하는데 Hashtable 폐기되고  Dictionary 구조체를 사용하게 바뀌어 있었는데  하여튼 지금 상으로 해결 방법은 Unity Project에서 사용되는 코드를 바꾸던가 아니면  Xcode setting 에서 optimization level 을 0으로 설정하면 된다. 어떤 날은 미친듯이 진도 나가는 날이 있지만, 어떤 날은 미친듯이 한 문제만 푸는 날도 있네.. ^^; 그래도 감사하게도 해결했으니 편히 잠을 자는구다. 참고한 링크  http://fogbugz.unity3d.com/default.asp?721062_n482bt9n4qm7ejgb IOS IL2CPP Freeze in xCODE on default optimization level There's nothing with my system that's the problem. I don't have any code to...

[Unity3D] 유니티 내장 로컬 푸쉬 기능

 유니티 내장 로컬 푸쉬 기능  - iOS에서만 가능, Android는 직접 개발하던가 Plugin 사용  먼저 등록을 해주고 ( 등록 안하면 작동 안함 ) public void InitNotification() { #if UNITY_ANDROID #elif UNITY_IOS UnityEngine.iOS.NotificationServices.RegisterForNotifications( UnityEngine.iOS.NotificationType.Alert | UnityEngine.iOS.NotificationType.Sound ); #endif } 시간을 정해서 등록해준다.( 3일동안 접속 안할 경우 알림이 오게 한다면 ) public void ScheduleNotification() { //Affer 3 Day string _body01 = "다시 시작해볼까요?"; #if UNITY_IOS UnityEngine.iOS.LocalNotification notiWake = new UnityEngine.iOS.LocalNotification(); DateTime theTime_Wake = DateTime.Now; theTime_Wake = theTime_Wake.AddHours(24*3); Debug.Log("theTime_Wake:"+theTime_Wake); notiWake.fireDate = theTime_Wake; notiWake.alertAction = "타이틀"; notiWake.alertBody = _body01; notiWake.soundName = UnityEngine.iOS.LocalNotification.defaultSoundName; UnityEngine.iOS.NotificationServices.ScheduleLocalNotification(notiWake); #elif UNITY_ANDROID #endif } 취소 함수를...