[portfolio] MFC Fakreature

제목 : Fakreature 장르 : 생존RPG UI 설명 UI 설명 – 맵 정보 time : 게임 시간, xy : 현재 위치, map : 현재 에리어 정보 UI 설명 – 액션(이동) MOVE : 현재 이동타입 CRAW : 기어감 (시간고정, 스테미너 고정, 이동거리 1) WALK : 걸어감 (파츠에 따라 시간변화, 스테미너 변화, 이동거리 1) SWIM : 수영함 (파츠에 따라 시간변화, 스테미너 변화, 이동거리 1) FLY : 날라감 (시간고정, 스테미너 고정, 파츠에 따라 이동거리변화) UI 설명 – 액션(이동) MOVE : 현재 이동타입 CRAW : 기어감 (시간고정, 스테미너 고정, 이동거리 1) WALK : 걸어감 (파츠에 따라 시간변화, 스테미너 변화, 이동거리 1) SWIM : 수영함 (파츠에 따라 시간변화, 스테미너 변화, 이동거리 1) FLY : 날라감 (시간고정, 스테미너 고정, 변화 이동거리변화) UI 설명 – 액션(이동) 이동을 SIWM변환 (물타입 에리어만 이동 가능, 현재 용암) UI 설명 – 액션(이동) 이동을 FLY변환 (모든 에리어이동 가능) UI 설명 – 액션(이동) FLY 이동(이동 가능 에리어 클릭) 이동후 쿨타입 적용(캐릭터 아래 카운터) UI 설명 – 맵 정보 이동에 따른 맵 정보 변화 UI 설명 – 맵 정보 +, – : 맵 사이즈 변화 input + 사이즈축소(-2 까지 축소), – : 사이즈확대(+2 까지 확대) UI 설명 – 액션(전투) 전투 방법 : 다른 크리처가 있는 에리어로 내 크리처가 이동 또는 내크리터가 있는 에리어로 다른 크리처가 이동 UI 설명 – 액션(전투) 전투 순서도 1 다른 에이어에서 온 크리처가 기존에 있던 크리처를 공격한다

2 공격 당한 크리처가 살아 남으면 반격을 한다 3 전투 종료 주의사항 : 한 에리어에 크리처가 몰려 있을 경우 전부 한번씩 공격(링키드 리스트 형식이라 들어 온 순으로 공격함) UI 설명 – HP, Stamina HP : 체력, 0이 되면 사망 Stamina : 지구력 0이 되면 강제로 휴식상태에 들어감

(10초) UI 설명 – HP, Stamina Stamina 부족한 상태로 이동하여 강제 휴식중 UI 설명 – HP, Stamina 이동으로 Stamina 사용 UI 설명 – HP, Stamina 전투로 HP 감소 UI 설명 – 액션(기타) RE-SEARRH : 맵을 재갱신 및 현재 에리어에 다시 들어온 것으로 취급 Recovery : HP회복 Rest : 스태미나회복 UI 설명 – 액션(기타) Recovery실행 (체력 회복및 쿨타임) UI 설명 – HP, Stamina 이동으로 Stamina 사용 UI 설명 – my creature 내 크리처 정보 제공 (자세한 설명 생략) UI 설명 – DNA 내가 가지고 있는 크리처파츠들 확인 및 크리처 빌드 기능 제공 UI 설명 – DNA(빌드) 파츠 조합 방법 상체 1 -> 하체1 -> 머리 1이상 -> 나머지 파츠 0이상 UI 설명 – DNA(빌드) 파츠마다에 특징 설명은 생략 UI 설명 – DNA(빌드) 빌드 후 쿨타임(10초) UI 설명 – DNA(빌드) 팔파츠(공격 파츠)만 사용하여 전투시 상대 HP를 한번에 0으로 만듦 UI 설명 – DNA(빌드) 파츠 조합 UI 설명 – DNA(빌드) 빌드 후 쿨타임(10초) UI 설명 – my creature 내 크리처 정보 변화 UI 설명 – DNA(빌드) 날개파츠(날라가는 거리를 정하는 파츠)를 많이 사용하여 날라가는 거리를 증가 시킴 UI 설명 – 액션(이동) 이동타입에 따라 가능한 이동 에리어

무선충전 안되는 폰, 무선충전 되게 만들기 (이렇게 간단해도 되나요…)

안녕하세요 리오팍고 입니다

오늘은 무선충전이 지원되지 않는 핸드폰에 무선충전이 되도록 기능을 넣어 보려고 하는데요 굉장히 간단하거든요 천천히 여러분들께 소개해 드릴 게요 함께 보시죠 먼저 준비물로는 무선충전이 지원되지 않는 핸드폰이 있어야겠죠 그 다음에 핸드폰 케이스가 있어야 됩니다

핸드폰 케이스가 있어야 되고요 그 다음에 정말 핵심적으로 필요한 것은 바로 이 녀석이에요 '무선충전패치' 입니다 무선충전패치 이 녀석인데요 무선충전패치의 가격은 한 4천원 정도 하는 것 같아요

4천원 정도 하는 것 같고요 구매하실 때 정말 중요한 점이 뭐냐 면 저는 현재 여기 c타입을 사용하고 있거든요 이 무선충전패치도 같은 핸드폰 과 같은 단자를 구매하셔야 됩니다 제가 사용하고 있는 핸드폰이 c 타입이기 때문에 저도 무선충전패치를 c타입으로 구매했습니다 그래서 어떻게 하는지 알려드릴 게요

핸드폰에 무선충전 패치를 꽂아 주는거에요 꽂아준 다음에 아까 제가 케이스 필요하다고 했잖아요 케이스를 이렇게 해서 숨겨주는 거죠 케이스 뒤쪽으로 아래서부터 위로 이렇게 해서 넣어버린 후 무선충전기에 갔다 댔을 때 패치 가 연결되어 있기 때문에 핸드폰은 자동적으로 무선충전 기능이 활성화 되는거죠

물론 이 무선충전이 가능해진다 는 장점이 있겠지만 반면에 발열 무선충전 방식이기 때문에 왔다갔다 하면서 발열이 이루어진 다라는 단점이 있고요 두 번째 단점으로는 충전속도가 유선에 비해서 빠르지는 않겠죠 또한 요즘에는 고속 무선충전 이라는 것이 나오곤 하는데 그 정도 속도는 안나오는 것 같아요 그래도 저 같은 경우에는 책상이나 자주 가는 곳에 무선충전 거치대가 있거든요 언제나 올려두기만 하면 속도가 조금 느리긴 하지만 그래도 충전이 간편하게 이루어지고 있기 때문에 크게 불편함을 느낀 적은 없었던 것 같아요 오늘은 간단하게 무선충전이 지원되지 않는 핸드폰에 무선충전이 되도록

무선충전을 할 수 있는 무선충전을 활용하는 방법에 대해서 소개해 드렸는데요 여러분들도 무선충전이 되지 않는 핸드폰 이시라면 저처럼 무선패치를 구매하셔서 이 아래쪽에 딱 숨겨 놓으시면 좋을 것 같아요 그러면 언제든지 무선충전이 가능 해진다는 것이죠 오늘 제가 이렇게 소개해드린 정보 나 동영상이 도움이 되셨다면 영상 아래쪽에 좋아요와 구독하기 버튼 꾹꾹꾹꾹 꾹꾹 눌러주시면 좋겠습니다 저는 여기서 인사드리도록 할게요

지금까지 리오팍고 이었습니다 감사합니다

How I Made My Own iPhone – in China

어느 나라 사람이세요? 어, 미국이요 미국? 네 좋아요 제 아이폰 만들려고 해요

