GameOVEN

feanor의 이미지

한게임에서 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

댓글

oedalpha의 이미지

앗;; 저랑 똑같은 생각을 하시다니 -_-;; (그것도 iDoGame 플랫폼으로 만드려 했는데;;)
재밌게 만들어 주세요 :) 전 딴 걸...

OpenSnake의 이미지

옜날에 RPG 쯔꾸루라는 게임제작툴이 있었는데요...이거 같은경우에는
무지 쉬웠던걸로 기억하는데요..
게임오븐은 언어도 들어가는거 같네요?
근데 과연 일반 사용자가 이걸 쓰긴 쓸까요?
처음에야 호기심에 몇번 찔러는 볼거같기는 한데요...

대충 홈페이지을 보니 100메가 제한(?)이 있고
클라이언트패키지, 서버패키지 이렇게 제작을 하는거같네요?
서버패키지는 한게임에서만 올릴수있는건가요?
(흠~ 맞나?)

--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.

--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.

klara의 이미지

'게임 만들기 게임'이 아니라 '게임 개발 환경'입니다. 일반인은 당연히 안하죠.

OpenSnake의 이미지

그랬군요...
시간날때 좀 읽어봐야겠네요.

--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.

--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.

lifthrasiir의 이미지

심심해서 한 번 시도를 해 봤는데 이런 저런 개선점이 눈에 띄입니다. 일단 설명이 너무 부실해서 기본적인 컨셉을 이해하는 데 두 시간 정도 걸렸다거나, API 설계가 그렇게 좋지 않다거나, 디버깅이 드럽게 귀찮다거나... 지적할 게 끝이 없네요. 앞으로 많은 개선이 필요할 것 같습니다.

bus710의 이미지

네이밍 센스가 좀......

대충 보면 game OVER 처럼 보여요.

akudoku.net 나는 이것만은 확신하니, 믿고 나아간다.

life is only one time

inhosens의 이미지


의도한 것 같은데요.

kirrie의 이미지

전 처음에 feanor님이 오타내신줄 알았습니다. ㅎㅎ
--->
데비안 & 우분투로 대동단결!

--->
데비안 & 우분투로 대동단결!

hwiorb의 이미지

루아로 만들어진다면, 클라이언트에서 악의적으로 스크립트에 손댔을 경우엔,
어떨지 궁금하네요.
컴파일되어 배포되는 건지.. -_-a

괜찮은 시도인것 같고, 왠지 아이팟이나 모바일쪽으로,
나와도 괜찮지 않을까 싶습니다.

nil.

feanor의 이미지

당연히 클라이언트에서 악의적으로 프로그램을 변경해도 상관없도록 프로그래밍을 해야 합니다. 이것은 루아로 개발하건 C++로 개발하건 마찬가지입니다. (C++로 개발해서 바이너리로 배포한다고 해도 클라이언트 바이너리는 변경될 수 있고 믿을 수 없으니까요.)

hwiorb의 이미지

음, 제가 걱정한건, 스크립트로 인해 발생되는 여러가지 내용들을,
악의적으로 이용하지 않을까 싶은겁니다. 만약, 맞고나 RPG를 만들게 되었을 때,
상대방의 패나, 레어 아이템을 쉽게 파악할수 있지 않을까 싶어서 그런 이야기를 한것입니다.
이러한 상황은 바이너리로 제공되는 게임에서도 메모리 치팅을 통해 알수 있지만,
스크립트는 변수값만 체크해서 알려주는 간단한 치팅이 통할것 같은 생각이 들어 쓴것입니다.
(스크립트가 원소스 그대로 사용자가 받을수 있으면, 큰일이지 않을까 싶어서 말이죠 ^^;;)

nil.

feanor의 이미지

스크립트로 제공하건 바이너리로 제공하건 클라이언트에서 어떻게 상대방 패를 보나요?

hwiorb의 이미지

메모리 해킹을 통해, 상대방 패를 보는 프로그램으로 사기를 벌인것이 뉴스에 몇번 나왔었습니다.
그리고, 온라인 네모네모 로직을, 맵핵처럼 보여주는 프로그램도 본적이 있구요.
음... 뭐, 그런 예를 든것입니다.
ps. 치팅이라고 썼는데... 옳지 않은 표현같아, 해킹으로 썼습니다.

nil.

winner의 이미지

Unix hacker 들이 인정하든 못하든 말이죠....

어쨌든 feanor님이 말하고 싶은 것은 결국 server에서 그런 모든 작업을 해야한다는 뜻입니다. 어떤 client가 다른 client에 적법한 방법이 아닌 방법으로 영향을 줄 수 있는 요소는 넣지 말아야 한다는 거죠. 물론 maphack 도 안되게 하려면 client player가 지나간 범위만 server로부터 지도와 unit 위치정보를 받아야겠죠.

빠른 성능이 요구되는 곳에서는 어려운 일이긴 합니다만 Lua 로 작성할 정도의 규모에서 client에서 중요 정보를 가지는 것은 필요없을 것 같습니다.

FIFO의 이미지

PaaS가 이런 것이었군요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.