[gopher] This game I have been working on might be of interest to Gopherites...
Kevin Veroneau <kevin@...
2015-02-09 01:49:18 GMT
Hello fellow Gopherlings!
I believe you might have recalled that I brought up and we all briefly
discussed the possible development of a MUD made by us Gopherians. Well, long
before I even had such an ill conceived idea that would ultimately never come
into fruition. I was working on a Massively Multiplayer Online Hacking
Universe Game, or shortened to just MMOHUG. You won't find this MMO genre
type anywhere yet, as I am hoping that mine will be the first to market!
Although I have been working on it since 2012, and it has gone through a
couple complete redesigns, I feel that now the game is taking the right
direction. Originally, it was going to be a web-based game, but I noticed
that this market was already crowded and noticed the vast inferiority of web-
based games in general. In order to build real-time apps and games on a
website, you needed some rather complex code, both in the front-end and the
back-end... This led me to rewrite the game completely using standard
stdin/stdout terminal programming in Python. This version of the game
actually came along ways until I realized how it wouldn't scale very well.
You see, each user would log in via a standard telnet connection, and telnetd
forks the actual application I wrote. For each connected player, the amount
of resources grow! If I really wanted to take the game into the MMO type
category, I needed to slim down the server component alot!
Now the server side is entirely written and listens on a TCP port directly,
no forking needed. I wrote a couple threads to manage some in-game stuff, but
that's about it. The game currently is about 10MB of RAM when idle, which is
pretty good. Each new connection doesn't increase the total size by much, as
each player's persistent state doesn't take very much memory or resources.
This also has the benefit of me being able to write a custom telnet client to
make the game more appealing to those who don't want to use telnet, or my web-
based terminal app.