디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

DWEM 프로젝트 시작

ASCIIPhilia갤로그로 이동합니다. 2024.04.28 02:10:18
조회 596 추천 26 댓글 12
														




DWEM(dcss-webtiles-extension-module)이 뭐나면 웹죽 확장 모듈의 후속 버전임

2017년 쯤에 확장 모듈을 개발할 때는 사실 본인이 웹 환경에 많이 익숙하지도 않았고

ECMAScript5 (신 버전 자바스크립트 명세)가 막 도입되려고 하는 격변기에

IE 환경 사용자도 많아서 브라우저 환경 지원 폭이 엄청 넓었던 데다가

(싸지방에서 IE로 웹죽하는데 기능이 안 된다던 제보도 있었던 시절 ㅋㅋㅋ)

본인이 시간적 여유도 많지 않던 때라, 우후죽순으로 새로운 기능을 빨리 넣는 데에만 급급하다보니

코드가 도저히 무언가 더 개발하기에 힘들 지경에 이르렀음


게다가, 기능을 구현하는 주요한 방식이 웹타일이 내부적으로 사용하는 jQuery 라이브러리의 일부 함수를 가로채서

웹타일 내부 코드가 jQuery 함수에 인자로 본인의 입출력 제어 함수를 넣는 순간 그것을 탈취한 뒤

그 입출력 이전과 이후에 커스텀 로직을 실행하여 구현하는 방식이었기 때문에

유일하게 빼돌릴 수 있었던 해당 제어 함수 하나만 가지고 기능을 확장하기에 제약도 너무 많고

개발하기에도 너무 끔찍한 형태였었다...


그래서 언젠가는 코드를 정비해서 깔끔하게 정리하고, 궁극적으로는 웹타일의 모든 기능을 변경할 수 있는 형태의 프레임워크를 만들어서

그 프레임워크 위에서 모듈(개별 기능 유닛)을 얹어가는 식으로 개발을 해야겠다라고 생각을 했었음 (2018~2019년 경)


이후로 시간 날때마다 조금씩 실험해봤었는데

국소적인 제어 함수를 탈취하는 것이 아니라, 웹타일에서 사용하고 있는 코드 로더를 변형해서

모든 원하는 코드를 삽입하는 방법 쪽으로 시도하다 보니 난이도가 훨씬 높아서, 죄다 실패했었음

현생도 살아야하고 하니 뜨문뜨문 실험해보다가


최근에 될 각이 보이는 방법이 번뜩하고 생각이 나서, 실험을 재개해봤는데

코드 로더가 로딩된 후에, 웹타일 시작 코드를 불러오는 것을 방해해서 더 이상 진행하지 못하게 만들어버린 다음에

그 사이에 프레임워크 로딩 완료하고, 코드 로더 변형 코드를 주입한 다음에

수동으로 코드 로더를 한번 더 불러오는 방식으로 핵심 로직 구현에 성공함


6년만에 실제로 작동하는거 보고 눈이 반쯤 돌아가서

요 몇일동안 코드를 다듬어서, 프레임워크 부분을 어느정도 완성시켰음

이거 자체로 당장 작동하는 기능은 없다시피 하지만

앞으로 재미있는 기능들 많이 만들어 볼 수 있는 초석을 다진 것에 의미가 있음


웹타일의 거의 모든 코드를 변경할수 있게 되었으니까, 무엇을 만들수 있는지는 무궁무진하겠지만

- 커스텀 타일 변경 기능

- 커스텀 게임 렌더링 로직 (몬스터 등의 정보를 확장해서 표시한다던지)

- 커스텀 UI 로직 (완전한 한국어 지원 모듈을 만들어 볼 수도?)

- 기타 사용자 편의를 위한 확장 및 커스텀 기능


뭐 이런것들도 다 가능해질 듯, 물론 누군가 만들어야 돌아가겠지만


지금 당장은 모듈 매니저(슬더스나 림 월드같은데 있는 모드 매니저 같은 거)를 만드는 중이고

완성되면 사용자가 외부 모듈 주소를 입력해서 추가하면

해당 모듈이 추가되는 방식으로 사용이 가능해질 듯

누구나 확장 모듈을 개발해서 배포하고 사용할 수 있도록 최대한 기틀을 다져볼 예정