좋아용 중국에서 바베큐 먹은적이 있어요 저 같이 전자기기 광돌이 하고 있었는데 누군가 저한테 여기서 모든 휴대폰 부품을 볼 수 있다고 했어요 제가 휴대폰을 직접 만들 수 있을지 궁금하네요 저는 지난 9개월 동안 중국을 오갔는데요 이 생각이 자꾸 나는거에요 나 혼자 휴대폰을 만들 수 있을까? 게다가 중국어를 잘 못하는 서양인에게 부품을 팔까? 안녕하세요

안녕하세요 음, 아이폰 6S 있나요? 4S요? 6S요 그래서 저는 괴짜들이나 할 것 같은것에 뛰어 들었죠 여기 선전에 오는건 미래로 가는것 같지만 정신없고, 디스토피아적이고, 블레이드러너 풍의 미래죠 ㅋ 그래서 폰을 만들려면 4개의 부품이 필요한데요 일단 휴대폰이 들어가는 껍데기인 금속 뒤판이 필요하고

스크린도 필요해요 배터리도요 그리고 논리 회로가 필요한데 이 회로 보드위에 프로세서와 메모리 같은것이 올라가죠 그래서, 우린 머시기 시장 뒤에 왔는데요 여기서 뭘 파는지 보죠

가끔씩 휴대폰 뒤판을 팔더라고요 신기한 곳이었어요 방금 한 부스에서 재활용된 뒤 판을 살라고 했는데 성공했어요 근데 흠집이 좀 있네요 이제 시장 중심에 가서 새거 처럼 생긴 뒤판을 구할수 있는지 보러 가죠 시장안에서 큰 카메라는 못쓸것 같아서 제 아이폰을 쓸게요

올, 좋은데요 이건, 어, 아이폰 7 플러스인디 네, 로고가 없는게 좋은데요 내일쯤 되야 받을수 있다네요 하나만요? (yi bai ge) 6S용 이거 찾는데요 이거요? 네 이거 6S죠? 예, 6S

얼마에요? 프레임이 필요하세요 전체 셋이 필요하세요? 제 말은 이거 이거 이거 원해요? 버튼 필요하세요? 네넹 몇 개 필요하세요? 하나요 아, 한 개 하나만요? 이 정도 합니다 네 살거에요? 예 살게요 네, 한 건 했네요

꽤 빨리 새거같은 녀석을 찾았네요 근데 이건 원래 제품처럼 레이저 마킹이 없어요 케이블을 정리할려면 마킹이 필요해요 글고 안테나 스티커를 붙일 패치가 있네요 마킹을 할 수 있는 곳이 있을거라 생각하는데요

그래서 가서 할 수 있을지 보죠 저는 또한 애플이 만든거라고 보기 힘든여러 색상의 멋진 디자인들을 많이 봤는데요 조금 둘러 봤어용 그리고 저는 마침내 계단밑 작은 방에 있는 이 레이저 부스를 찾았어요 원래 제품이랑 똑같이요

걍 애플이 하던데로요 네 애플, 미국판 기준 되나요? 여기서 미국걸로 되죠? 저는 맥도날드 밖에서, 프랭크를 기다리고 있어요 그래서 프랭크는 바이어인데요 여기 시장에서 많은 부품을 사요

이 친구가 스크린에 들어가는 부품을 사는걸 도와줄거에요 그래서, 내가 하고 싶은건, 아이폰 6S를 만드는거야 나는 화면을 만들고 싶어 할 수 있는한 최대한 처음부터, 그니까 부품부터

그래서 우리가 스크린으로 조립하려면, 뭐가 필요해? 일단 유리 액정이 필요하고 디지타이저하고 LCD 랑 백라이트 OCA도 필요해 응, 광학용 투명 필름장치 맞지? 응응

터치 센서같은건 없어? 포스터치에 들가는거 LCD안에 있어 좋아, LCD의 일부랍니다 이 과정은 진행되야되는데 먼지없이? 아니면 먼지 없이? 먼지 없이 응응

그럼 엄청 깨끗해야겠군 어 근데 여기 시장에서 할 수 있는거 맞지? 그거 할 수 있는 사람 있어? 수리점에 가도 되고 그래서 우리가 먼저 부품을 사서 수리점에 들고가는게 좋아 아니면 수리점에 가서 사는게 좋아? 일단, 그 사람들이 해줄지 봐봐

이 부품들 모두 살수 있나요? 화면 유리랑 터치화면이랑 액정이랑 백라이트 살건데요 제가 하려는 게 이상한 거란 건 알고 있어요 이거 찍어도 되나요? 직원 : 영어 못하는데! / Frank : 말 안하셔도 되요

좋아요? 과정 전부 찍어도 되나요? 네 네 좋네요 저 철사는 달궈져있는건가요? 네 맞아요 그리고 밑의 석션이 기판을 붙잡고 있고요 빠르네요 이게 OCA에요 아, 그 안에 OCA가 있군요 그게 터치화면의 앞부분이죠? 화면 앞부분요 지금 벗기고 있는 게 폴라라이저요 달궈진 쇠로 레이저블레이드처럼 벗겨내네요 정말 멋진데요 저런 도구는 처음 봐요 그리고 다른 폴라라이저를 붙이나요? OCA요 OCA 아 이게 뭔지 아세요? 아뇨 이게 무슨 기계죠? 유리와 LCD를 눌러요 열도 있나요? 네 뜨거워요

그리고 진공이에요 진공 압축기에요 그리고 지금 넣는게 유리 사이의 기포를 없애줘요 기포 제거기죠 안의 공기를 전부 빼서 OCA의 기포를 빼는거죠 열처리 되는건가요? 네, 그쵸 멋지군요 끝났나요? 괜찮네요 기포도 없고요 이제 앞은 끝냈고요 이제 뒷면이 남았군요 네 이걸 뒷면에 붙일거에요 백라이트군요 네 이이게 백라이트네요 이제 LCD와 터치화면 뒤에 백라이트를 붙이고요 이 크기를 세심하게 맞춰야 해요 정말 멋진 테스팅 폰이군요 오 이것좀 봐요 괜찮네요 괜찮은 것 같네요

네 좋아보이네요 좋네요 끝났군요 화면을 끝냈군요 돈 드릴까요? 위쳇(Wechat)으로 결제할까요? 일반적으로 시장에서 물건을 살 땐 현금을 이용하는데요 하지만 점점 위쳇으로 바뀌는 추세입니다 마치 페이스북과 트위터와 페이팔을 합친 듯 한 메시지 앱이죠 QR코드를 스캔하는 것 만으로 간단히 송금할 수 있죠 전부 합쳐서 얼마를 드려야 하죠? 480위안요 이제 폰의 외관은 완성되었고 내부 부품이 필요합니다 로직 보드가 가장 복잡한 부분인데요 휴대폰의 뇌라고 생각하면 되는데 제가 가장 걱정하는 부분이죠 시장에서 이미 사용된 고장난 로직보드를 몇 달러에 하나 구했는데요 프로세서와 플래시 메모리 칩이 있고 그 외에도 수십개의 칩들이 있습니다 전 기판에 걸쳐 아주 작은 칩들이 조립되어 있죠 이건 4개 로직보드가 붙어 있는 패널입니다 아직 아무런 부품도 붙어있지 않죠 이 패널은 공장 라인에서 부품 조립이 이루어지죠 처음에는 모든 칩을 납땜할 수 있다고 생각했는데 생각보다 큰 일이란 걸 깨달았고 한 주를 마켓에서 도구를 사고 납땜하는 법을 배우고 이 접착제를 여기에 발라주고 각각의 칩을 사기도 하고 그러니까, 이건 여섯 개 머릿속이 너무 혼란스러웠죠 그래서 휴대전화 수리 학원을 갔는데 광저우의 Geelong이라는 곳인데요 거기서 와이먼이란 선생님을 만났습니다 제가 아까 말씀드렸듯이, 제 프로젝트는 제 온전한 아이폰을 만드는 것이구요 부품들을 따로 구해서요 그게 가능하다고 생각하시나요? 이거요? 네 이렇게 생긴 보드를 가지고 있어요 아, 그렇군요 보드에 4개의 로직보드가 있고, 아마 두개 정도가 사용 가능하겠구요 시간을 들여 IC칩을 보드에 조립하면 아마 그 중 하나정도만 사용 가능할겁니다 가능성이 낮죠 불가능하진 않습니다 가능해요 다만 어려울 뿐이죠 만약 로직보드를 시장에서 산다면 가능할거라고 생각하시나요? 당연하죠 보드를 사면 가능합니다 화면이나 배터리를 사서 조립하면 하나의 새 폰이 되는거죠 가능합니다

