Game Development Community

dev|Pro Game Development Curriculum

Honor Online - GUI Design Tests

by Mark Lyon · 11/28/2006 (12:36 pm) · 3 comments

Honor Online is a Small Multiplayer Online Role Playing Game that I am writing just for my friends and family. I expect no more than 15 to 20 simultaneous players and I have a quad Xeon 3ghz 4gb RAM machine with 10mb fiber internet connection to run it on. Honor Online is NOT a combat game. I am designing it for heavy human to human role play and court politics. Combat will be cinematic only and have characters fight automatically at the best of their ability with little if any interaction from the players, to minimize the attachment to combat. Crafting will be similar in that there will be no actual collection of resources or interface steps to craft, just time spent using your character's own Memes with other characters able to lend you their Memes.

I have chosen Torque over completing my changes to Sauerbraten only because of the speed of delivery issue. I figure 6 to 9 months using Torque. I will purchase almost all of my art assets and just deal with it if anything is not culturally specific. At most I will develop custom shaders and particle effects.

I will continue background work with Sauerbraten for the next couple of years because I eventually want a system that does not expose reverse engineer-able scripts on the client (like the current dso) and has only procedurally generated content. I am working on mapping, modelling, and texturing tools for the procedural generation piece that will be integrated into Sauerbraten. This will allow me to reduce my application and resources sizes by almost 95%.

I have some specific GUI needs for character building and I have to figure out how to get Torque to do it. If Torque Script does not natively support what I need I will add new C++ files directly and add support for the GUI controls I need and simply recompile. This will help minimize merge issues as Torque is updated in the future.

I am implementing several design tests for Torque's GUI to determine the best way to design the following screens:

1. Login / Registration [Torque Script]
a. Login (Only a single server will ever exist) [Torque Script]
b. Registration (Web Service for account creation) [C++]
2. Character Selection / Creation [Torque Script]
a. Character Creation [Torque Script]
i. Clan (Flowchart of existing clans to choose from) [Torque Script]
ii. Family (Flowchart of existing family members to choose from) [Torque Script]
iii. Memes (This is the complex GUI issue that needs to be resolved) [Torque Script / C++]
3. Battle HUD (small forces cinematic combat) [Torque Script]
4. War HUD (large scale cinematic combat) [Torque Script]
5. Politics HUD [Torque Script]
6. Crafting HUD [Torque Script]
7. Estate HUD [Torque Script]
8. General GUI [Torque Script]
7. Options [Torque Script]
8. Help [Torque Script]

I will begin to post screen shots as they become available so that I can monitor my progress over the next few months.

About the author

Recent Blogs


#1
11/28/2006 (2:16 pm)
I'm curious as to how Sauerbraten is not reverse-engineerable. It uses a simple turing language. It is quick and dirty, but AFAIK was never meant to be secure. The nice thing about using a turing language is that the amount of script data packaged and sent is small and quick.

I haven't looked in-depth at the scripting and netcode in Cube or Sauerbraten, but that is how it seemed to me from discussions, documentation, and glancing over the source. Of course, adding in a strong crypto lib could help out significantly, though enlarge the packing and slow down the transmission.

Fun engines. I need to play with them more. Multiplayer level building is fun.
#2
11/28/2006 (6:45 pm)
Looks like a cool project. Just out of curiosity, if you're only distributing this to 15-20 of your closest friends and family, why do you want to rewrite the entire thing out of security and size concerns?

("Because I want to" is a perfectly good answer, of course!) :-)

Good luck with it all, be sure to post some screenshots someday.
#3
12/21/2006 (9:01 am)
@Chris

Because I don't want my server to be accessed by peeps other than my players. ;)