https://arca.live/b/lobotomycoperation/102219728?target=all&keyword=%ED%8C%AC%EA%B2%8C%EC%9E%84&p=1#comment

이걸 쓴 롭붕이다 (다른 팬게임이랑 헷갈림 주의)


최근에 6장도 뜨고 새 시즌이니까 거던도 좀 돌아야하고 일상도 바쁘고 그래서

개발 진도를 막 엄청 나가진 못했음.


알파테스트 버전에 비해선 그래도 비약적인 발전이 있었다...

아직 공개 빌드로 전환 안해서 그렇지 개발 빌드에는 내용 추가 많이 됨


대충 그래서 이게 뭘 하는 건지 알려주도록 하겠음


1. 그래서 니가 만드는게 뭔데?

라오루 텍스트게임 엔진이다.

라오루에서 하는 것처럼 책장으로 덱을 만들고, 환상체 책장 쓰고 뭐 그런 게 다 가능하다. 텍스트라 그래픽이 없긴 하지만.

"엔진" 인 이유는, 아무리 코알못이라도 간단하게 몇글자짜리 모딩을 통해 본인이 원하는 캐릭터를 만들 수 있는 게임 엔진을 목표로 하기 때문임.

사실상 개발기간이 늘어난 이유기도 한데, 나만 수정하면 되는 코드면 그냥 하드코딩을 해서 정해진 효과, 카드들만 사용할 수 있게 하면 되는데 다른 사람들이 추가한 카드, 이펙트 등등도 포함하려면 좀 복잡해져서...


개발기간은 아마 2달쯤 된 것 같고, 현재 코드 3000줄 정도 된 것 같다.

목표로 한 건 이제 라오루의 시스템을 역설계한 다음 림버스 시스템을 좀 버무려서 간단하게 즐길만한 텍스트 RPG 만들기?


나는 세미-거악귀로서 림버스컴퍼니 매우 재밌게 하는 중인데, 개인적으로 이런거 있었으면 좋겠다! 라는 아이디어가 있어도 림컴은 소스코드가 오픈된 것도 아니고, 한창 서비스 중인 모바일 게임이다 보니 모딩으로 뭘 넣을 수가 없었음.

라오루 사서 직접 모딩을 하기에는 일러스트 작업 할 사람도 필요하다 보니 번거롭고...

그래서 그런 불편함을 해결하고자 아트가 필요 없는, 순수 코드만으로 이루어진 프로젝트를 시작하게 됨.


2. 그래서 어디까지 옴?

한마디로 막바지다.

베타테스트 가능할 정도까진 아니지만, 대부분의 기능은 구현됐고 (합, 일방공격 등), 전투를 단계별로 실행하는 프로그램을 아직 안 만든 상태임.

간간히 시스템 유지보수도 하고 뭐...


근데 이게 1인개발이고 라오루도 안해본 놈이 라오루 시스템을 쓰려고 하다 보니까 좀 애로사항이 있었음.


현재 구현된 사항

- 체력, 흐트러짐 체력, 감정레벨, 빛, 흐트러짐 상태 등등 기본적 라오루 전투에 사용되는 것들

- 책장, 주사위들

- 합 시스템 (상쇄, 수비/회피 합 등등 별거 다 구현해놓음. 라오루식), 일방공격, 광역공격 등

- 상태이상

- [적중 시], [합 승리], [턴 시작] ... [피해 받을 시] 등등등등 진짜 오만가지 상황에 대응하는 트리거들

- 대사 출력, 컬러링, 백분율, 체력 비율 등등 책장이나 다른 효과들 만들 때 쓸 수 있는 함수들


3. 그래픽 왜 없음?

1. 개발자가 똥손이라 그림을 전혀 못그린다.

2. 아티스트 구하기 싫다. 내가 처음부터 끝까지 만들고 싶음.

3. 게임 시스템 말고도 그거 구현하려면 한세월 더 걸린다.


...라고 변명할 수 있음.

사실 그래픽 추가 계획이 아예 없는 건 아님.

오픈소스 그래픽이라던지 써서 나중에 어떻게든 pygame 라이브러리 써서 그래픽 추가할거긴 하다.

하지만 우선은 베타 및 1.0 버전은 텍스트 기반일 예정.

그래픽은 추가되면 텍스트버전/그래픽버전 켰다껐다 가능하게 할 생각임.


4. 시연

테스트_플레이어가 터터트려의 첫 주사위인 관통 주사위로 테스트_적을 때려패고, 걔가 이제 테스트_플레이어를 반격으로 패면서 "크아악 못참겠다 공격" 이라는 대사가 나오는 상황...

공격위력증가 코드.

이게 전부임...

해설을 해 주자면 (줄 단위로)


공격위력증가(AtkVUp) 라는 효과를, 엔진에 내장된 "Effect" 템플릿으로 생성한다.

   얘의 이름은 "공격 위력 증가" 이며, ff0000 색깔 (빨간색) 이다.

   얘는 횟수가 없다. (위력만 있다.)


   이 효과는 주사위가 굴려진 후에 발동한다 (괄호 안은 이펙트 템플릿 때문에 따라오는거임)

      IF 플레이어에게 위력 무시 효과가 없고, 지금 굴려진 주사위가 공격 주사위라면:

         공격위력 증가로 인해 플레이어의 위력 (자신의 위력) 증가! 라고 출력하고

         주사위의 결과값을 자신의 위력만큼 올린다



코드 몇 줄 쓰는 게 다고, 이게 그나마 복잡한 편이다. 나머지는 더 쉽다...

아예 파이썬 문법을 모르는 사람을 위해 몇몇 간단한 문법 쓰는 방법을 담은 가이드도 만들 생각임.






여튼 긴글 읽어줘서 고맙다!

댓글과 개추는 팬게임 제작에 도움이 많이 됩니다. (댓글 다 읽고 있고, 지난번 첫 글에 댓글로 달아준 아이디어로 전용 책장 만들어준다는 약속 기억하고 있음 ㅇㅇ)


4줄요약

1. 파이썬으로 만든, 빠빡대가리도 모딩할 수 있는 컴팩-트 라오루

2. 개발 다돼가는데 1인개발이라 좀 빡셈. 진짜 거의 다 끝남

3. 그래픽 넣을거임. 근데 일단은 텍스트로 출시함. 미안하다

4. 예시 있다.