마치 새 컴퓨터처럼요 메모리, 메인보드, 모니터 등을 장착하면 되니까요 하나로 조립하면 된다는거네요 그래서, 포기했습니다 지금은요 하지만 제 친구 할렌이 함께 시장에 가서 작동하는 로직보드를 찾도록 도와줬어요 아마 중고폰에서 나온 수리용 보드겠죠 시장이 굉장히 활발하죠 사람 많고 그렇네요 복잡하네요 그렇죠? 지금까지 다녔던 다른 시장들도 이만큼 북적이진 않았어요 이 건물은 혼란 그 자체였어요 사람들이 서로를 밀고 휴대폰이 여기저기 널브러져있고 카운터 뒤쪽에는 물건을 보관하기 위한 커다란 금고가 하나씩 있었죠 전 좀 불안했는데, 제가 눈에 띄는 탓도 있지만 제가 뭘 하는건지 아직 잘 몰랐기 때문이기도 하죠 6S 16GB 모델 있나요? 6S 보드는 없어요

(메이요 주판) 지금 당장은 물량이 바닥난 상태래요 봄 행사 이후로나 볼 수 있다네요 한 층 더 올라가는 게 좋을거래요 이게 6S인가요? 네 얼마나 필요하나요? 하나요 이게 작동이 보증된거래요 문제 없는 제품이라네요 프로그램도 들어있고 제대로 고쳐진거죠? 네 조금 고쳤네요 네 좋아요 둘러다니면서 다른 가게도 좀 보고 돌아올게요 별로인 것 같지? 네 그런 것 같아요 좀 신중하게 생각하는 중이야 저기로 가자 여기 사람 많은 곳은 피하고 이걸 장착해서 확인해볼 만 한 테스트 기기가 없나요? 디스플레이와 배터리가 있는 그런거요 여자 판매원 : 테스트 안되요~ 시간 없어요~ 네 그럴 시간이 지금 없대요

테스트 하고 그러기가요 우리가 저 분 휴대폰으론 테스트 못 하나요? 네 안 된대요 네 알겠어요 테스트 하기 전까진 구매 안 할 거에요 돈은 충분하니까 완벽히 작동하는 걸 찾죠 좋아요 윗층에 올라가서 아까 그 분께 테스트해달라고 하죠 지금은 우릴 상대 안 할 것 같아요 좀 큰 건이 들어왔네요 와 저분 돈 엄청 많네요 방금 그게 얼마였죠? 음 글쎄요 아마 최소 만 달러는 될 걸요 아니 그것보다 더 많겠죠 아마 5만 달러 정도요 테스트는 안 된다네요 이미 테스트했고 보증된 제품이래요 만약 작동 안 되면 다시 들고와도 되죠? 그럼요 3일 이내에 오래요 그때까지만 보증한대요 스티커를 붙일거고요 좋아요 그러니까

이게 오늘 마켓에서 구입한 로직보드에요 이제 한 번 보죠 배터리를 준비하고요 배터리가 여기 어디 있었는데 좋아요 애플 배터리 여기 있고요 그리고 스크린도 여기 있고요 이걸 조립해서 제대로 동작하는지 보죠 배터리를 조립하고 아직 전원 버튼을 구매하지 않아서 족집게를 이용해서 전원을 켰어요 오, 작동하네요! 한 번 보세요! 좋아요 켜지는 걸 보죠 오, 근데 홈 버튼이 없네요 좀 문제네요 켜지긴 했는데 로직보드가 완벽하진 않아요 무슨 뜻인지 보여드릴게요 여기로 들어가서 나침반을 켜면 기계를 돌려도 아무 일이 안일어나네요 다시 돌아가야겠어요 물건이 더 있는지 봐야죠 좀 신기했어요 이전에 산 불량 보드를 다시 들고가서 제 테스트세팅으로 나침반이 안 된다는 걸 보여줬고 다섯시 쯤에 다시 오라고 했어요 사실, 그녀에게 환불요청을 했는데 저에게 위챗을 보내서 환불을 해주고 나서도 여전히 오후 5시에 다시 오면 새로운 보드를 주겠다고 했어요 그래서 음 계약서도 없고 영수증도 없는데 사람들이 아주 정직한것 같아요 5시에 다시 찾아갔는데 바로 가져갈 수 있도록 그녀가 완전히 수리된 보드를 내줬고 그리고 만약에 다른 문제를 발견하면 3일 이내에 다시 가져가면 됩니다 여러날 쇼핑을 하고 나서 하우징, 보드, 액정등 주요 부품들은 다 구했어요 그래도 정상 작동하는 휴대폰을 위해서는 아직 많은 부품들이 필요해요 많은 가게에서 배터리를 팔고 있었기 때문에 배터리를 구하기는 꽤나 쉬웠어요

그래도 아직 작은 부품들이 많이 필요해요 브라켓, 나사, 케이블, 스피커 등등 그래서 제가 필요한 것을 모두 적은 쇼핑 리스트를 만드는데 오늘 아침을 보냈어요 그래도 저는 가게에 하나하나 들어가서 제가 원하는 부품을 설명해아 한다는 것이 무섭네요 "저는 이거 하고 이거 그리고 상단 케이블도 필요해요" 저는 되게 운이 좋았어요 첫 번째 제가 들어갔던 가게에서 "네 핸드폰을 만들기 위한 모든 부품이 필요해요" "제가 지금 가지고 있는게 액정, 하우징, 보드, 배터리인데 그 이외에 모든것이 필요해요" 그들이 완전 도움이 되었어요 그래서 이게 후면 카메라 이것이 전면 카메라 이것이 라이트닝 케이블 포트와 헤드폰 잭이 있는 하단 케이블 어샘블리이고 여러개의 브라켓입니다 그들은 또 휴대폰 안에 들어가는 작은 나사들도 모두 챙겨주었습니다 그래서 오늘이 제가 오래전부터 기다려왔던 날입니다 바로 오늘이 다른 부품들을 하우징 안에 넣는 날이죠 확실하지는 않지만 제가 필요한 것은 모두 가지고 있다고 생각하고 일단 시작해보죠 "좋아 첫 번째 나사 세트 이거 어떻게 하는지 모르는데" "이거 어떻게 작동하는거야?" 음 저는 일단시장으로 돌아가서 그들에게 제가 뭘 빠트렸는지 물어봐야겠네요 분명히 뭘 빠트렸는데

