300 likes | 712 Views
BREW 를 이용한 게임 프로그래밍. 목차. BREW 란 ? BREW SDK 사용자 가이드 BREW 활용 참고자료 BREW 를 이용한 게임 프로그래밍. BREW 란 ?. 모바일 분야의 어플리케이션 플랫폼 제공업체로의 변신 : 1 월 31 일 'BREW(Binary Runtime Environment for Wireless)' 를 발표 BREW 모바일용 Java 인 J2ME 보다 고속 프로그램상의 각종 제한을 완화한 휴대전화용 플랫폼
E N D
목차 • BREW 란 ? • BREW SDK 사용자 가이드 • BREW 활용 • 참고자료 • BREW를 이용한 게임 프로그래밍
BREW란? • 모바일 분야의 어플리케이션 플랫폼 제공업체로의 변신 : 1월 31일 'BREW(Binary Runtime Environment for Wireless)'를 발표 • BREW • 모바일용 Java인 J2ME 보다 고속 • 프로그램상의 각종 제한을 완화한 휴대전화용 플랫폼 • C와 C++로 구현이 가능하고 휴대폰의 음성 신호제어도 가능 • BREW를 탑재한 휴대전화는 다양한 어플리케이션을 네트웍 서버로 부터 다운로드하여 이용이 가능 • CDMA 기반 무선기기를 위한 차세대 오픈 플랫폼 • 무선을 위한 이원(二元) 실행시간 환경
BREW란? • Binary • API는 Binary ARM 라이브러리들로 구성 • Application 은 ARM 에 의해 컴파일되고, 링크됨 • Run Time • BREW Application 들은 Runtime 시 launch됨 • Environment • 풍부한 API 와 Application 관리 서비스가 제공됨 • Wireless • 빠르고,효율적이고, RAM/FLASH 의 사용이 적은 환경을 지원 • Wireless 서비스를 이용하는 단말기의 Application 을 위해 개발됨
Core 클래스제공 (Applets) Module화 (이식성) RAM/P.M (효율적인 사용) BREW AEE 개발 환경 지원 (다양한 개발환경) Module화 (개발/통합시간) OEM-Specific (Native Format) 쉬운 Localization (다양한 국가) UNICODE 지원 (국제성) BREW란? - BREW의 장점
BREW란? - SDK의 구성 • AEE • Application Execution Environment를 의미하는 것으로 • Emulator • MIF Editor • Resource Editor • Device Configurator • Brew를 이용하여 Application을 작성하고, 이를 Test하는 데 사용되는 기본 Tools • Sample Applications • Brew API를 이용하여 작성된 Code. • Include Files
BREW란? - BREW AEE • Application Execution Environment • BREW Applets을 load하고 실행할 수 있는 환경 • 객체 지향적인 개발환경, 개발 플랫폼과 C나 C++로 작성된 Shared Module 제공 • Event-Driven 구조로 되어 있음
BREW란? - BREW Emulator Applets Select Key Clear Key
BREW란? - BREW Emulator Play 화면 MP3 Play 리스트
CP Application Download 저작Tool Application Download System BREW Phone BREW Phone 사용자 인증 Contents Service System (Application) Application 인증 정보 Internet cdma 1x 과금 정보 DB DB DB DB DB 인증 System Billing System Pre-billing System BREW란? - Brew Service 구성도
BREW SDK 사용자 가이드 • 예제 응용 프로그램 • BREW의 각 응용 프로그램 모듈은 WindowDLL로 개발된다. • 각 모듈에는 관련 MIF가 있어야 한다. • MIF에는 지원되는 클래스, 지원되는 애플릿, 애플릿정보와 같은 모듈에 대한 정보가 들어 있다. • 애플릿 디렉토리 • 애플릿 디렉토리는 응용 프로그램 디렉토리가 위치하는 ROOT를 나타낸다. • 각 응용 프로그램은 자신의 MIF 파일과 이름이 같은 고유한 디렉토리를 갖는다. • MIF 디렉토리 • 모든 MIF는 <Brew/Examples/MIF>에 상주 • <Brew/Examples/MIF/Apps>에는 모든 데모 응용 프로그램의 MIF가 들어있다 • <Brew/Examples/MIF/Usage>에는 모든 사용법 응용 프로그램의 MIF가 들어 있다 • 장치에서 MIF는 항상 애플릿 디렉토리와 같은 디렉토리에 있어야 한다
BREW SDK 사용자 가이드 • 애플릿 정보 : 응용프로그램DLL 작성에 필요한 구성요소 목록 • BREW SDK와 함께 제공되는 BREW AEE • 단순 모듈 작성을 위한 BREW 지원 원본 • 애플릿 원본 및 헤더 • BREW MIF 편집기를 사용하여 만든 MIF • BREW 리소스 편집기를 사용하여 만든 애플릿 리소스(옵션) • MIF 정보 • BREW 에 있는 모든 클래스는 고유의 ClassID를 가져야 하며, 이 ClassID는 BREW의 각 애플릿이 가지고 있는 고유한 ClassID를 가리킨다 • 수동으로 ClassID를 애플릿이나 클래스에 지정하고자 한다면 반드시 동일하지 않은 ClassID를 지정해야 한다.
BREW SDK 사용자 가이드 • 인스턴스 만들기 • 애플릿 및 모듈 생성을 지원하기 위해 제공하는 메커니즘은 ISHEEL_CreateInstance 메서드이다 • ISHEEL_CreateInstance 메서드가 호출되면 BREW 는 지원되는 클래스 목록에서 지정된 32비트 등록 ClassID를 검색한다 • 클래스 생성은 BREW 모듈이 지원하는 IMODULE_CreateInstance 메서드를 통해 이루어진다 • IMODULE_CreateInstance 메서드를 호출하려면 먼저 모듈을 메모리로 로드하여 초기화한다 • 모듈이 로드되면 BREW 는 IMODULE 인스턴스를 사용하여 요청된 클래스를 만든다 • 애플릿 만들기 • 애플릿은 IApplet 인터페이스에 있는 메서드를 지원하는 클래스 • 애플릿을 만드는 두 가지 조건 • ISHEEL_StartApplet 메서드에 대한 응답으로 애를릿이 만들어 진다 • 애플릿을 시작하여 등록 알림, 알람 등을 처리할 수 있다
BREW SDK 사용자 가이드 • 애플릿 이벤트 처리 • 이벤트는 ISHEEL_SendEvent 메서드를 통해 애플릿에 보내진다 • 애플릿에 보내지는 이벤트는 키패드, 대화상자, 컨트롤 변경 이벤트 등이 있다 • 새 응용 프로그램 만들기 : 응용프로그램을 만드는 일반적인 단계 • 모듈에 MIF를 만든다 • 예제 응용 프로그램 중 하나에 대한 작업 영역을 자신의 작업영역으로 복사 • 응용 프로그램 작성 • MIF를 애플릿 디렉토리나 별도의 MIF 디렉토리에 저장 • Module DLL과 리소스 파일을 애플릿 디렉토리의 해당 하위 디렉토리에 저장
BREW SDK 사용자 가이드 • ISHEEL 인터페이스 • 셀 또는 기반이 되는 드라이버가 지원하는 추가 클래스를 가져오는 메커니즘 • 장치 기능에 대한 정보 • 현재 애플릿을 활성화 하고 비활성화하는 메커니즘 • 타이머를 관리하는 메커니즘 • 시스템 시간 및 시간 변환 루틴에 대한 액세스 • 사용자 입력을 가져오는 대화상자 관리 루틴 • 애플릿에서 사용하는 리소스를 로드하는 메커니즘 • 이벤트를 다른 인터페이스에 전달하는 메커니즘 • 메시지 상자를 표시하는 메커니즘 • 알람을 게시하는 메커니즘 • 프로토콜과 컨텐트 뷰어를 등록하고 쿼리하는 기능
BREW SDK 사용자 가이드 • IBase 인터페이스 • - 인터페이스 개체를 동적으로 할당하는 메커니즘 • 인터페이스 개체를 반환하거나 해제하는 메커니즘 • 모든 BREW 클래스는 IBase 인터페이스에서 함수를 구현 • IModule 인터페이스 • BREW 모델의 기본은 모듈(Imodule)이 연결되거나 기본장치 셸(IShell)에 의해 로드되는 메커니즘 • 정적 모듈은 장치제조업체만 개발 가능 • 응용 프로그램 개발자는 동적 모듈을 작성 • IApplet 인터페이스 • BREW 응용 프로그램 모델은 이벤트 제어엔진을 기반으로 한다 • 애플릿이 로드되면 이벤트를 통해 모든 입력을 받는다 • 인터페이스 ClassID • 애플릿 ClassID
BREW 응용 : Game HDR, 2Mbps 3-D Motion Video/Music Clips (Mission Impossible) Games IS-2000, 1x, 153.6kbps Multi-player Enhanced A/V Action, Fantasy (Bionic Commando) IS-95A/B, 14.4kbps/64kbps Simple, single player games Text or low-res graphics (BlackJack, Pong, Tetris) 2004 2000 2001 2002 2003
BREW 응용 : Entertainment (Music & Video) HDR, 2Mbps Video on Demand Music Video Internet TV Streaming Audio and Video, Animation, Short Video Clips Internet Radio Book Audio download MP3 download Karaoke IS-2000, 1x, 153.6kbps IS-95A/B, 14.4/64kbps Book text download Ringer downloads 2004 2000 2001 2002 2003
BREW 응용 : Internet Radio HDR, 2Mbps Lower Cost/MB Internet Multicast IS-2000, 1x, 153.6kbps Streaming Audio View Program Schedules and Playlists Select Song to Order Album Select Song to Download MP3 song file IS-95, 14.4kbps/64kbps 2004 2000 2001 2002 2003
Buddy List Online James Sutton Franchesca Sally Rogers Wilbert Smith BREW 응용 : Instant Messenger HDR, 2Mbps Subscriber to Data/Control Center w/Position Location Information - Medical/Emergency records - Construction reports IS-2000, 1x, 153.6kbps Voice Chat Video Conferencing Subscriber Position & Online Presence Detection IS-95, 14.4kbps/64kbps Text Messages Presence-Based Messaging 2004 2000 2001 2002 2003
Done 10PM 8/1/00 Sara W Mary, I was thinking we could purchase content at a lower price if we sent Sam to... BREW 응용 : Mobile Email HDR, 2Mbps Full message/mailbox wireless synching Lower Cost/MB IS-2000, 1x, 153.6kbps IMAP4/SMTP/POP3 Remote File Sharing Graphics Support IS-95, 14.4kbps/64kbps IMAP4 Text Messages Desktop Synching 2004 2000 2001 2002 2003
BREW 응용 : Location – Friend Finder • Unique service that provides compelling functionality to user base • Extreme “stickiness” reduces churn • Higher MOU based on position location information and greater user interaction • New monthly revenue stream • Merges popular instant messaging with position info • Leverages gpsOne resolution (~5m) - Competitive advantage • Competition cannot offer Friend Finder without gpsOne • Routing and map downloads can increase revenue per user PREFERENCES BUDDIES: (2/3) Katie [52km] Chris [600m] FAMILY: (2/2) Mom [8km] Dad [14km] CO-WORKERS: (3/3) Gina [6m] Chucki [6m] Ben [35m] Ben [8km] Chris [600m]
BREW 응용 : Location - EasyRoute • Calculates fastest route to destination based on user’s current position • Accesses real-time traffic data, transportation schedules • Provides Estimated Time of Arrival (ETA) • QUALCOMM's gpsOne technology provides best in class resolution (~5m) - enables turn by turn directions • Dynamic re-routing based on changing traffic conditions
BREW 응용 : Avatars News Anchors Top 10 Hits Reader Sports Casters • Phone Answering Avatar • Game Player Avatar • Phone UI Avatar
참고 자료 • BREW 관련 웹사이트 • K 모바일 (www.kmobile.co.kr) : 모바일에 대한 다양한 소식을 얻을 수 있는 사이트 • Mobile BREW (www.mobilebrew.net) : BREW에 대한 기술적인 정보를 얻을 수 있는 사이트 • 모바일랩(mobilelab.co.kr) : 모바일 관련 기술 정보를 얻을 수 있는 사이트 • KTF 멀티팩 개발자 사이트(http://devsupport.magicn.com/) • 참고서적 • BREW 모바일 프로그래밍, 천귀호, 한빛미디어, 23000원 • BREW Mobile Programming, 모바일 브루 사이트 운영진, 영진.com, 28,000원
BREW를 이용한 게임 프로그래밍 • 간단한 네트워킹 액션 모바일 게임 프로그램을 작성 • 소요기간 : 3월~6월(4개월) • 팀별 프로젝트 진행 • 평가 • 제안서 및 발표 : 20% • 중간발표 : 30% • 최종결과물 : 30% • 모바일콘텐츠공모전제출 : 20%