모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    BePositive님의
    개인페이지입니다
    가입 : 11-09-19
    방문 : 1489회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_11787
    작성자 : BePositive
    추천 : 10
    조회수 : 1128
    IP : 113.10.***.122
    댓글 : 11개
    등록시간 : 2015/07/01 16:21:45
    http://todayhumor.com/?programmer_11787 모바일
    내가 지금 노는 건가, 일을 하는 건가. TIS-100
    TIS-100이라는 인디 게임을 들어 보신 적 있으신가요?

    무려 "어셈블리" 언어를 테마로 한 무시무시한 게임입니다.
    무려 리눅스에서도 돌아가죠.

    혹해서 $7 내고 질렀습니다.

    바로 이 녀석이 TIS-100 인트로 화면입니다.
    도스 화면 아니냐구요? 잘 보세요 -_-;; 게임 화면 맞습니다.

    TIS-100_030.png

    TIS는 Tessellated Intelligence System을 줄여 만든 거랍니다.

    그리고 다음 그림이 스테이지 선택 화면입니다. 아재분들은 286, 386 시절의 도스 게임이 떠오를 수도 있을 거에용 ㅋㅋㅋ

    TIS-100_025.png

    믿으실지는 모르겠지만 이게 스테이지 선택 화면입니다. SEGMENT 00150, SEGMENT 10981 이러헥 나온 게 각 스테이지입니다! 색이 밝은 건 지금 선택 가능하다는 거구요, 어둡게 되어 있고 REPAIR N MORE 후 블라블라된 거는 아직 잠긴 상태인 거구요.

    각 스테이지는 퍼즐입니다. 프로그래밍 퍼즐입니다. 퍼즐 스타일의 마치 TDD를 연상시킵니다.
    문제를 줍니다. 테스트 케이스도 줍니다. 그래서 내 프로그램이 테스트 케이스를 100% 맞춰야 스테이지 클리어 되는 겁니다 -_-

    프로그램은 간단한 어셈블리입니다. 하지만 프로그램을 모르는 사람은 절대 쉽게 시작할 수 없는 게임(?)입니다. 이미 어셈블리 코딩이라는 컨셉 자체가 ㅋㅋㅋ

    본 게임 화면입니다.
    TIS-100_026.png

    왼쪽 위에 문제.
    그리구 그 밑에는 테스트 케이스.

    그리구 12개의 사각형이 있죠? 저게 작은 컴퓨터 노드라고 보면 됩니다.
    TIS는 무려 분산 시스템인 겁니다.

    1행 2열의 노드에 IN.A 라고 적힌 것이 보이죠? 이제 저 노드로 입력값이 들어올 겁니다. 그럼 그 입력값을 꿍짝꿍짝해서 3행 3열의 OUT.A로 보내는 것이 이 스테이지의 목표입니다. 극초반 스테이지라 쉬운 프로세스입니다. 그냥 흘러들어오는 값을 다른 노드로 릴레이만 해 주면 되지만, 출력시 값을 두 배로 해 주는 것이 목적이죠.

    감 잡히십니까? 각 노드마다 간단한 어셈 명령어로 문제를 푸는 겁니다. 아 빨갛게 COMMUNICATION FAILURE 된 노드는 현재 사용 불가능한 곳입니다. 아, 그리고 저 스샷은 제가 직접 풀어낸 정답 화면입니다. MOVE UP, DOWN 등의 문자들은 제가 입력한 코드인 거에요.
    노드는 FETCH-스템과 EXECUTION-스텝까지 세심하게 구현되어 있습니다. 그 타이밍에 맞춰서 돌아가도록 짜야 합니다!

    TIS-100_027.png

    문제가 어려워지면 당연히 짜야 할 코드의 양도 늘어나는 겁니다!!

    이제 대강 감이 잡히시죠? 그럼 어셈블리는, 어떤 걸 쓰냐구요?
    게임이니까 재미를 위해 극히 제한된 별도의 명령어 세트를 제공합니다. 그건, 게임 메뉴얼을 봐야죠.

    이 게임의 메뉴얼은, 메뉴얼이라기 보다는 레퍼런스 북이라고 보는 것이 맞을 것 같네요 ㅋㅋㅋ
    딸랑 18페이지 가량이지만 게임 메뉴얼 치고 이런 압박감을 느낀 건 난생처음이었습니다.

    선택 영역_032.png

    이것이 메뉴얼의 첫 표지입니다. Randy 삼촌이 갑작스럽게 돌아가시고 나서 그가 개발 중인 기계를 분석하게 되는 거에요.

    그리고 첫페이지...
    선택 영역_033.png


    그리고 부터는 TIS의 개념에 대한 설명이 나오구요. 7페이지부터는 명령어 세트를 설명합니다. 죄다 올릴 필요는 없을 것 같고 맛만 보여 드릴께요.
    선택 영역_034.png



    요약하자면, 프로그래밍으로 직접 쓸 수 있는 레지스터는 ACC 한 개구요, 명령어는 13개밖에 없습니다. 연산은 덧셈 뺄셈, NEGATION만 됩니다. 그리고 조건에 따른 JMP와 그 변종들, 이를테면 JEZ, JNZ, JGZ, JLZ 등등 밖에 없습니다. 기억장치가 더 필요하면 사방에 있는 옆 노드의 레지스터를 활용해야 하는 겁니다! 스택 노드라든가, 아직 더 해봐야 알겠지만 기본적인 건 이렇답니다.

    메뉴얼... 아니 레퍼런스의 대미는 디버깅 기능, 및 시각화 기능 설명으로 끝맺습니다.
    그래봐야 별 거 아닌 CTRL+C, CTRL+V 정도의 것들인데, 무려 디버깅이라는 용어로 플페이어를 압박한다는 점이 포인트죠.

    아 명령어 앞에 느낌표! 를 붙이면 이게 디버깅 브레이크 포인트를 잡는 거립니다.

    재밌을 거 같아 뵈나요?
    제가 처음 플레이했을 때는 이건 개발자들의 인생 게임이다!는 생각을 했지만...
    점차 플레이를 하면서, 문제가 어려워지면서 느끼는 건...

    내가 일하고 나서 놀려고 게임을 하는데, 왜 게임을 하는 중에서조차 프로그래밍을 하면서 일 같은 놀이를 하고 있는가...
    뭐 이런 변태스러운 시츄에이션일까...
    뭐 그런 느낌이었습니다.

    하지만 교육용으로는 엄청나게 괜찮은 가능성이 있어 보입니다.
    이만 TIS-1000 간단한 소개 마칩니다.


    이 게시물을 추천한 분들의 목록입니다.
    [1] 2015/07/01 16:44:50  121.159.***.204  nedine  515735
    [2] 2015/07/01 17:25:11  112.175.***.16  앵켕  591582
    [3] 2015/07/01 17:59:50  221.151.***.112  뜻발그미  393894
    [4] 2015/07/01 19:20:08  220.87.***.243  피소금  81642
    [5] 2015/07/01 19:44:46  122.38.***.234  REGENTAG  141650
    [6] 2015/07/01 23:00:00  203.226.***.69  drnase  319729
    [7] 2015/07/02 01:11:54  1.219.***.154  QbsidianH20  214116
    [8] 2015/07/02 06:42:00  175.112.***.12  뽀룹뽀룹  546772
    [9] 2015/07/02 07:49:38  61.77.***.168  ♔♕♖♗♘♙  530879
    [10] 2015/07/02 20:37:11  210.180.***.43  사닥호  425608
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    74
    304개의 곡선으로 구성된 세월호 리본 [1] BePositive 18/04/16 15:34 148 20
    73
    저도 도움이 되길 바라며 [4] BePositive 17/05/14 22:33 392 11
    72
    진짜 이 나라는 멋지게 변할 거에요. [1] BePositive 17/05/10 08:45 55 0
    71
    [속보]'문재인 비방 혐의' 신연희 구청장 경찰 출석 [1] BePositive 17/04/11 14:16 575 11
    70
    지금 이 난리에 그 분도 한 의견 내 주셨음 정독했을 거어 BePositive 16/07/24 11:17 50 0
    69
    게임 + 프로그래밍용 견적 110만원대로 구성해 봤습니다. 조언 좀... [4] 본인삭제금지 BePositive 16/03/11 23:47 45 0
    68
    어이쿠 큰형님 여기서 뭐 하시나요 [1] BePositive 15/12/13 14:15 33 0
    67
    "우리는 미국을 모른다" - 왜 우리나라 IT는...? [4] BePositive 15/08/03 17:22 85 2
    66
    마리텔에 종이접기 김영만 아저씨 출연! [1] BePositive 15/07/10 18:13 28 2
    내가 지금 노는 건가, 일을 하는 건가. TIS-100 [7] BePositive 15/07/01 16:21 79 10
    63
    "사이다 글" 보단 "탄산수 글"이라 쓰는 건 어때요? [1] BePositive 15/04/22 07:06 81 0
    62
    댓글은 시간 역순으로 출력하는 게 좋지 않을까요? BePositive 15/04/20 09:31 27 0
    61
    씨로 프로그램 짤 때 조언인데요 BePositive 15/04/16 16:38 62 0
    60
    리플분석 - 나의 리플들은 안녕하신가? (당일치기 프로젝트 OuRA) [1] BePositive 15/04/05 05:06 55 5
    59
    프로그래밍 게시판에 오면 [5] BePositive 15/04/04 02:48 68 4
    58
    시원찮은 팔↗도↘ 리눅스 설치 실패기 올려 봅니다. [2] BePositive 15/03/27 16:55 55 0
    57
    팔도 비빔면 보다 찾은 배포판: 팔도 리눅스 [4] BePositive 15/03/25 04:11 72 11
    56
    어디 있었냐옹, 보고 싶었다냥! [3] BePositive 15/03/11 16:10 109 6
    55
    "책 추천해달라"는 질문을 할 필요가 있을까? [6] BePositive 15/02/05 03:23 55 7/7
    54
    [펌] 많은 학생들의 생각.JPG [11] BePositive 14/12/27 15:24 76 2
    53
    썰을 그리는 일에 대해 제 생각을 글로 적어 보고자 합니다. 루저녀석 14/12/07 09:15 62 0/7
    52
    썰 그리신 분들 그림을 좀 모아보는 게 어떨까요? [5] 루저녀석 14/10/01 16:39 76 0
    51
    일본우익망언 욕할 게 아니구먼... 루저녀석 14/04/25 21:01 62 0
    50
    어제 오늘 간단히 만들어 본 SubRenamer ... 루저녀석 14/04/15 02:18 28 1
    49
    적에게 둘러싸일수록 유리한 검방야만 스킬트리: 제압-산사태-선망 [1] 루저녀석 14/04/05 19:03 89 1
    48
    과제 질문에 대해 좋은 응답을 못 듣는 이유를 생각해 봤어. 루저녀석 14/04/03 19:23 26 2
    47
    돈 만큼 경험치를 주는 전설 손목 방어구! [1] 루저녀석 14/03/27 00:31 313 1
    45
    잉여한 실험. 세트/전설템은 얼마나 자주 떨어지는가? [3] 루저녀석 14/03/23 00:21 185 3
    [1] [2] [3]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