Archive for the “ghost” Category

Well, its time to review my design ideas for the Ghost project.

Ghost aims to be a Full-featured Browser-based RPG. These are some fundamental ideas i had. Feel free to comment em.

  1. Game:
    • RPG style (long time playing, with levelign stats etc)
    • Basic Game is GPL (as it uses GPL things, less trouble if we release with GPL)
    • Make money with Graphics/Extension Packs (eg. a easy extension management), other ppl can provide own extensions.
  2. Client:
    • Browser game (works on FF for sure, IE would be fine, more others cool. For developement we only support FF.)
    • Use standalone FF as a downloadable game client (aka XUL Runner, PRISM etc), we can include graphics there (is secure?)
    • Thin Client. Client displays Data and sends back events to server.
    • No additional requirements, (X/HT)ML, JS and css only. NO PLUGINS
    • 2D Graphics.
    • Security is providen by server. Dont relly on Client input be of anything special. If a client sends bugged Data,never accep.
    • Since we use JS and a BrowserClient side code injection is easy. So we need be extra carefull with player input on server side.
  3. Server:
    • We use php as Language.
    • Game uses phpBB3 for User Management.
    • We use the phpBB3 DB Layer for DB access.
    • Webhoster-ready. We shouldnt require any special settings in the .htaccess or php.ini. Basicaly i want same requirements as phpBB3 (we may go for php5 only since some really usefull things added there)
    • Dont use timers or rely on tasks run on specific times. We use cron jobs like phpBB. But we are asynchron since we cant guarantee the game runs (if no one plays for some days)
    • Shall we use a existing (GPL)-RPG-Engine? It would be cool to make it work with any of those ASCII-Games.
    • No loops!
    • User interaction is done on server with the use of sockets. A output-Script will run until timed out, and send all needed things to the user. If we got shut down by server prozess we send a last exit message and then let the client restart us. This should be done by the basic game processes transparent for the game (so this would be a bi-directional communication via xml-http)
  4. Security
    • All input will be XML
    • All possible input needs be VALID in respect to a provided DTD.
    • Output XML needs be very strict so we dont open XSS trouble. (do we need rich-text??)
    • All operations need be tested for Thread safety. PHP has some trouble with this.
    • Usage of OO would maybe make us less vulnerable. On the other side OO will need some more server cpu. So I rather wont use OO. Lets stay functional as phpBB3 does.
    • Dont use php-hacks, keep code clean.
    • For XML DTD, do we use a hirarchical Tree or keep it in single DTDs? single ones are safer (not in general i think)?
    • If phpBB3 breaks, we break. Therefore we need a phpBB3 security Expert. By make our game a phpBB mod and follow the mod guidelines, we can get help from the phpBB3 ppl.

Flattr this!

Comments Comments Off on Fundamental programming design for ghost

Well, we are online.

Buggy, Hacky, wacky, laggy…. but at lest something that runs.

Projekt Ghost is aimed to be a full MMORPG based on html/php/javascript. It should run on any Webhoster having some php Version (right now we require php>=5.2.1). In 0.1 we have the forum set up (includes user-management) and some first chat window working.Next step will be to make some map and players there. Wish me luck 😉

Flattr this!

Comments Comments Off on Ghost v0.1