문제

나는 MUD를 기반으로 플레이하곤 했습니다. 스마우그 코드베이스.고도로 맞춤화되었지만 핵심은 동일했습니다.나는 이 MUD에 대한 소스 코드를 가지고 있고, (재미있는 프로젝트를 위해) 직접 작성하는 데 관심이 있습니다.하지만 주로 디자인 측면에 관한 몇 가지 질문이 있습니다.누군가 나에게 도움을 줄 수 있을까요?

  1. 어떤 언어를 사용해야 합니까?해석되었거나 편집되었습니까?차이가 있나요?SMAUG는 C로 작성되었습니다.나는 많은 언어에 익숙하며 더 많은 언어를 배우는 데 문제가 없습니다.
  2. 성능을 방해하지 않기 위해 따라야 할 특별한 접근 방식이 있습니까?객체 지향, 기능적 등?
  3. 데이터를 저장하려면 어떤 매체를 사용해야 합니까?플랫 파일(SMAUG가 사용하는 파일) 또는 SQLite와 같은 파일입니다.두 제품의 성능 장단점은 무엇입니까?
  4. 이와 같은 프로젝트를 시작하는 방법에 대해 아는 사람이 있는 가이드가 있습니까?

성능 저하 없이 한 번에 50명의 플레이어가 온라인에 접속할 수 있도록 확장하고 싶습니다.Ruby 1.8(매우 느림)을 사용하면 Python 3.1(더 빠름)을 사용하거나 C/C++를 컴파일하는 것과 비교하여 차이가 있습니까?

누구든지 도움을 주고 정보나 조언을 주실 수 있다면 영원히 감사하겠습니다.

도움이 되었습니까?

해결책

나는 이것을 한번 시도해 볼 것이다:

  1. 2009년에는 50명이 플레이하는 게임에서는 문제가 되지 않았습니다.더 확장하고 싶다면 프로파일링 도구에 익숙한 언어를 선택하는 것이 좋지만 요즘 RAM이 너무 저렴하기 때문에 초기 LPMUD(내가 경험한)와 DikuMUD(이것은 경험이 있음)를 이끄는 제약 조건입니다. 귀하의 스마우그 파생)은 적용되지 않습니다.(LPMUD는 8MB RAM이 있는 시스템에서 최대 10-15명의 플레이어를 처리할 수 있습니다.)
  2. 프로그래밍 스타일이 반드시 성능 문제로 이어지는 것은 아닙니다. 아마존의 'obidos' 웹서버 C로 작성되었지만 원래 Yahoo Stores와 같은 대규모 사이트는 Lisp로 작성되었고 StackOverflow는 ASP.NET으로 작성되었습니다.나는 /개인적으로/ C를 사용하고 싶지만 많은 사람들은 나를 새디스트라고 부를 것입니다.
  3. 플랫 파일은 데이터 저장 공간이 많은 오늘날의 시대에는 다소 의미가 없습니다. 특정한 경우의 예외가 있습니다(예를 들어 대형 메일 서버는 구조화된 플랫 파일인 'maildir'을 사용하는 경우도 있음).게임의 크기는 데이터 검색 지연으로 인해 엄청난 속도 저하가 발생하지 않는다는 것을 의미할 수 있지만 충돌 시 데이터 무결성이 아마도 가장 설득력 있는 주장이 될 것입니다.
  4. 어떤 가이드도 모르지만 제가 할 일은 멍청한 채팅 서버로 게임을 시작하고 사용자가 로그인하여 뭔가를 할 수 있는지 확인하는 것입니다(입력을 받아 다른 모든 사용자에게 덤프합니다). 그런 다음 특정 로그인을 허용하도록 구축하면 사용자 이름/비밀번호 처리 및 사용자 옵션 설정/저장/검색 문제에 직면하게 됩니다.그런 다음 게임 드라이버 요소를 추가하기 시작하고(게임에서 작동하는 tic tac toe 게임 가져오기) 조금 더 복잡해집니다(서로 집거나 떨어뜨리거나 강타할 수 있는 개체로 작동하는 5개의 방 설정을 가져옴). -플레이어 캐릭터, 그러면 Diku에서 파생된 스마우그 성 등을 후루룩 마시고 그들과 함께 일하는 것에 대해 걱정합니다.:)

이건 좀 엉뚱한 이야기인데, 반대 의견도 있을 거라 확신합니다.:) 행운을 빌어요!

다른 팁

이것은 텍스트 기반 게임입니다. 이 경우 현재 하드웨어의 경우 우연히 O (n ** 2) 알고리즘을 생성하지 않는 것입니다. 50 명의 사용자에게는 그렇게 나쁘지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top