분류 전체보기(70)
-
[Node.js_6기 본캠프] CH 2. 개인과제 트러블 슈팅_0827
▶ CH 2. Rogue like JAVASCRIPT! 개인 과제 드디어 구현하고자 하는 기능들은 모두 완성했으나, 게임 난이도가 너무 높아 밸런싱이 시급하다... 그동안 전투 밸런싱 관련해서 욕했던 게임 운영자들에게 조금 미안한 마음이 들 뻔했다. 1) 무한루프 탈출! 멀쩡히 잘 돌아가는 줄 알았던 중간 로비 관련 로직이 무한루프를 만들어내고 있었다. player의 hp가 0이 되어 게임을 재시작하면, 이상하게 몬스터를 잡아도 다음 스테이지가 아닌 중간 로비로 무한 회귀를 하기 시작했다. monster의 hp가 0이 되면 else if에 걸려서 player 스탯 정비 화면이 나와야 하는데... 알 수 없는 일이었다. 코드를 한참 뜯어보다가, 중간 로비 화면 기능이 등장하는 조건인 if문의 위치를 st..
2024.08.27 -
서버와 클라이언트 기본 개념 알아보기
컴퓨터 세계에서 서버와 클라이언트는 무엇인가?일상 생활에서 서버라는 단어는 흔하게 쓰인다. 티켓팅을 하다가 서버가 터져서 실패했다거나, 게임을 하다가 서버 상태가 원활하지 못해서 공략에 실패했다는 이야기는 IT 업계에 종사하는 사람이 아니더라도 흔히 듣는 이야기이다. 그럼 이때 말하는 서버는 정확히 어떤 개념일까? 간단히 말하자면, 서버는 '서비스 제공자'라고 불린다. 이때 서비스를 제공하는 대상은 클라이언트라고 하며, '서비스 요청자' 불린다. 클라이언트가 원하는 서비스를 요청하면 서버가 해당하는 서비스를 제공하는 것이다. ▷ 클라이언트(Client)란?서버에 서비스를 요청하고 사용자(user)로, 크게 장치 또는 프로그램이다. 예를 들어 누군가 크롬 브라우저를 사용하여 특정 정보를 구글링 할 때,..
2024.08.27 -
[Node.js_6기 본캠프] CH 2. 개인과제 트러블 슈팅_0826
▶ CH 2. Rogue like JAVASCRIPT! 개인 과제 슬슬 개인과제의 끝이 보이고 있다. 이것저것 욕심 부려서 테스트하는 과정에 코드가 누더기가 되고 있는 것 같아서 걱정이다. 가독성을 위해 player와 monster 관련 코드는 파일을 분리하는 방법도 고민해봐야 할 것 같다. 1) 정비를 시작합니다stage 설정이 도저히 건드려지지 않아서, stage를 클리어해도 player의 hp가 회복되지 않은 상태로 계속 넘어가기를 반복했었다. 다른 방법이 없을까 고민하던 중, battle 관련 while문 뒤에 if문으로 각 stage 사이에 작동하는 코드를 넣으면 어떨까? 라는 생각이 들었다. 테스트 결과, 각 stage 사이에 player가 hp를 회복하고 damage가 증가하는 정비 시간..
2024.08.26 -
[Node.js_6기 본캠프] CH 2. 개인과제 트러블 슈팅_0823
▶ CH 2. Rogue like JAVASCRIPT! 개인 과제 드디어 player와 monster가 허공을 긁지 않고, 서로에게 딜을 넣을 수 있게 되었다. 한참 헤메이다가 구현한 기능인 만큼, 도전과제에 해당하는 Math.random()을 활용한 딜량 랜덤 요소까지 욕심이 났다. 제출일까지 구현 가능한 요소들을 최대한 건드려 볼 생각이다. 1) 이제 진짜 battle 시작!class Player { constructor(player) { this.hp = 100; this.minPower = 10; this.maxPower = 15; } normal_ATK(monster) { let damage = Math.floor(Math.random() * (this.maxPower..
2024.08.23 -
[Node.js_6기 본캠프] CH 2. 개인과제 트러블 슈팅_0822
▶ CH 2. Rogue like JAVASCRIPT! 개인 과제 조금만 더 구조를 이해하면 청사진이 그려질 것 같은데, 아직 player와 monster가 딜을 주고 받는 구조가 그려지지 않는다. class에 대한 이해가 부족한 것 같아서 자료를 찾아보긴 했는데, object를 양산하는 기능까지만 활용하는 수준이 되어버렸다. 더 뜯어보다가 안되면 튜터님들에게 달려가야겠다. ReadMe도 다들 쓰는 것 같은데, 세계관 풀어내다가 시간을 펑펑 쓸 미래가 보이므로 마지막날에 정리하는 것으로... 1) 최소 공격력, 최대 공격력class Player { constructor(player) { this.hp = 100; this.minPower = 10; this.maxPower = 15; ..
2024.08.22 -
[Node.js_6기 본캠프] CH 2. 개인과제 트러블 슈팅_0821
▶ CH 2. Rogue like JAVASCRIPT! 개인 과제 '로그라이크 텍스트게임'을 제작하는 개인 과제가 주어졌다. 어떤 설정을 넣으면 재미있을까 기대에 부풀어 세계관을 짜면서 개발환경을 세팅했다. 해맑은 생각도 잠시, 스켈레톤 코드를 열어보는 순간 머릿 속에 경고등이 요란하게 울리기 시작했다. 내가 이 뼈대를 써서 게임을 만들 수 있다고? JavaScript 문법 종합반 강의를 완주만 했지, 완전히 내 것으로 만들지 못했다는 것을 절절히 깨닫는 순간이었다. 스켈레톤 코드를 이해하려고 한참을 읽었다. 라이브러리를 처음 써보는 만큼, 내가 수정 및 활용할 수 있는 부분이 어디까지인지 파악하는 데에 꽤 많은 시간을 써야 했다. 1) 로비부터 꾸며보자스켈레톤 코드를 실행했을 때 처음 보이는 화면부..
2024.08.21