개발 5

드디어 스와이프 벽돌깨기 AI를 만들어 보았다

이전 글: 갑자기 스와이프 벽돌깨기 레플리카를 만들어 보았다 갑자기 스와이프 벽돌깨기 레플리카를 만들어 보았다 제목 그대로이다. 나도 왜 만들었는지는 잘 모르겠지만 아무튼 만들어버려서, 앞으로 이걸 플레이하는 AI를 강화학습 또는 유전 알고리즘으로 학습시켜볼까 한다. github.com/SyphonArch/brick_breaker GitH syphon.tistory.com Github Repository GitHub - SyphonArch/brick_breaker: This project features a clone of a popular 'brick breaker' game variant, characterised by sho This project features a clone of a popula..

개발/기타 2023.02.02

Soldier-Link: 육군훈련소 인편 전달 웹사이트 구축하기

소개 육군훈련소에 먼저 다녀온 선배님의 블로그 글 덕분에, 인터넷 편지를 보낼 수 있는 더캠프 비공식 API가 있음을 알게 되었다. 일반적인 방법으로 더캠프를 통해 육군훈련소에 있는 훈련병에게 편지를 보내는 방법은 아래와 같다: 더캠프 앱을 설치하거나 웹을 통해 접속하여 회원가입을 한다. 훈련병의 생년월일/입영일 등을 입력하고 '관심군인'으로 추가한다. 입영 1주일 후 정도에 개설되는 '카페'에 가입한다. 카페에서 '위문편지 보내기'를 통해 인터넷 편지를 작성한다. 대충 봐도 복잡하다. 그래서 나도 선배가 했던 것처럼 나한테 인터넷 편지를 직빵으로 보내주는 웹사이트를 만들어 보기로 했다! 원리는 크게 어렵지 않다. 더캠프 비공식 API는, 웹/앱에서 위문편지를 작성해 전송할 때와 같은 request를 보..

개발/기타 2021.03.28

갑자기 스와이프 벽돌깨기 레플리카를 만들어 보았다

제목 그대로이다. 나도 왜 만들었는지는 잘 모르겠지만 아무튼 만들어버려서, 앞으로 이걸 플레이하는 AI를 강화학습 또는 유전 알고리즘으로 학습시켜볼까 한다. github.com/SyphonArch/brick_breaker GitHub - SyphonArch/brick_breaker: This project features a clone of a popular 'brick breaker' game variant, characterised by sho This project features a clone of a popular 'brick breaker' game variant, characterised by shooting a volley of 'balls' at an angle of choice. Alo..

개발/기타 2021.01.08

Game Logic의 OOP Refactor

다시 논문을 읽으러 가겠다고 선언한지도 3개월이다. 그 사이에 있었던 일은 대략 다음과 같다: 1. 논문을 다시 읽었다. 2. ISMCTS를 다시 이해했다. 3. AI 코드를 작성하던 중, game logic의 구현 방법이 마음에 들지 않았다. 예외처리가 너무 많아졌다. 4. 이에 game logic 모듈을 조금 더 객체지향적으로 refactor할 필요성이 생겼다. 5. 시간이 많이 지나 다시 ISMCTS를 잊어버렸다. 6. 그래도 refactoring은 성공적으로 마쳤다. 이전의 카드 / 문양 등등이 전부 다 문자열이었던 것에 반해 새로운 구현은 모든 것이 class이다. AI 구현 중에 가장 큰 문제가 되었던 것이 play 처리의 어려움이었다. Play를 단순한 (플레이어, 카드) 튜플로 처리하기에는..

Mighty Online: Tranquil Tempest 개발기 #1

요즘 우리 과의 웹/앱개발 동아리인 WaffleStudio 친구 셋과 함께 진행 중인 프로젝트는 카드 게임 '마이티'를 멀티플레이어로 할 수 있는 플랫폼, Mighty Online의 개발이다. 마이티라는 게임은 일반인들에게는 잘 알려져 있지 않지만, 일부 고등학교 학생들과 서울대를 포함한 몇몇 대학의 특정 과에서는 즐겨 플레이하는 사람들이 매우 많은, 소수에게 꾸준한 사랑을 받는 게임이다. 사실 이번 프로젝트는 '연습용'으로 내가 제안한 프로젝트이다. 팀의 멤버 네명은 각각 다른 수준의 개발 경험이 있지만, 모두 다 웹과 앱 개발 경험이 적다. WaffleStudio에 들어온 만큼, 무엇인가를 만들면서 웹/앱을 배우고 싶었고, 고민 끝에 해보기로 결정된 프로젝트가 Mighty Online인 것이다. 연습..