Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Armdroid/마법의디지바이스: Difference between revisions

From ZeroWiki
imported>chokh1443
No edit summary
(Repair batch-0001 pages from live compare)
 
(38 intermediate revisions by 3 users not shown)
Line 1: Line 1:
마법의 디지바이스란, 본래 구글 안드로이드 Udacity 스터디의 해커톤 참여를 위해서 기획한 프로젝트로 
마법의 MD5 배틀 + 디지바이스(다마고치) + 포켓몬의 전투 UI(희망사항) + 살아남아라개복치!의 메인UI
를 합친 게임이라고 생각하면 된다.
git> https://github.com/ZeroPage/magical-digivice 
__TOC__
__TOC__
= 기획 =  
= 기획 =  
Line 36: Line 41:
=== 육성 ===
=== 육성 ===
* 치킨먹기(30분당) :  
* 치킨먹기(30분당) :  
  재력-=50, 칰력+=rand()%100, 배부름+=10+rand()%20
  재력-=5, 칰력+=rand()%1, 배부름+=10+rand()%20
* 맥주마시기(30분당) :  
* 맥주마시기(30분당) :  
  재력-=50, 주량+=rand()%100, 멘탈+=10+rand()%20
  재력-=5, 주량+=rand()%1, 멘탈+=10+rand()%20
* 외주하기(30분당) :  
* 외주하기(30분당) :  
  재력+=100 + rand()%100, 멘탈-=rand()%5, 배고픔-=rand()%5, 코딩+=rand()%100
  재력+=10 + rand()%10, 멘탈-=rand()%5, 배고픔-=rand()%5, 코딩+=rand()%1
* 기본(30분당) :  
* 기본(30분당) :  
  배부름-=rand()%5 , 맨탈-=rand()%5
  배부름-=rand()%5 , 멘탈-=rand()%5
* 전투(1회당) :
배부름-=10, 멘탈-=10, 제력-=결과에따라
== 전투 ==
== 전투 ==
=== NFC ===
=== NFC ===
Line 49: Line 56:


* 전투는 ( rand() + rand() ) % 3 으로 다음 3가지중 하나로 전투한다.
* 전투는 ( rand() + rand() ) % 3 으로 다음 3가지중 하나로 전투한다.
** 다이다이
** 다이다이
   주량으로 전투를 한다.  
   주량으로 전투를 한다.  
Line 56: Line 62:
** 코드잼
** 코드잼
   코딩으로 전투를 한다.
   코딩으로 전투를 한다.
 
* 전투 알고리즘
  double TotalMyDmg=0, TotalUrDmg=0;
** 매턴
  int tmp = rand();
  int myDmg = tmp % myStat;
  int urDmg = tmp % urStat;
  TotalMyDmg += myDmg;
  TotalUrDmg += urDmg;
** 승패
  compare(TotalMyDmg,TotalUrDmg);
* 전투 결과
* 전투 결과
  전투를 통해 진쪽의 재력이 감소한다.
  배부름-=10
멘탈-=10
제력-= 결과에 따라 달라진다.
=== 출력 ===
=== 출력 ===
* 다이다이
* 다이다이
Line 68: Line 85:
* $0.99 달러에 부활 가능
* $0.99 달러에 부활 가능


== 결제 ==
* 정식버전(WIFI, 전투로그 지원)
  본 버전은 Lite 버전입니다.
  정식 버전을 사용하려면 결제해주세요.
  계좌번호 (우리) 1002-XXX-XXXXXX $0.99
* 부활
  계좌번호 (우리) 1002-XXX-XXXXXX $0.99
= 개발 =
= 개발 =
== 화면 구성 ==
http://pds21.egloos.com/pds/201411/07/63/d0045863_545ba5daaeb44.jpeg