"어제 여기서 케이블 샀던 사람인데요 만져보시면 알겠지만 제대로 눌러지지가 않아요" 남자 사장 : 미스 간, 왜? (실수한 부분에 대해) "이게 필요할 거에요" "오 이게 뭐에요?" 바로 여기에 작은 금속 판을 넣는곳이 보일텐데 이걸 넣어주면 또각거리는 소리가 들리시죠? 헤헤헤헤이~ 멋지네요 이게 바로 조립을 마친 아이폰이에요 멋지네요 이걸 만드는데 꽤 오랜 시간이 걸렸네요 이걸 몇 달 전에 시작했고 그 도중에 중국을 몇 번 드나들었지만 저도 이게 가능할 것이라고는 생각하지 못 했어요 그리고 스마트폰 수리와 리퍼비시 생태계가 이곳 중국, 신전에서 돌아가는지 배웠어요 저는 휴대폰을 버리면 어떻게 되는지에 대해 딱히 생각해 본적이 없었어요 제 생각에는 많은 수의 중고 휴대폰들이 여기로 오는 것 같아요 부품들을 따로 떼어내서 잘 작동하는 휴대폰으로 만들어요 저는 애플의 설계에 대해 많이 놀랐어요 고치거나 재활용하기 너무 쉬웠기 때문이죠 저는 애플이 자신들의 물건이 그저 매립장에서 끝나지 않는다는 것에 자랑스러워 해야 한다고 생각해요 그리고 이곳에서는 많은 사람들이 이것과 같은 쓰레기를 완전히 작동하는 휴대폰으로 만들고 있어요 이걸 시작하기 전에는 저는 휴대폰을 그리 잘 알지 못했어요 물론, 저는 프로그래머였기 때문에 전자기기들에 둘러싸여 살았지만 휴대폰에 대해서는 잘 몰랐죠 그러나 알고보니 저같이 아무것도 모르는 사람도 휴대폰을 조립할 수 있었어요 조립하기 위한 부품, 기본적인 도구, 좋은 조언이나 설명도 얻기 쉬웠고요 사실, 이 동영상을 보는 누구나 인내심만 있다면 저와 같이 할 수 있을거에요 휴대폰을 조립하는 것은 로켓공학과 같이 어려운게 아니에요 데스크톱 컴퓨터를 조립하는 것과 크게 다르지 않아요 크기만 빼면요 아 잠시만요

하나가 더 있어요 휴대폰을 넣을 박스를 가져왔어요 어제 가게에 갔다가 모든 구성품들이 들어있는 박스를 사왔어요 설명서, 이어팟, 충전기, 라이트닝 케이블이 있네요 이렇게 넣고 올리면 새것과 똑같네요 여기 있습니다 박스 안에 끝났어요 이 프로젝트를 도와준 프랭크, 헬렌, 그리고 중국에 있는 모든 친구들에게 고맙다고 전하고 싶네요 모든 리스트는 영상 설명란에 있어요 이 영상에서 마치지 못 한 많은 이야기들이 있어요 그리고 이야기 하고 싶은 많은 주제들도 있어요 만약 중국에 있는 멋진 휴대폰들에 대해 관심이 있거나 전세계에 있는 흥미로운 과학기술들에 대한 모험에 참여하고 싶다면 제 유튜브 채널을 구독하거나 혹은 제 페이스북, 트위터를 팔로우해 주세요 링크는 영상 설명에 있어요

파이썬 비행기 슈팅 게임 만들기 (Creating a Shooting Game with Python) (한글자막)

오늘은 파이썬으로 슈팅 게임 만들기라는 제목으로 강의를 준비했습니다 슈팅 게임이 뭔지부터 살펴보고 그리고 파이썬 설치 pygame 라이브러리 설치 슈팅 게임 만들기 이런 순서대로 진행하도록 하겠습니다

먼저 슈팅 게임이 뭔지 살펴볼텐데 슈팅 게임은 shooting game, STG라는 약칭으로 불리기도 하고 적의 공격을 피하며 무기를 쏘는 게임의 총칭을 의미합니다 슈팅 게임이 구조나 조작이나 간단한 형태라서 게임 역사 초창기부터 존재하였던 장르입니다 중력과 같은 복잡한 물리 엔진이 필요하지 않기 때문에 게임 제작 입문용으로 슈팅 게임이 자주 사용됩니다 파이썬을 전혀 해보지 않았다는 사람들을 위해서 파이썬 설치를 어떻게 하느냐 간략하게 살펴보도록 할께요 먼저 파이썬 홈페이지 사이트를 띄운 다음에 (pythonorg) 다운로드를 누릅니다 윈도우 사용자는 윈도우를 눌러서 윈도우에서 64비트면 64비트를 다운로드하여 설치하면 됩니다 다운로드 후 설치하면 이와 같은 설치 화면이 뜨는데 밑에 path 부분에 체크를 해주신 뒤에 install을 눌러주세요 파이썬 설치가 다 되어있다고 가정하고 pygame 라이브러리를 설치하는 부분을 살펴보도록 할께요

pygame이 뭐냐 pygame은 sdl 라이브러리 위에 구축된 멀티미디어 어플리케이션을 만들기 위해서 제공되는 오픈 소스 파이썬 프로그래밍 라이브러리입니다 pygame 로고도 귀엽게 만들어져 있습니다 다양한 pygame에 feature들도 있습니다 pygame 설치는 어떻게 하느냐 시작 – 실행 – command 창 열고 pip install pygame 명령을 수행합니다 이제 이 화면처럼 설치되는 과정을 거치면 되겠습니다 pygame이 설치가 잘 되었는지 확인을 해야 합니다 그래서 pygame을 실행 해 볼게요 idle python을 실행해서 import pygame을 쳐주면 pygame 194가 잘 설치되었다는 메시지를 볼 수 있습니다 이제 게임을 만들텐데 슈팅 게임 만들기 바로 이런 게임을 만들겁니다 게임이 재미있게 보이죠 소리도 들어가고 이게 최종 완성된 게임입니다 이 게임의 컨셉은 지구를 지켜라 밑에 배경 그림에 지구가 있죠 운석이 지구를 향해 떨어지는데 그 운석을 미사일을 쏴서 없애는 게임입니다

게임을 만들려면 굉장히 많은 리소스들이 필요합니다 예를 들어 배경화면, 폭발되는 그림, 미사일, 각종 폰트들 그리고 다양한 운석 그림이 필요합니다 근데 이걸 어떻게 준비하느냐 여러분들이 직접 찾아서 원하는 이미지들로 바꾸실 수도 있지만 강의 진행상 제가 일일히 정리해서 홈페이지에 올려놨습니다 suanlabcom 홈페이지에 들어가서 특강에 게임 리소스 버튼이 있습니다 youtube 설명 칸에도 링크가 있습니다 다운로드 한 파일을 압축을 풀어봅니다 압축된 폴더 안에 모든 리소스들이 들어가 있습니다 이제 게임에 필요한 여러 준비들이 끝났습니다 그 다음에 게임 화면을 처음에 구성해야 되는데 실제적인 게임을 만드는 코딩이 들어갑니다 여러분들과 함께 코딩을 할텐데요 새로운 코딩을 할 문서가 필요하기 때문에 file – new file을 클릭하여 새 문서를 띄웁니다 이제 이 파일에서 우리가 코딩을 작성할텐데 먼저 저장을 좀 해야겠죠 경로상 우리가 압축을 풀었던 pyshooting 폴더 안에 pyshootingpy 라는 이름으로 저장을 해볼게요 이제 우리가 게임 코드를 작성 해 보도록 하겠습니다 파이게임 라이브러리를 로드하고요 그 다음에 system 라이브러리, 게임은 시간과 관련 된 것이 있어야겠죠 그래서 세가지를 일단 먼저 로드해줍니다 그 다음에 게임 처음 화면을 블랙으로 하기 위해 RGB를 0으로 설정합니다 게임 화면 크기는 여러분들이 원하시는 크기로 설정하시면 됩니다 저는 480에 640으로 하겠습니다 그 다음에 게임 초기화를 위한 함수 ‘initGame’이 필요합니다 그 다음에 global 변수로 gamePad와 clock을 가져옵니다 pygame이라는 라이브러리를 또 초기화시켜 줍니다 gamepad를 구성하는데 패드는 paygame

