GameOVEN
글쓴이: feanor / 작성시간: 수, 2009/05/27 - 5:51오전
한게임에서 Lua를 스크립팅 언어로 사용하는 온라인 게임 개발 환경 GameOVEN과 GameOVEN으로 제작된 게임을 한게임 사용자에게 서비스할 수 있는 iDoGame 사이트에 대한 계획을 공개했습니다.
http://idogame.hangame.com/
설치해서 살펴보았는데 꽤 재밌습니다. 저는 온라인 멀티플레이어 지뢰찾기를 만들어 볼 생각입니다. 현재까지 작업한 내용을 Bitbucket에 올려두었습니다.
http://bitbucket.org/sanxiyn/multimine/
팀이 이미 갖추어져서 Multimine을 같이 개발하실 분을 찾고 있지는 않습니다만, 예제로 참고하시면 도움이 되리라 생각합니다.
GameOVEN을 받으면 화면 구성을 할 수 있는 IDE를 제공하는데, 저는 IDE가 아무래도 불편해서 IDE가 만드는 것과 같은 XML을 생성하는 파이썬 스크립트를 짜서 썼습니다. 따라서 돌려보시려면 genscene.py를 실행하여 Scene.xml 파일을 만들어야 합니다. (수정: XML 파일 생성이 필요 없도록 변경하였습니다.)
hg clone http://bitbucket.org/sanxiyn/multimine
cd multimine
python genscene.py > Scene.xml
start Multimine.ovnprj
댓글
앗;; 저랑 똑같은
앗;; 저랑 똑같은 생각을 하시다니 -_-;; (그것도 iDoGame 플랫폼으로 만드려 했는데;;)
재밌게 만들어 주세요 :) 전 딴 걸...
일반 사용자가 이걸 하긴 할까요?
옜날에 RPG 쯔꾸루라는 게임제작툴이 있었는데요...이거 같은경우에는
무지 쉬웠던걸로 기억하는데요..
게임오븐은 언어도 들어가는거 같네요?
근데 과연 일반 사용자가 이걸 쓰긴 쓸까요?
처음에야 호기심에 몇번 찔러는 볼거같기는 한데요...
대충 홈페이지을 보니 100메가 제한(?)이 있고
클라이언트패키지, 서버패키지 이렇게 제작을 하는거같네요?
서버패키지는 한게임에서만 올릴수있는건가요?
(흠~ 맞나?)
--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.
--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.
'게임 만들기 게임'이
'게임 만들기 게임'이 아니라 '게임 개발 환경'입니다. 일반인은 당연히 안하죠.
아~이게 '게임개발환경'입니까??
그랬군요...
시간날때 좀 읽어봐야겠네요.
--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.
--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.
심심해서 한 번
심심해서 한 번 시도를 해 봤는데 이런 저런 개선점이 눈에 띄입니다. 일단 설명이 너무 부실해서 기본적인 컨셉을 이해하는 데 두 시간 정도 걸렸다거나, API 설계가 그렇게 좋지 않다거나, 디버깅이 드럽게 귀찮다거나... 지적할 게 끝이 없네요. 앞으로 많은 개선이 필요할 것 같습니다.
....
네이밍 센스가 좀......
대충 보면 game OVER 처럼 보여요.
akudoku.net 나는 이것만은 확신하니, 믿고 나아간다.
life is only one time
의도한 것 같은데요.
의도한 것 같은데요.
전 처음에 feanor님이
전 처음에 feanor님이 오타내신줄 알았습니다. ㅎㅎ
--->
데비안 & 우분투로 대동단결!
--->
데비안 & 우분투로 대동단결!
...
루아로 만들어진다면, 클라이언트에서 악의적으로 스크립트에 손댔을 경우엔,
어떨지 궁금하네요.
컴파일되어 배포되는 건지.. -_-a
괜찮은 시도인것 같고, 왠지 아이팟이나 모바일쪽으로,
나와도 괜찮지 않을까 싶습니다.
nil.
당연히
당연히 클라이언트에서 악의적으로 프로그램을 변경해도 상관없도록 프로그래밍을 해야 합니다. 이것은 루아로 개발하건 C++로 개발하건 마찬가지입니다. (C++로 개발해서 바이너리로 배포한다고 해도 클라이언트 바이너리는 변경될 수 있고 믿을 수 없으니까요.)
...
음, 제가 걱정한건, 스크립트로 인해 발생되는 여러가지 내용들을,
악의적으로 이용하지 않을까 싶은겁니다. 만약, 맞고나 RPG를 만들게 되었을 때,
상대방의 패나, 레어 아이템을 쉽게 파악할수 있지 않을까 싶어서 그런 이야기를 한것입니다.
이러한 상황은 바이너리로 제공되는 게임에서도 메모리 치팅을 통해 알수 있지만,
스크립트는 변수값만 체크해서 알려주는 간단한 치팅이 통할것 같은 생각이 들어 쓴것입니다.
(스크립트가 원소스 그대로 사용자가 받을수 있으면, 큰일이지 않을까 싶어서 말이죠 ^^;;)
nil.
스크립트로 제공하건
스크립트로 제공하건 바이너리로 제공하건 클라이언트에서 어떻게 상대방 패를 보나요?
...
메모리 해킹을 통해, 상대방 패를 보는 프로그램으로 사기를 벌인것이 뉴스에 몇번 나왔었습니다.
그리고, 온라인 네모네모 로직을, 맵핵처럼 보여주는 프로그램도 본적이 있구요.
음... 뭐, 그런 예를 든것입니다.
ps. 치팅이라고 썼는데... 옳지 않은 표현같아, 해킹으로 썼습니다.
nil.
해킹의 용어가 결국 그렇게 굳어졌군요.
Unix hacker 들이 인정하든 못하든 말이죠....
어쨌든 feanor님이 말하고 싶은 것은 결국 server에서 그런 모든 작업을 해야한다는 뜻입니다. 어떤 client가 다른 client에 적법한 방법이 아닌 방법으로 영향을 줄 수 있는 요소는 넣지 말아야 한다는 거죠. 물론 maphack 도 안되게 하려면 client player가 지나간 범위만 server로부터 지도와 unit 위치정보를 받아야겠죠.
빠른 성능이 요구되는 곳에서는 어려운 일이긴 합니다만 Lua 로 작성할 정도의 규모에서 client에서 중요 정보를 가지는 것은 필요없을 것 같습니다.
말로만 듣던
PaaS가 이런 것이었군요.
댓글 달기