* 위쪽에는 스탯 6개를 보여줌
* 아래 버튼 4개
* 치킨먹기, 맥주마시기, 외주하기 : 다이얼로그
* 전투하기 : NFC , WIFI(결제창으로 이동)
== BGM ==
* http://www.youtube.com/watch?v=woktSuBWR3U - 디지몬 butterfly
* http://www.youtube.com/watch?v=8oWthp4_nsU - 디지몬 진화 브금
* http://www.youtube.com/watch?v=9pYO0aHmez4 - 포켓몬 전투 브금
== 마법의 md5 ==
*스탯과 캐릭터id(이미지)는 preference 에 저장
== 전투애니메이션 ==
* Activity 1개로 해결
== NFC사용법 ==
* 파일 전송 가능 (용량 제한 x)
* Android Beam(TM)이라는 기술을 쓴다.
** http://developer.android.com/guide/topics/connectivity/nfc/nfc.html#p2p (레퍼런스)
** 레퍼런스에 있는 예제코드를 복붙, 하고  Intent-filter를 붙이는 정도로 사용 가능하다.
** 단, 단방향 전송만 가능한데다가, '송신'을 위해 사람이 손으로 터치해서 허가 해줘야 한다;
** 이 때문에 문제가 생겼다.
*** 본래 양방향 통신을 기대하고 만들었는데 단방향만 된다.
*** '송신' 허가를 위해 터치를 해야 한다. '수신' 허가도 아니다. 수신 허가였으면 서로 턴을 교환 하는 식으로 만들 수 있었을 텐데.
*** 게다가, 송신 허가 시점을 캐치할 수 없다. 전송 시도할때는 캐치 할수 있다. 근데 이 시점을 잡아봐야 게임 진행에 쓸모가 없다.
*** Beam 말고 Tag 상태로 작동 할 수 있는지 시도 해봤는데, 방법이 없다.
** 기획 수정이 필요하다.
** NFC의 이런 특징을 감수하고도 할만한 진행방식을 생각하던가
** 아니면, 다른 근거리 통신 기술을 이용해야 한다.
----
상위: [[Armdroid]]

Latest revision as of 23:56, 26 March 2026

마법의 디지바이스란, 본래 구글 안드로이드 Udacity 스터디의 해커톤 참여를 위해서 기획한 프로젝트로

마법의 MD5 배틀 + 디지바이스(다마고치) + 포켓몬의 전투 UI(희망사항) + 살아남아라개복치!의 메인UI

를 합친 게임이라고 생각하면 된다. git> https://github.com/ZeroPage/magical-digivice

기획

캐릭터

  • 현장에서 생성
    • 연속 촬영등을 활용해서 사람들 얼굴을 사진으로 담는다.
 이 사진을 캐릭터의 이미지로 활용하여 충분한 숫자의 캐릭터를 만든다.

생성

  • 마법의 md5
이름을 넣으면 md5화 시켜서 임의로 캐릭터를 생성.
md5로 부터 나오는 수치는 7가지 스탯의 초기값, 캐릭터 이미지

스탯

*비전투 관련 스탯 ( 최대값 char )
 외주를 하면 감소한다.
 시간이 지나면 감소한다.
 0 이하로 내려가면 캐릭터가 사망하고 앤딩으로 이동한다.
 최대값보다 커질 경우 더 이상 할 수 없다.
    • 배부름
 치킨을 먹으면 배부름 수치가 올라간다.
    • 맨탈
 맥주를 마시면 맨탈 수치가 올라간다.
  • 전투 관련 스텟 ( 최대값은 unsigned int )
    • 칰력--칰앙심--
 치킨을 먹으면 스탯이 올라갈 가능성이 있다.
    • 주량
 맥주를 마시면 스탯이 올라갈 가능성이 있다.
    • 코딩
 외주를 하면 스탯이 올라갈 가능성이 있다.  
  • 전투+비전투 관련 스탯 ( 최대값은 unsigned int )
    • 재력
  외주를 하면 증가한다.
  치킨을 먹거나 맥주를 마시면 감소한다.
  0 이하로 내려가면 캐릭터가 사망하고 앤딩으로 이동한다.
  전투에서 지면 감소한다.