Displayset 게임 전체 우리가 아까 정의했던 크기를 정의 해줍니다 그리고 ptgame의 캡션 즉, 게임의 이름을 파이슈팅이라고 지었는데 이 이름을 제목으로 띄워주는 부분을 말합니다 그 다음에 clock을 걸어줍니다 그 다음에 실질적으로 게임이 실행될 수 있는 함수인 rungame을 넣어줍니다 그 다음에 ongame을 false로 둡니다 각종 이벤트를 처리하기 위해서 while을 돌린 다음 event를 넣어줍니다 게임을 처음 할 때에는 이벤트가 없고 게임을 종료시키는 이벤트만 설정해둡니다 창을 닫거나 하면 파이게임 종료시키고 시스템 종료시키는 이벤트를 처리해 줍니다 그 다음은 화면을 검은 색으로 채우는 fill을 설정합니다 그 다음에 파이게임의 디스플레이를 업데이트 합니다 Clock tick을 60으로 한다는 것이 무슨 말이냐 하면 초당 프레임 수를 60으로 설정하여 게임 플레이가 초당 60으로 진행이 됩니다 그 다음 이 두개의 함수를 실행시키기 위해 Initgame과 rungame을 실행시켜 줍니다 F5를 눌러서 실제 동작을 시켜보겠습니다 이렇게 화면이 구성이 됐습니다 그 다음은 배경그림넣기 배경 그림을 그리기 위해서 이 객체를 그리는 drawobject라는 함수를 정의해 놓습니다 gamepad를 global로 가져옵니다 blit란 비티 현상과 관련해서 해당하는 오브젝트를 x,y좌표 위치로부터 그려라라는 의미가 되겠습니다 그리고 background를 가져옵니다 Background= pygame,image,load 에서 png파일로 정의해 둔 걸 가져옵니다 로드했고, 그리는 함수 만들었고, 그 다음 이제 그려야죠 그리는데 아까 블랙으로 색깔 지정한 걸 뺄게요 왜냐면 게임하면 블랙으로 안 칠해도 배경화면을 꽉 채우기 때문에 Drawobject로 background 0,0 이렇게 그려주겠습니다 확인 보시면 background가 정의되지 않았다 이걸 보시면 backround 정엽변수를 안 불러왔습니다 지구가 있고 우주가 있는 그런 배경화면이 넣어졌습니다 배경 그림과 함께 실제 전투기가 있어야겠죠 그래서 전투기를 넣어줍니다 fighter 넣어주고요 Fighter에 이미지를 로드해줍니다 전투기를 어느 위치에 할지 초기화가 필요합니다 이미지 사이즈를 가져온 뒤 전투기의 실제적인 폭과 너비로 지정을 해줍니다 그 다음에 전투기가 게임에 나타나야 하는데 처음에 어디에 나타나야 할지 전투기 초기 위치로 xy좌표로 잡아줍니다 폭에서 045 위치, 그리고 높이에서 09 위치 즉 밑에 부분, 중간에 위치하게 되겠죠 그리고 전투기로 화면을 그려줘야겠죠 배경화면 그린 다음에 drawobject로 전투기를 화면에 그려줍니다 중앙 쯤에 위치하도록 이렇게 비행기를 넣었습니다 그 다음은 전투기의 움직이는 부분을 설정해 줍니다 이 이벤트 처리 부분에 전투기를 움직일 수 있는 키보드 이벤트도 한 번 받아보도록 할게요 Event Type in pygame