24b0d121e09c28a8699fe8b115ef046f5f459d98ae

(간단하게 목업으로 만든 모듈 매니저)


24b0d121e09c28a8699fe8b115ef046b6d6f92

실제 사용자가 써볼수도 있어야 개발 의욕도 더 날 것 같아서 웹죽에서 사용해볼 수 있게 해봤음


모듈 매니저가 완성대는 대로 기존 확장 모듈 기능 중에 주요한 기능들 하나씩 옮겨서 구현할 생각이고

(이건 정말 오래 걸릴 듯 함, 현생도 있어서 그냥 느긋하게 취미로 만들어보려고 생각 중)

어느정도 기능들 이식되면, 기존 확장 모듈은 아예 폐기하려고 생각 중임


https://github.com/refracta/dcss-webtiles-extension-module

 

관심있는 사람들은 Pull-Request 언제나 환영함~

*. 당장은 문서화가 제대로 되어있지는 않아서, 모듈 예제 코드 구경정도만 할 수 있는 상태임


추천 비추천

26

고정닉 9

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 SNS로 싸우면 절대 안 질 것 같은 고집 있는 스타는? 운영자 24/05/06 - -
AD 나혼렙 어라이즈 그랜드 론칭! 운영자 24/05/09 - -
459944 무덤에서 결국 패배했다... 로갤러(114.201) 04:03 28 0
459943 ㅋㅌㅋ) 싸패특성 말고도 인간해체나 인육 무드 감소 없앨 수 있음? ㅇㅇ(121.138) 03:44 15 0
459942 ㄷㅈ)맛동산은 스펙트럴 브랜드 잘뜨나? [2] ㅇㅇ(223.39) 03:05 30 0
459941 ㄷㅈ) 가고일 대지법 드디어 좃방 입구까지 왔음 ㅇㅇ갤로그로 이동합니다. 02:39 25 0
459940 문어로 건틀릿만 들어가면 문어 자벨린꼬치되네 [1] Elbereth갤로그로 이동합니다. 02:37 29 0
459939 하루에 한 번 웨이시 증오하기 99일차 ㅇㅇ(125.176) 02:23 11 0
459938 ㄷㅈ) 이제 몬스터 완드 쓰는거 데미지도 알려주네 [2] hjklyubn갤로그로 이동합니다. 02:14 43 1
459937 ㄷㅈ) 충전의 두루마리님이 그립다 롬롬갤로그로 이동합니다. 01:47 28 0
459936 ㅋㅌㅋdda) 요즘 0.g함? 실험판함? [2] ㅇㅇ갤로그로 이동합니다. 01:04 41 0
459935 ㄷㅈ)섀터 쳐맞고 뒤질 뻔했네 [4] blister갤로그로 이동합니다. 01:02 41 1
459934 ㅌㅈ) 아 앙골웬 아줌마 우르키스 바로 발밑에 소환해주네 [2] 로갤러(61.39) 00:58 38 0
459933 ㅌㅈ) 멜린다를 이곳에 버리고 갈 순 없습니다 로갤러(61.39) 00:42 29 0
459932 ppb 근황.jpg [2] ㅇㅇ(211.241) 00:37 90 3
459931 ㄷㅈ)플럭스폼 진짜 개구리네 [2] 로갤러(1.246) 00:27 57 0
459930 백소정 탈리스만 확정드랍인줄알았는데 아니네 ㅅㅂ [2] 로갤러(114.201) 00:19 56 0
459929 ㄷㅈ) 돌파민 젓갈된거같아서 미치겠다 [2] ㅇㅇ(118.235) 05.09 47 1
459928 돌죽)무너 연금술사 올룬 올젬클 [11] 로갤러(220.126) 05.09 94 6
459927 ㄷㅈ)주인장! 이 가게에 있는 물건 다 갖고 와! [2] blister갤로그로 이동합니다. 05.09 71 1
459926 갓오브워 라그나로크 "발할라" 로그라이크 아님? [3] ㅇㅇ(106.101) 05.09 55 0
459924 돌죽)5월 8일 ~ 9일 패치 [5] 와그너스갤로그로 이동합니다. 05.09 89 2

게시물은 1만 개 단위로 검색됩니다.

갤러리 내부 검색
게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2