Published on June 16, 2007
Codename: EmpyreanA game for space rogues.: Codename: Empyrean A game for space rogues. Profile Information: Profile Information Your Name: Rob Eisenberg and Christopher Bennage Company Name: Bluespire Application Title: Empyrean Brief Summary: An online multiplayer game inspired by space trading games of the BBS era. It provides a persistent galaxy filled with stars, aliens, trade stations, and so on, with which the players can interact in a variety of ways. It is fully customizable by the admin, allowing him to modify/create the game’s content. Codename: Empyrean: Codename: Empyrean 1. What does your app do? It’s a game. We have endeavored to capture the fun elements of the trading game genre. As a player you have the ability to explore a fully 3D galaxy in search of adventure. You can discover new locations, trade with aliens, combat with players and go on quests in search of fame, fortune or to become the ultimate villain. We have tried to keep the interface simple and provide multiple ways to control the game (keyboard/mouse or voice). While online you can team up with other players through our chat capability and work together to create an unstoppable force. 2. What type of application is it? It is a suite of programs that combine to form an online multiplayer game. There is a WPF client which uses 2D and 3D presentation for game play and communicates with the server by using WCF. The server is essentially a set of WCF services with a SQL 2005 back end. Together with WF they provide the game state and logic. The administrative tool uses WPF for content creation and general game management. We have also provided a custom sidebar gadget that reads the game’s RSS news feed. (This is an optional component.) Codename: Empyrean: Codename: Empyrean 3. Who is the target audience? Anyone interested in playing a fun online game in a persistent universe that does not want to invest hours and hours in the experience. Empyrean is intended to be played less than 20 minutes a day. 4. What is the target industry? PC Gaming andamp; Entertainment. (Maybe even Xbox Live one day when XNA Studio is a reality. ) 5. What problem(s) does your App solve for its users? The problem started as a personal problem. Many space trade/exploration games, while having beautiful graphics and marvelous physics engines, were simply not fun. At one point, myself and a group of friends stopped playing some current popular releases in order to play an old BBS space trading game over telnet. At that point, I knew there was a problem to be solved. We wanted to build a game that was fun and did not require a large time investment from the player. Codename: Empyrean: Codename: Empyrean 6. Describe a situation in which your App would be useful. When you only have 10 minutes of free time to play a game and/or when you want to have an enjoyable gaming experience with some friends (and don’t want to have to bother with getting everyone online at the same time.) The game is also of use to those who would like to create their own games. The admin tool allows those hosting the game server to create new races, starships, NPCs, quests, and so on, and thus create an entirely unique universe. The mood we have chosen for our first version is whimsical, however anyone hosting the game could completely change this by using our tool to edit/add content as they see fit. 7. What system requirements are necessary to run your app? Windows XP, Vista, or Server 2003 with the .NET 3.0 runtime installed. The game client and the admin client are intended to run on Windows Vista or Windows XP (with .NET 3.0). Both require connectivity to the game server. The game server is intended to run on Windows Server 2003 (with .NET 3.0) and SQL Server 2005. The optional side bar gadget is intended to run on Windows Vista. Codename: Empyrean: Codename: Empyrean 8. Which Windows Vista functions does your app use? WPF, WCF, WF, Sidebar and Speech Recognition. WPF is used by both the game client and the administration client. The game client uses both 2D and 3D aspects of WPF. It can be controlled with the keyboard and mouse or with voice commands. Communication between clients and server is handled by WCF, and likewise the RSS feed for the Sidebar gadget is provided through WCF. Finally, and this is something we are really excited about, the AI engine for the game is based upon WF. This allows for easy extension of the AI using custom activities. A quest builder has also been built on top of WF to give administrators the ability to create custom 'mini-games' for players. Both the building of AI and quests is supported by a custom re-hosting of the WF Designer and a set of custom activities. 9. What additional technology, if any, does your app use? Content for the game was created with Expression Interactive Designer, Expression Graphics Designer, Fireworks, ZAM3D and Blender. Additionally, all data access is handled by our custom built DAL. The DAL is an O/RM that is plug and play and supports such features as lazy-loading, inheritance and a query language. Codename: Empyrean: 10. Does your app have an installation routine? We use ClickOnce for both the game client and the administration client installation. The server setup uses an .msi file. The Sidebar gadget works, well, like a Sidebar gadget. 11. Did you document your coding process? We did a small amount along the way, but as the deadline approached there was not ample time to both document our process and finish coding. 12. Is your app web-enabled? Yes. We are using WCF to enable duplex messaging between the game clients and the server. Also, the server publishes an RSS feed for each user which yields information about what has happened to that user’s character in the game world. In this way a character can be up to date on game events while they are not playing. 13. If you make it to the final round, may we feature screen shots of your app in an online Code Master Showcase? Yes! Codename: Empyrean Slide8: ADMIN TOOL On the left is a tree view displaying all of the game’s content. Using context menus (shown) and the main menu, an admin can create or edit content as well as manage a game in progress. In the center panel we see the designer for an NPC’s AI. We are using a custom re-hosting of the WF designer to create ‘Behavioral Patterns’ for the game’s NPCs. A similar designer can be used to create quests as well. Slide9: GALAXY MAP At the top of the screen is basic status information for a character (name, number of turns, money, and location). The focus of the UI is a 3D star map. The player can rotate and tilt the map using the controls at the bottom. He can click a star to see details and travel to the location. Also, he can travel by typing the star’s name or location in the search box at he bottom. WIDGET When a player is offline, he can receive notification of game events through a custom sidebar widget. Slide10: TRADE STATION During the course of a game, a player may want to buy or sell goods with an NPC. At a trade station he can view the items that are for sale. A rotating 3D representation of each item along with other important details is available at the top of the screen. On the bottom of the screen the player can see a portrait of the merchant along with their station. Using the slider to his right the player can negotiate a special bargain rate with the merchant. When the player is satisfied, he can enter the desired quantity and make his purchase.