keydown 키가 눌리면 이 이벤트로 들어옵니다 그런데 키가 무슨 키가 눌러있는지 또 한 번 체크해주어야겠죠 Event Key=pygamek_left 왼쪽으로 다섯칸 -5를 해주어서 왼쪽으로 움직이라는 의미입니다 오른쪽도 설정해줍니다 Fighterx를 +5로 설정하여 오른쪽으로 움직이도록 해줍니다 Left, right 키 눌렀을 때 움직이는 부분을 해주었습니다 Keydown은 키가 눌렀을 때, keyup은 키를 뗄 때 입니다 keyup이벤트가 들어오면 비행기가 멈춰야 겠죠 두 개가 들어오더라도 비행기 현재 좌표를 0으로 설정하여 손을 떼면 정지하도록 해줍니다 그 다음에 전투기 위치가 키보드 조작에 따라서 바뀌도록 재 조정해주어야 겠죠 실제 x위치에 다가 fighterx라는 즉 키보드로부터 변경된 위치를 x좌표 위치로 발현을 시켜줍니다 그 다음에 x가 0보다 작을 경우란 게임 왼쪽으로 끝까지 가는 경우 비행기가 움직이지 않게 하기 위해 음수가 될 경우에는 0으로 게임 밖으로 빠져 나올 수 없게 최대 왼쪽으로 갈 수 있는 부분을 고정해주는 겁니다 마찬가지로 게임 화면에 끝까지 오른쪽으로 갔을 때 비행기 전체 width값에 pad에서 width값을 뺀 나머지 값은 x위치로 즉 더 이상 오른 쪽으로 못가게 막아줍니다 이렇게 움직이는 것 까지 했습니다 그 다음에 비행기가 미사일을 발사해야겠죠 미사일을 발사하기 위해서 미사일 그림을 좀 가져올게요 미사일 그림을 가져 왔습니다 그 다음에 global 변수로 미사일을 선언합니다 그 다음에 무기 좌표 리스트 missileXY를 리스트 형태로 미사일 하나만 발하는게 아니잖아요 여러 개니까 여러 개 위치를 가지고 올 변수가 필요합니다 미사일을 스페이스키로 발사하기 위한 설정을 해줍니다 미사일 현재 위치를, fighter의 width를 2로 나눕니다 즉 미사일을 현재에 비행기의 중간에서 나가게끔 x좌표를 잡아주고요 y는 전체 y좌표에서 비행기 크기 만큼 빼주면 되겠죠 그러면 미사일이 전투기의 앞부분 중간에 발사되게끔 설정이 됩니다 그 다음에 만들었던 missileXY 리스트 변수에다가 missileX, missileY 좌표값을 그대로 저장해 줍니다 여러개가 나가야 되기 때문에 저장 해 줍니다 이렇게 미사일 여러 개가 발사되야 되겠죠 미사일을 발사한다라는 건 어디에 있어야 되느냐 비행기 그리고 나서 length를 구합니다 즉 0이 아니면 (1개 이상이면) 여러 조건에 따라서 미사일을 그립니다 Enumerate로 미사일 xy에 따라서 전체적으로 돌고 그 다음에 i와 bxy가 첫번째 부분에 -10을 해줍니다 미사일이 위로 발사 되므로 y좌표로 치자면 -10씩 미사일이 빠르게 이동하는 형태로 만들어 줍니다 그 다음 미사일 여러 개니까 bxy부분에 대한 값을 넣어줍니다 즉 -10 만큼 이동된 값이 미사일xy라는 리스값으로 바뀌어야합니다 미사일 xy값이 현재 -10만큼 이동된 값으로 바뀌어야 되기 때문이 이런 식으러 넣어줍니다 그 다음에 0보다 작거나 같을 때, 즉 미사일이 화면 밖으로 넘어갔을 때 화면 밖으로 넘어가면 미사일 리스트에서 제거해주어야 합니다 미사일이 실제 0이 아니면 다시 한번 미사일을 다시 한 번 그려줍니다 그 다음에 미사일을 발사해야 하는데 없앨 운석을 떨어뜨리겠습니다 운석을 그냥 떨구면 재미없으니 랜덤으로 30개나 준비했습니다 운석 30개를 random으로 가져옵니다 운석을 하나만 해도 되는 데 단순하게 하나만 있으면 게임 전체의 다이나믹스가 감소되겠죠 30개 부분을 이렇게 정의했습니다 운석이 랜덤하게 생성될 수 있도록 설정해줍니다 결국 불러오는 시점에서 랜덤으로 고르면 되기 때문에 아까 우리가 정했던 30개 중에서 1개를 랜덤하게 고릅니다 그런데 운석의 크기가 다르기 때문에 가져온 그림의 실제 크기를 가지고 폭과 너비를 가져옵니다 게임의 다이나믹스를 위하여 운석의 초기 위치도 랜덤하게 설정해 줍니다 그래서 운석의 x위치를 바꾸어 줍니다 Rockspeed 즉 운석이 떨어지는 속도인데 이건 초기값을 2로 지정을 해볼게요 운석이 실제 미사일이 발사되고 화면이 업데이트 되기 이전에 rockY, 운석은 y좌표로 움직이니까 그래서 rockspeed 2로 적용했던 부분을 rockY도 적용시켜 줍니다 그리고 운석이 지구로 떨어졌어요 pad의 전체 크기보다 rockY좌표로 넘어 섰을 경우 운석이 화면밖으로 지나갔기 때문에 새로운 운석을 만들어주어야 합니다 copy 후 추가 그러면 운석을 새로 고르게 됩니다 그리고 운석을 실제로 그리기 위해 rockX좌표, rockY좌표를 설정합니다 운석이 파괴되도록 만들어 보겠습니다 파괴되는 데 운석이 그냥 사라지게 할 수도 있겠지만 그럼 재미가 없으므로 폭파되는 이미지를 가져옵니다 그래서 explsion 이미지 파일을 가져와요 그리고 실제 전투기 미사일에 운석이 맞았을 때 부분을 처리하겠습니다 맞았을 때 (isShot) 갯수를 세 줄게요(shotCount) 그 다음 운석을 놓쳤을 때 정보도 입력하겠습니다 global변수로 explosion을 둘 다 넣어줍니다 그 다음에 미사일이 운석을 맞췄어요 그럼 이제 미사일을 발사 그리는 부분에서 미사일이 운석을 맞췄을 때를 처리해주어야 합니다 만약에 bxy[1]에 0번 째가 rockX 즉 운석 위치, 돌의 부분에 겹치냐 안겹치냐를 확인하는 부분입니다 미사일이 운석의 범위 안에 들어가면 기존 미사일을 제거해주어야 겠죠 미사일이 운석을 맞추었으니까 isShot을 True로 바꾸어 줍니다 그 다음에 맞았으니까 shotCount를 1더해줍니다 운석을 실제 그리기 이전에 만약에 isShot을 플래그로 뒀던게 True로 바뀌면 즉 맞췄을 경우에는 폭파해야 하니까 explosion으로 넣던 운석이 폭파되는 그림을 띄웁니다 그리고 폭파 시켰으니까 새로운 운석을 그립니다 그리고 isShot은 True에서 False로 바꾸어 줍니다 운석이 파괴되는 것까지 추가했습니다 그 다음에는 파괴한 운석수랑 놓친 운석수, 게임 스코어 정보가 있어야 합니다 카운터 정보를 받으면 나눔고딕으로, 사이즈 20으로 표현해보겠습니다 Rendering 하고 ’파괴한 운석 수’ 를 적어 줍니다 그 다음에 카운트로 온 운석수를 str으로 변환해줍니다 파괴한 운석수 색깔을 흰색으로 할게요 (RGB모두 255, 흰색) 위치는 10,0 왼쪽 위에 둘게요 그리고 운석을 놓친 수도 비슷하니까 복사해줄게요 (writeScore를 writePass로 바꿔주기) 위치를 오른쪽 위에 띄우고 빨간색으로 강조할게요 (RGB중 R을 255로) 실제 미사일이 운석을 맞추었을 때 스코어를 증가시켜주어야 되기 때문에 shotCount라는 변수를 반영하고 그 밑부분에 실제 운석을 맞춘 점수가 표시되게끔 shouCount를 설정 해 줍니다 그 다음 운석이 지구로 떨어진 경우 padHeight보다 운석y좌표가 넘어갔을 때 rockPassed를 1로 증가시켜 줄게요 놓친 경우도 마찬가지로 화면에 출력해줍니다 writePassed에 ‘놓친 운석 수 표시’로 이름을 바꾸어 줍니다 그 다음에 운석을 맞추면 속도를 증가시켜봅시다 isShot 부분에 맞추면 rockSpeed에 숫자를 넣습니다 02

씩 증가하는데 10보다 빠르면 게임 거의 불가능하기때문에 10으로 그냥 맞춰줍니다 조금씩 빨라지는 것이 느껴지시나요? 맞출수록 운석 내려오는 속도가 빨라지고 있어요 전투기가 운석과 충돌하거나 운석을 놓혀 게임오버가 되면 게임을 정지하고 다시 하는 부분을 추가해보도록 하겠습니다 게임에 메시지를 출력해야 하기 때문에 메시지 함수를 통해서 실행시킵니다 TextFont = pygameFontFont 게임 메시지는 60정도로 좀 크게 출력할게요 Textfont Render에서 색깔은 레드 (RGB 255, 0,0) 텍스트의 포지션은 Length에서 실제 포지션을 정해줍니다 TextPosCenter 정중앙에 출력한다는 의미입니다 이것은 실제적인 화면에 텍스트를 출력하는 부분이고 게임의 디스플레이를 업데이트 해줍니다 이건 뒷부분인데 미리 Sleep만 걸어 줄게요 우리는 동전이 무제한이에요 그래서 게임이 다시 한번 또 실행이 됩니다 ‘Sleep 2초 쉬고 게임 다시 실행해줘’ 이거에요 그 다음에 crash되는 부분 즉 충돌났을 때 아까 우리가 정의했던 메시지 함수에다가 전투기가 파괴됐다 라는 부분을 호출해줍니다 그 다음 게임오버된 부분 게임오버 되면 '게임오버가 됐다'를 띄워줍니다 실제 운석이 충돌되는 지에 대한 이벤트를 넣어줍니다 전투기가 위치가 바뀌는 부분을 읽고 위치가 바뀌어서 실제 다음 전투기를 그리기 이전에 전체 rock의 좌표와 Y라 보면 안되겠죠 X도 마찬가지로 그려줍니다 충돌하는 부분을 체크하는 겁니다 그래서 y, x좌표를 보고 실제 운석이랑 비행기의 어떤 부분이랑 겹치는지 안겹치는 지를 체크해서 만약 겹치면 충돌이 났다라고 띄워줍니다 그 다음은 운석을 계속 놓칠 경우 설정합니다 만약에 놓친 것이 3개면 게임오버가 되는 설정입니다 오타를 잘 체크해봅시다 🙂 위치도 잘 체크해 봅시다 🙂 게임오버를 확인해 봅니다 게임의 각종 소리를 넣어 보겠습니다 미사일이랑 global 변수랑 게임오버되는 오버사운드 2가지를 미사일 사운드, 게임오버 사운드 두개를 global 변수로 추가해 줍니다 그 다음 pygame