육성

  • 치킨먹기(30분당) :
재력-=5, 칰력+=rand()%1, 배부름+=10+rand()%20
  • 맥주마시기(30분당) :
재력-=5, 주량+=rand()%1, 멘탈+=10+rand()%20
  • 외주하기(30분당) :
재력+=10 + rand()%10, 멘탈-=rand()%5, 배고픔-=rand()%5, 코딩+=rand()%1
  • 기본(30분당) :
배부름-=rand()%5 , 멘탈-=rand()%5
  • 전투(1회당) :
배부름-=10, 멘탈-=10, 제력-=결과에따라

전투

NFC

  • 데이터 교환
주량, 칰력, 코딩, 재력, rand()
  • 전투는 ( rand() + rand() ) % 3 으로 다음 3가지중 하나로 전투한다.
    • 다이다이
 주량으로 전투를 한다. 
    • 칰세권
 칰력으로 전투를 한다.
    • 코드잼
 코딩으로 전투를 한다.
  • 전투 알고리즘
  double TotalMyDmg=0, TotalUrDmg=0;
    • 매턴
  int tmp = rand();
  int myDmg = tmp % myStat;
  int urDmg = tmp % urStat;
  TotalMyDmg += myDmg;
  TotalUrDmg += urDmg;
    • 승패
  compare(TotalMyDmg,TotalUrDmg);
  • 전투 결과
배부름-=10
멘탈-=10
제력-= 결과에 따라 달라진다.

출력

  • 다이다이
  • 칰세권
  • 코드잼

엔딩

  • $0.99 달러에 부활 가능

결제

  • 정식버전(WIFI, 전투로그 지원)
 본 버전은 Lite 버전입니다.
 정식 버전을 사용하려면 결제해주세요.
 계좌번호 (우리) 1002-XXX-XXXXXX $0.99
  • 부활
 계좌번호 (우리) 1002-XXX-XXXXXX $0.99

개발

화면 구성

http://pds21.egloos.com/pds/201411/07/63/d0045863_545ba5daaeb44.jpeg

  • 위쪽에는 스탯 6개를 보여줌
  • 아래 버튼 4개
  • 치킨먹기, 맥주마시기, 외주하기 : 다이얼로그
  • 전투하기 : NFC , WIFI(결제창으로 이동)

BGM

마법의 md5

*스탯과 캐릭터id(이미지)는 preference 에 저장

전투애니메이션

  • Activity 1개로 해결

NFC사용법

  • 파일 전송 가능 (용량 제한 x)
  • Android Beam(TM)이라는 기술을 쓴다.
    • http://developer.android.com/guide/topics/connectivity/nfc/nfc.html#p2p (레퍼런스)
    • 레퍼런스에 있는 예제코드를 복붙, 하고 Intent-filter를 붙이는 정도로 사용 가능하다.
    • 단, 단방향 전송만 가능한데다가, '송신'을 위해 사람이 손으로 터치해서 허가 해줘야 한다;
    • 이 때문에 문제가 생겼다.
      • 본래 양방향 통신을 기대하고 만들었는데 단방향만 된다.
      • '송신' 허가를 위해 터치를 해야 한다. '수신' 허가도 아니다. 수신 허가였으면 서로 턴을 교환 하는 식으로 만들 수 있었을 텐데.
      • 게다가, 송신 허가 시점을 캐치할 수 없다. 전송 시도할때는 캐치 할수 있다. 근데 이 시점을 잡아봐야 게임 진행에 쓸모가 없다.
      • Beam 말고 Tag 상태로 작동 할 수 있는지 시도 해봤는데, 방법이 없다.
    • 기획 수정이 필요하다.
    • NFC의 이런 특징을 감수하고도 할만한 진행방식을 생각하던가
    • 아니면, 다른 근거리 통신 기술을 이용해야 한다.

상위: Armdroid