MixerMusicLoad 에서 실제 음악파일들을 받을 건데 Musicwav 파일은 제가 배경음악으로 준비를 했습니다 게임 배경음악인데요 유튜브 오디오 라이브러리에서 아주 좋은 걸로 찾아놨습니다 그 다음에 미사일이 발사할 때도 사운드를 발생해주어야 되기 때문에 Missile

wav파일 그 다음에 게임 오버 사운드 이렇게 load하는 부분이 끝났습니다 그 다음에 각각에 게임 중에 미사일이 발사되죠 스페이스 누르면 미사일 사운드를 플레이 시켜줍니다 그 다음에 게임 메시지 출력할 때 게임 오버 사운드를 씁니다 여러분 메시지 출력할 때 무엇을 해주어야 하냐면 배경음악이 재생되고 있을 거 아니예요 그 배경음악을 잠깐 멈추어 주어야 해요 그 다음에 게임 오버 사운드를 플레이 시켜줍니다 Sleep 2해주고 그 다음 배경음악을 다시 플레이 시켜주어야 합니다 그 다음에 운석을 만들어주는 부분 처음에 운석 만들어주는 부분에 운석이 새롭게 생성되는 동시에 사운드도 랜덤으로 고를 수 있게 설정해둡니다 DestroySound로 4개중에 하나를 고를 수 있게 해주고요 그리고 운석이 파괴되는 건 실제 맞추었을 때 IsShot, 맞추었을 때 파괴되는 폭발 그림 그려주고 여기에 Destroy 사운드를 재생해줍니다 파괴되고 새로운 운석 만들면서 이때 destroy 사운드를 랜덤하게 골라 주는 부분을 추가해 줍니다 이렇게 게임 동작을 하는지 확인해볼까요 소리 잘 나죠 배경음악도 나오고 미사일 쏘는 소리 그리고 파괴되는 소리도 나옵니다 이렇게 해서 지구를 지켜라라는 파이슈팅게임 완성이 됐습니다 완성! 여러분들이 게임을 가지고 다양한 변형으로 새로운 게임을 만들 수 있습니다 이미지를 바꿀 수 있고, 소리를 바꿀 수 있고 게임을 좀 더 다양한 장르로 여러분들이 원하는 게임을 쉽게 만들 수 있겠죠 이렇게 게임을 만드는 과정까지 살펴보았고요 다음에 또 좋고 유익한 강의로 찾아 뵙도록 하겠습니다 지금까지 이수안컴퓨터 연구소였습니다 감사합니다

디트로이트 비컴 휴먼 배우 인터뷰 (한글자막)

디트로이트 비컴 휴먼을 찍는 건 굉장했습니다 데이빗 감독님이 정말 흥미롭고 흡입력있는 미래를 그려냈죠 많은 노동직을 안드로이드에 기대고 있죠 제 캐릭터인 마커스는 흥미로운 여정을 겪죠 불량품이 되고 자신이 더 나은 대접을 받아야 한다는 걸 깨닫죠 카라는 누가 플레이 하느냐에 따라 완전히 달라집니다 유저가 어떻게 선택하냐에 따라 완전히 다른 사람이 되거든요 모든 장면을 어떤 선입견도 없이 들어간다는 것이 정말 열려 있어요 코너는 자신이 설계된 목적에만 집중하죠 바로 인간을 돕고 불량품을 막는거죠 "넌 인간에게 봉사하라고 만들었지 죽이라고 만든게 아냐!" 하지만 게임이 진행됨에 따라 바뀔 수도 있고 아닐 수도 있죠 유저의 선택에 따라 처음 모습에서 변화할 수 있습니다 "노스!" 놈들이 죽였어 모션 캡쳐를 하는 건 정말 즐거웠고요 한 방에 카메라로 둘러싸였고요 세트 변경도 없고 헤어, 메이크업, 의상도 없죠 점이 사방에 있죠 처음에는 좀 겁나더군요 그러나 계속하면서 공포가 사라졌습니다 매우 제약이 없고 창의적이고 자신의 상상력을 발휘해야죠 영화나 TV에서는 보지 못한 거지요 연기에 아주 기본적인 것만 주어지죠 어린 시절 있었던 상상력을 다시 필요로 합니다 결국 가장 중요한 것은 연기죠 열린 공간에 자유롭게 뛰어들어서 원하는대로 창조할 수 있죠 "감정없는 삶은 살 가치가 없겠지" 제게 정말 좋았던 점은 캐릭터를 기초부터 세울 수 있다는거죠 정말 힘든 작업입니다 하지만 정말 정말 멋질 것이고 어서 완성된 걸 보고 싶네요 내 이름은 카라야 카라는 누가 플레이 하느냐에 따라 완전히 달라집니다 유저가 어떻게 선택하냐에 따라 완전히 다른 사람이 되거든요 처음에는 지극히도 순진하고 지극히도 순수하고 불운하죠 "내가 리셋되기 전에 우리 친구였을 걸로 아는데" "다시 친구가 될 수 없을까?" 카라는 공감으로 정의되는 캐릭터 같아요 정말 마음에서 우러나와 행동하죠 "날 절대 떠나지 않을거지?" 절대 안간다고 약속해 약속할게 카라! 괜찮아? 어디 다친데 없어? 잠깐! 데려가지마! 카라! 그냥 둬! 연기를 하면서 정말 좋았던 점은 기초부터 캐릭터를 만들 수 있다는 것이었죠 게임을 하면서 만들어져가니까요 카라가 만나는 모든 사람 겪는 모든 경험들에서 처음 감정을 만들어내고 판단력을 세우고 말하자면 인간이란 뭔가에 대한 탐험같아요 걱정마 루터와 내가 여깄을거야 내 이름은 코너 코너는 분석적이죠 문자 그대로 받아들이죠 처음 시작에선 굉장히 기계적이죠 아무것도 못느끼죠 그냥 시스템이나 프로토콜에서 시키는대로 하고 있죠 그건 인간을 돕고 불량품을 막는거죠 그리고 불량품의 원인을 찾고요 "그냥 내가 죽였다고 해!" 그게 그렇게 어려워!? 멈춰요! 당연히 유저의 선택에 따라 스토리가 진행되면서 다양하게 성장할 수 있죠 처음에서 바뀔 수도 있고 아닐 수도 있죠 "진실의 순간이야 행크" 내가 생명체일까 아니면 그냥 기계일까? 내 이름은 마커스 데이빗 감독님이 정말 흥미롭고 흡입력있는 미래를 그려냈죠 많은 노동직을 안드로이드에 기대고 있죠 우리의 바리스타, 운전사, 가정부가 되어 우리를 돕고 있죠 인간이란 과연 무엇이고 어떻게 또 왜 그렇게 서로를 대해야 하는가 그리고 제 캐릭터인 마커스는 흥미로운 여정을 겪습니다 불량품이 되어 자신에게 인간의 가치와 감정이 있다는 것을 깨닫죠 완전히 마커스가 깨닫는 순간은 정말 놀랍습니다 이 생에서 더 나은 삶을 살 자격이 있다고요 그리고 자신만이 아니라 자신의 동료들까지도요 "우리는 평화적으로 여기 왔다" 우리들도 살아있음을 알리기 위해 우리가 원하는 건 자유롭게 사는 것 뿐이다 있잖아요 아버지 이건 당신 아들이 아니예요 망할 기계라구요! 하찮게 취급받고 권리가 박탈되었다고 느끼고 자신들이 더 나은 삶을 받을 자격이 있다고 생각하는 그룹이 어떻게 자유를 얻을 것인지에 대한 얘기죠

안드로이드 폰으로 시스템 모니터 만들기

안녕하세요, Hugencyclopedia의 Hugemon입니다 이 비디오에서는 여분의 안드로이드 장치를 사용하여 시스템 모니터를 만드는 방법을 설명합니다

Android 기기 용으로 여분의 Android 기기, Aida 64 Extreme 및 전체 화면 브라우저 앱이 필요합니다 설명에서 각 소프트웨어에 대한 링크를 찾을 수 있습니다 Aida64의 "Preferences"에서 "Hardware monitor"아래의 "LCD"를 선택하십시오 오른쪽 창에서 "원격 센서"를 선택하십시오 여기에 네트워크 포트를 설정할 수 있습니다

포트를 설정 한 후 RemoteSensor LCD 지원을 활성화하고 적용을 클릭하십시오 안드로이드 장치에서 전체 화면 브라우저를 실행하고 PC에 연결하십시오 내부 ip 주소와 방금 설정 한 포트 이 파란색 웹 페이지가 나타납니다 안드로이드 장치가이 페이지에 연결할 수없는 경우 다른 포트를 시도하거나 Windows 방화벽 설정을 변경해야합니다 이 파란색 페이지에 연결 한 후, Aida64의 "미리보기 해상도"를 파란색 페이지에 표시되는 해상도로 설정하십시오

LCD 메뉴 아래에 "LCD 항목"메뉴가 있습니다 모니터링하려는 값에 대한 표시기를 추가하여 화면을 사용자 정의 할 수 있습니다 "추가"버튼을 클릭하고 표시 할 값을 선택하십시오 다양한 크기와 색상으로 실험 해보십시오 항목을 이동하려면 오른쪽에있는 화살표 버튼을 사용할 수 있습니다 '적용'을 누르면 Android 기기 화면도 업데이트됩니다

내보내기 및 가져 오기 버튼을 사용하여 화면 레이아웃 저장 및로드 내가 사용하고 있던 레이아웃을 가져올 것이다 다음 동영상에서는 PC로 Android 기기를 원격 제어하는 ​​방법을 보여 드리겠습니다 Hugemon 로그 아웃

RIK 구글 안드로이드 교육 01-1.첫번째 앱 만들기

이번과정은 시작하기 7개 과정중 첫번째인 [첫번째 앱 만들기] 입니다 이 페이지의 원문 링크는 다음과 같습니다

첫 번째 앱 만들기 과정에서는 여러분들에게 첫번째 안드로이드 앱을 만드는 방법을 가르쳐 줄 것입니다 안드로이드 프로젝트를 어떻게 생성하는지 배우고 이 앱을 디버그 가능한 버전으로 실행하는 방법을 배울 것입니다 또한 간단한 사용자 인터페이스를 만들고 사용자 입력을 제어하는 방법을 포함한 안드로이드 앱 디자인의 몇가지 핵심 내용을 배우게 될 것입니다 환경 설정하기 이번 과정을 시작하기전에 개발환경을 설정해야 합니다 Android Studio를 다운로드 하고 최신 SDK 툴들과 플랫폼을 SDK Manager를 사용하여 다운로드 하도록 합니다 이 훈련 과정의 대부분이 당신이 Android Studio를 사용하고 있다는 가정하에 진행되지만, 몇가지 과정은 커맨드라인 SDK 툴들을 사용해서 진행할 수 있습니다 이번 과정은 하나의 작은 안드로이드 앱을 생성하는 튜토리얼 방식을 사용하며 이것은 당신에게 안드로이드 개발에 관한 몇가지 핵심 컨셉들을 가르쳐 주게 되므로 각 단계를 순서대로 따라해 보는 것이 많이 도움이 될 것입니다

그럼 Android Studio를 다운로드 해 보겠습니다 Android Studio를 다운로드 받기 위해 웹브라우져에서 다음의 주소로 이동합니다 이 아래에 있는 내용은 나중에 다시 다루게 될 예정이지만 지금 바로 설치해서 사용해야 하기 때문에 시스템 요구사항에 대해서 보자면 32 또는 64비트 windows 8/7/Vista/2003 최소한 2GB의 RAM이 필요하고 4GB이상의 RAM이 권장사항 입니다 400MB 하드 디스크 공간이 필요하고 안드로이드 SDK, 에뮬레이터 시스템 이미지 그리고 캐시등을 위해서 최소한 1GB가 필요합니다 화면해상도는 최소한 1280×800은 되어야 하고 JDK 7이 요구됩니다

맥에서 개발하실 경우에는 Mac OS X 1085 이상 109 Mavericks 이하를 지원하고 하드디스크와 RAM 공간, 화면해상도에 대한 요구조건은 윈도우즈와 동일합니다 JRE 6, JDK7 이렇게 나와있는데요 맥에서 Android Studio의 폰드 랜더링이 JRE6에 최적화 되어 있기 때문에 JDK 6나 7을 사용하면 된다고 합니다

리눅스의 경우는 GNOME이나 KDE desktop을 지원하고 GNU C Library(glibc) 215 이상이 필요합니다 그밖의 메모리, 하드디스크 저장공간, 화면해상도, JDK 버전등에 대한 요구조건은 Windows와 동일합니다 그럼 Android Studio를 다운로드 받아서 설치해 보겠습니다 Download Android Studio for Windows 버튼을 클릭해서 다운로드 페이지가 나오는데요 여기에서 agree에 체크하시고 download android studio for windows 버튼을 누르시면 Android Studio가 다운로드 됩니다

다운로드 될 때까지 기다려 주겠습니다 다운로드가 완료되셨으면 다운로드된 폴더로 가셔서 installer 파일을 더블 클릭 하시는데 설치하시기 전에 일전에 이야기 했던 시스템 요구사항들에 해당하는지 확인을 하시고 설치하시기 바랍니다 install 파일을 더블클릭해 보겠습니다 설치 마법사가 나오는데요 Next 그냥 Next 누르면서 설치하시면 됩니다 완료되었으면 Finish를 눌러줍니다 그럼 자동으로 Android SDK Manager가 실행이 되는데 여기에서 최신 SDK를 다운로드 받아보도록 하겠습니다

일단 지금 안드로이드 60까지 올라와 있는 것 같은데 이것까지는 필요 없을 것 같구요 지금 체크되어 있는 Platform tool이랑 Build tool Support Library, Google USB Driver는 그냥 놔두고 Android 51 버전 23버전 이렇게 받아보도록 하겠습니다 install package 버튼을 누르고 라이센스 승인하시고 Install 버튼을 눌러주시면 설치하게 됩니다

좀 오래 걸릴 수 있으니까 기다려주세요 이 Android SDK Manager는 지금 이렇게 SDK들을 다운받지 않아도 나중에 Android Studio에서 다시 열어서 실행할 수 있기 때문에 걱정하지 않으셔도 됩니다 다운받는게 상당히 오래 걸릴 수도 있기 때문에 이런거는 점심시간이나 퇴근하기 전에 설치 버튼 눌러놓고 가시면 될 것 같습니다 SDK 설치가 다 끝나게 되면 보시면 설치된 부분은 install 되었다고 표시가 되구요 SDK Manager 창은 닫으시고 시작메뉴에서 android studio를 클릭 해보시면 실행이 됩니다 잠깐 기다려보도록 하겠습니다 잠시 기다리시면 다음과 같이 Android Studio가 실행이 되는 것을 확인 할 수가 있습니다

이제 우리는 Android Studio를 다운로드 받아서 설치했고 SDK Manager를 사용해서 SDK 툴들을 다운로드 했습니다 다음시간에는 이어서 안드로이드 프로젝트를 생성하는 방법을 알아보도록 하겠습니다