News Archive
04:25 01 Jan 2010Happy New Year!
We are welcoming 2010 with our usual bright-eyed optimism and good cheer. Did you know that SRA officially 'spans' two decades now? Reflecting on the last 12 months, we do see a disheartening standstill in some areas of the project. Facing hard facts, I personally must admit that my flagging time in the project has cost our production dearly; however, I would rather such facts hit the reader as a rallying cry to re-double efforts rather than a lament of better days.
I assure you that the best days are ahead. We will continue to make more fun, more game, and more more replies to posts reassuring us of what a good idea this is (truly, if we have mastered making one commodity, it is agreement with like-minded Shadowrunners). In the next 12 months, we should hope to materialize a game, not just a tool, not just code, but a GAME. It doesn't have to be a four letter word.
15:27 26 Nov 2009
SRA Now on Facebook!
The Shadowrun: Awakened Project is now on Facebook:
http://www.facebook.com/#/pages/Shadowrun-Awakened-MMORPG/196784319928?ref=nf
Come be our fan and get instant updates and announcements. Connect with other Shadowrunners and see the project take shape in an open forum.
03:46 20 Nov 2009
400
In the month of November, we crossed the 400 threshold for registered forum members. Our rate of accumulating forum members has largely flat in 2009, with a notable spikes every time we have a big PR push. At this rate, we might break 500 in the first half of 2010. Of course, progress on the project is the only factor likely to enhance our rate of accumulating members.
14:18 09 Aug 2009
Progress Report, July 2009
State of the Art
Model Viewer Enhancements
Several features were successfully added to the Model Viewer in the month of July, including support for previewing materials and improved support for dynamic materials. Development continues on the material wizard which will enable artists to create OGRE material scripts using a simple interface.
Python Integration
Embedding Python into the server and client application will enable storytelling, NPC behavior, sound, and animation to be customized. The initial features incorporating Boost's implementation of Python integration with a C++ application was added in July, creating an example of the Awakened Engine interacting with Python scripting.
Where to from here?
Finish the Material Wizard
As it is critical to building a complete assets pipeline for the project, the material wizard must be completed. Work on it will continue through August, hopefully fulfilling the needs of the assets department as intended.
20:54 10 Jul 2009
Progress Report, June 2009
State of the Art
Modeling Demo Video
Banditkills produced a short 30 second video cobbling together our current building assets and offering a taste of downtown Seattle. The video is available on the introduction page. Bandit has continued to produce high quality models that will eventually be added to an ever growing catalog of assets.
The Return
After another significant hiatus, eralston returned to the codebase (relocated and ready). The character control system experienced significant improvement. Before adding too many features to the logic layer, Banditkills and eralston worked out a short roadmap for immediate model viewer improvements. It lays out the groundwork to do the following:
- Add support for previewing OGRE materials
- Add support for creating OGRE material files
- Add support for importing from Blender exported .mesh.xml files
- Improve installer reliability
Where to from here?
New Models
Already in July new models have been produced by Bandit. The modeling team should see a good productivity increase with the availability of an enhanced Model Viewer application. This will drive further results--the goal for everyone.
20:58 31 May 2009
Preview video
In the end, I draw a line about quality and length of preview video. Taking a massive 5 hours to render a 29 second video, makes you want to purchase a second computer just for rending time. 
I hope you enjoy it and it inspires, you can view it here:
http://awakenedmmo.org/overview.php
14:23 28 May 2009
Progress Report: April & May 2009
With our major driving force currently out of the picture. Things on the project front have slowed some what. We miss your lead programmer and wish for his speedy return.
During April, I have been working on an animation process, for a flash video. A preview will be available upon request.
What to help make this video better? Contact me and offer your help.
14:06 24 Apr 2009
300!
This week the project broke 300 board members. This last 100 required only 6 months to attract, compared to almost 1 year exactly to go from 100 to 200. That is a very positive sign of growth and ripe opportunity for further quotation from the manliest movie ever made...
Then we will fight in the shade.
13:15 09 Apr 2009
Progress Report: March 2009
State of the Art
Seattle Footprint
Our assets manager, Banditkills, has finished the high-level map of Seattle, the locale in which Shadowrun: Awakened will initially take place. It serves as a footprint for visualizing the locations of missions and key landmarks and will be expanded to allow it to represent the topography of the area as a heightmap. Eventually it will be filled in with 3D models of buildings and will be merged with the contents of a custom Google map eralston has been working on for integration into the game as an interactive map and the website as an imagemap linking to description pages for the different areas shown on it.
Press Tour
Curtis888 has turned over a few stones in the internet and Dolphinlover has resumed advertising on the Sourceforge site. These are both general efforts to add visibility and create impressions, along with an attempt to attract more higher-level leadership to the project. Continuing to advertise the project to prospective members is critical to our success and such efforts should be infinitely praised as continuing to pump the blood of the project (the blood of hapless volunteers in case that turn of phrase wasn't clear enough for ya).
ThreadStart
The struggle with threads has finally ended for the near-term. Test applications running many threads for manipulations like adding, removing, and moving Physics objects and 3D models are running crash-free. The fundamentals were finally worked such that swapping technologies should be relatively pain free in the future if we do shift over to Thread Building Blocks or another technology.
ThreadSleep
Our lead developer, eralston, spent most of March acquiring a new job, preparing for a baby, and finding & buying a house. It seems his hiatus from the project has already begun, indicated by his laziness producing progress reports, and it's all downhill from here. Hopefully, he will be able to return by the time summer is in full force. Until then, please contact him only for light administrative tasks or if you need a cantankerous comment regarding new ideas.
Where to from here?
Recruitment
The project is always undergoing renewal and it's no more true than in the coming months. Colleges start letting out in May and we need to be there to fill in the time. It's our best opportunity to attract skilled, semi-skilled, or at least very enthusiastic idle hands. We need to ensure the recruitment material for the project is in order and we need to again take the internet. Given the number of people on the forums, a direct newsletter recruitment campaign may be in order. If you have a friend with upcoming free time, just e-mail them a link to the project and suggest how much fun they could have.
Keeping the Faith
There is already an 8.7 million line monument to our accomplishments in subversion; however, that isn't what we all came to play. In the absence of eralston, the project will have to keep focused and step up. Active developers may still submit patches to eralston or request direct access to SVN from other project admins, such as Dolphinlover.
23:33 05 Mar 2009
Progress Report: February 2009
State of the Art
New Logo
Dooley, while attempting to do a good deed for the Content Editor, accidentally created a new logo for the project. Visible at the top of this very page, you can see it features the 4th edition Shadowrun "S" embellished to include the full project title and the URL. There were also some small website layout changes following its inclusion made by Dolphinlover.
Writing on the Wall
February saw a push to fill out the mechanics area of the wiki and work on a summary document for the project. Work continues, but this is a good opportunity for writers to re-familiarize themselves with the details and wrap up a document that could one day be used to "sell" the idea to a wider audience.
Better Know a Project
This month, the management team performed a retrospective of the project's accomplishments, attempting to collect objective metrics. The project has been connected to the site Ohloh, which analyzed our subversion repository and has produced statistics for us over our history of 20 months of coding.
One of the metrics offered by Ohloh is a dollar approximation of the project's worth, using the project's lines of code as an input. Because of our heavy use of the third-party libraries, Ohloh see over 580,000 lines of code in the project, which it calculates at a worth of 8.7 Million dollars. while we've often said our experience in the project is priceless, we felt slightly overrated by the calculator. We enlisted the help of the CLOC line counting utility and measured our "real" line count in the project, including the old C# engine, to be more than 71,000 lines. Entering that into a stand-alone cost calculator, we find the cost for just our lines of code would be $1,176,766. That number should still be taken with an asteroid of salt.
In other areas of the project, we saw:
- There are 264 activated members on the forums
- There have been over 5,800 forum posts
- There are more than 150 wiki pages
- There are over 3,000 wiki edits
- There are 93 pictures on the SRA website
- The project has been coding for 1 year and 8 months
- There have been almost 400 commits to the code repository
- There have been 5 contributors who have submitted directly to the code repository
We may tally these statistics from time-to-time to objectively track growth in the project, so see what you can do to make them bigger!
Getting a Boost
This month, in order to expand the features available in the core engine, the Boost C++ Library was added to the project's set of third-party libraries. Initially added for threading, this library will also likely supply Finite-State Machines for AI, Graphs for pathfinding, and accumulators for gathering diagnostic statistics while applications implemented by the engine are running. The 1.37 version is currently used by the project since Windows binaries were easiest to acquire for that version; however, we will soon upgrade to 1.38.
One of the first applications of this was the creation of a performance timing class for tracking min, max, and average time spent in certain functions. This offers developers tools for testing performance optimization. Also, a multi-threaded timer class was created for management of timed events. This will be the backbone of periodic callbacks in the server, performing duties such as sending out physics snapshots.
Someone to really dive into Boost and become an expert, seeing exactly where the library can be leveraged to greatest advantage, would be very welcome.
Better than Boost?
While initially researching multi-threading, the Intel Threading Building Blocks library was found by the project. This public license library is produced by Intel and offers a variety of parallel programming tools. These include support for parallel loops (parallel_for, parallel_do, etc), mutexes, high precision timing, and a task-based threading pattern. It also include "concurrent containers" which are some of the STL containers, such as a list or hash, that can have their memory allocated in a thread-safe manner, meaning you don't need to lock the container as it is being used for most operations. Boost has also recently added a basic wrapper for multi-platform threads. While initial work was to include Boost threading, it may quickly be supplanted by TBB.
The effort to use TBB in place of Boost needs an owner. Plus, the task-based model of TBB opens a new window for server-side work. Finding a guru to take over this area would be ideal.
Where to from here?
Better Sound
Our sound expert, rozz, is redesigning the sound functionality for superior maintainability and to make sound occlusion easier. Sound occlusion will cause realistic dampening and echo effects based on the environment. This will integrate with our existing physics simulation features.
Snakes on a Program
Camilingus is attempting to decipher embedding Python. Many programmers have attempted to summit this mountain and none are here today. It was nice knowing him...
Rolling Digital Dice
The ongoing logic library is able to simulate some basics of characters and is ready to execute all the thinking required by the mechanics of combat. The foray into Boost threading was actually spawned from needing a periodic timer. The timer will be used to flesh out this functionality and realize our first working model of action in Shadowrun.
22:40 03 Feb 2009
Progress Report: January 2009
State of the Art
The Awakened project is 25 members stronger in January, with yet another productive month.
Physics Foundation
While basic collision and visual integration has been functional for months, some of the physics features need for game logic were not implemented yet. This included collision filtering, being able to cause some objects to not collide with others. Raycasting through a scene to check shapes along a single line-of-sight. Querying all shapes in a sphere. All of these features existed in PhysX and needed only be harnessed by our simulation layer, then made available to the logic layer.
Physics Events and Sound
One of our new developers, rozz1334, was able to add collision detection in the logic layer and integrate it with the sound system. This feature can be harness to play sounds when objects strike other objects, such as a box hitting the ground. It allows for full 3D sound.
Physics Integration with Logic
In order to provide abstraction between the PhysX scene and the logic layer's concept of terrain, the IEnvironment abstract base class was created. This provides a series of methods, called with other abstract classes in the logic layer, that pull information from the scene using Shadowrun concepts. Most importantly, this includes querying for cover and invisibility what in combat and sneaking. An implementation of the IEnvironment base class, and supporting classes, was built upon the physics foundation described above. While not yet complete, the progress is enough to portray the very basics of sneaking in a demo application.
Where to from here?
At best, we are still in the middle of the current feature area, meaning we're still slogging through.
Logic Continues
In short, logic is not done. It represents many interconnected classes, so it remains the primary objective of the development team. Our immediate goal is to produce a demo application that shows off the basics of sneaking and combat. This will most likely become a video, not a released product. The resulting code will form the seed for the client application of Shadowrun: Arena Brawl (http://awakenedmmo.org/wiki/Shadowrun_Arena_Brawl).
Modeling Items
Dooley has started modeling items appearing on the Asset checklist (http://awakenedmmo.org/wiki/Asset_Checklist). His work is piling up on the forums. Come by and comment.
19:30 04 Jan 2009
Progress Report: 2008
State of the Art
We have ended our second year a little less managed and a little wiser. Here is our year in review:
March - Realignment
In developing the game, we were looking to the long-term, where we would end up with a complete system using the best of the third party software available. After working for some time with the C# programming language and the XNA development platform, we decided to return to our roots in March and use C++ instead. Doing so allowed us to integrate features without being restricted to those present in the XNA platform and opened up further possibilities for third party solutions to our needs.
In searching for a replacement graphics engine, we heeded advice previously given to the project and looked at OGRE. After some physics testing using NVIDIA's PhysX directly (instead of indirectly under C#) we saw that there was easily a 10-fold physics performance increase! That and the many features in OGRE we could capitalize on gave us great confidence in our decision to put in the time necessary to create a game worthy of the Shadowrun name.
A game should look good and sound good, so we picked up the sound system that has been used to great success in popular commercial games such as World of Warcraft and BioShock, FMOD.
With the implementation of graphics, physics, and sound, we were ready to break new ground in the months following June.
July - One Save to Rule Them All
A common problem in software is saving information into a file, often referred to as "serialization". It was a necessity for Shadowrun: Awakened to create its own save format for PhysX physics and OGRE graphics in a single file. This would be the cornerstone for loading levels in the game, saving snapshots on the server to send out to players, and many other situations where it would lead to an improved user experience. This custom serialization layer was polished through the end of July.
August - The Content Editor
Armed with a way to save levels, we needed a way to create them. In August, work began on a level editor, a form-based application that would allow users to import game assets and manipulate them in the game engine. This was the first bit of software people not writing code could work with, as all previous work laid the groundwork for this milestone. The time it took to show something for our efforts was time well invested since the editor began to take shape very quickly.
The open source edition of the QT widgets library was used to create the application's graphical user interface. This, integrated with PhysX physics simulation and OGRE graphics visualization allowed us to present a full 3D scene and physics properties for objects within one unified program. All 3D models and lights can be manipulated in a fully-shadowed scene and all physics can be previewed instantly with the editor's live simulation mode. There's even undo/redo functionality! See all of this in action here under the heading "Tutorial Videos". The first internal release was made available at the end of October and work continues on perfecting the installation as well as adding further features. With a powerful content editor, the world of Shadowrun: Awakened will be limited only by the imagination.
November - The Game Client
After the initial deployment of the editor, we turned our attention to the next logical step of creating a client application that will load and run levels created by the editor. Since all of the simulation and graphics technology already existed, the focus was on putting in place logic that will govern the world's activities and adhere to the rules of the Shadowrun universe. The Shadowrun Arena Brawl milestone is the current target, so the present logic is sufficient to describe the rules implemented by the prototype. For instance, rules concerning socializing and character/world persistence are absent while combat and stealth are in.
Development of this aspect of the game was still in progress at the end of 2008. Ultimately, these generalized logic rules will combine with a scripting language, most likely Python, allowing designers to use the content editor described above to fashion unique situations and missions for players to partake in. As of 2008, rules were in place describing everything from Shadowrun Edition 4 weaponry to attack and damage resolution.
Where to from here?
Getting Our Game On
The priority for the foreseeable future is to complete the logic layer. At that point it ought to contain everything necessary for Shadowrun: Arena Brawl with the exception of networking. Once completed, it should be sufficient to create a basic single-player tutorial of game mechanics, revitalizing the community as interested players see their patience and dedication rewarded with a proof of concept.
A New Era
The project owes much gratitude to the current lead software developer eralston (Erik) for his efforts so far in making the prospect of a Shadowrun MMORPG a reality. Unfortunately, a growing family will preclude him from serving as the primary developer for the project around the end of April. He will finalize and document ongoing development in March and hand over the reins at that time. After May, eralston may be able to continue contributing, but only at a fraction of current productivity.
This means it is important for us to find a new lead developer with the same passion eralston has for Shadowrun or risk suffering an extended period of stagnation. A potential replacement will need to be willing to collaborate with eralston and invest the time needed to gain a handle on the large but sturdy foundation laid down up to this point. We need someone to lead Shadowrun: Awakened into the future.
Dedicated leaders, committed developers, and creative designers will all ensure that the year 2009 will be a period of revitalization and achievement for the project. The fans of Shadowrun are counting on us to make their dreams a reality.
02:13 02 Nov 2008
Progress Report: October 2008
State of the Art
The project has achieved an important intermediate milestone: its first installable, testable software product.
First Internal Release
Having achieved a minimum feature set for the level editor, an installer was created using Nullsoft Scriptable Install System. This packaged the Model Viewer and SraEditor application, along with some sample OGRE assets. This single file executable is available for interested testers. At the moment, this release is considered "internal". While it would be great to get as many hands on the product as possible, it is nowhere near the final product and presenting it to the public would be a recipe for misunderstanding.
As members of the forums or an interested party to the project, anyone reading this notification is invited to participate in the project by becoming a tester. If you have not already, you should follow the tutorial concerning how to get started in the project. After introducing yourself on the boards, you will be supplied information on how to download the test installer and dive into finding the problems.
Tutorial Videos
Videos explaining how to use the Model Viewer and Level Editor have been placed on the main site's download page. They were created as a direct and informal means of documenting the current software product. They are intended for anyone wishing to perform testing or just get acquainted with the software.
Where to from here?
Iterate, Iterate, Iterate
As with all early software, the flaws with the software are likely to not just be implementation mistakes, but truly design issues. The software was created as quickly as possible to enable evaluation of its ideas. Things are liable to change going into the future as we refine the design, adding and subtracting to increase usability.
Scripting
A new member, Eggmunkee, is experimenting with scripting languages. Currently, Lua and Python are being investigated. A basic test scenario has been run in Lua, yielding performance results. Python is next.
20:18 18 Oct 2008
Project forum hits 200.
Great news as we reach 200 registered members on our forums. We will soon be passing an internal release of the editor. This means real development of assets and movement towards the Arena testing stage. What a great time to be on the project and developing the product.
17:45 02 Oct 2008
Progress Report: September 2008
State of the Art
The project rebuild in C++ has gained a lot of momentum. After a speedy reclamation of earlier progress, we have well surpassed the previous engine. Instead of working on libraries and theories, the project has turned a corner into developing actual prototype product.
Model Viewer
A small standalone application has been created for preview of OGRE .mesh models. This was requested by our Assets Manager Stephen (AKA Banditkills) and allows modelers to easily preview exported work from modeling applications, such as Blender. It will be available for download in the coming weeks. This will be our first application to test our Quality Assurance process.
Content Tool
The official Shadowrun: Awakened Content Tool is currently under construction by Lead Software Developer Erik (AKA eralston). Its currently implemented features include point-and-click object placement, light creation and manipulation, visual manipulation of Physics properties, in-editor simulation, and saving/loading to file. It supports importing OGRE .mesh models. The editor combines the 3D rendering technology of OGRE and the simulation technology of PhysX into a single application utilizing the QT widgets library (http://awakenedmmo.org/wiki/QT). This cross-platform UI library will maintain our current commitment to multi-platform support, including Windows and Linux. Screenshots of the editor in action are available in our gallery (http://awakenedmmo.org/gallery/index.php?c=3).
Where to from here?
Quality Assurance
With the joys of creating product come the obligation of testing it. Both the Model Viewer and Content Tool will need black box testing in the coming month, meaning we must assemble a small group of detail oriented testers. While this is not the most glamorous part of open source development, it certainly carries its own excitement. The sooner the product is tested, the sooner it can be released. Internal releases will be used to distribute working executables to testers, allowing them to write up bugs for the first time. Look for the first internal releases to happen in October. Current members will be given the task of writing our first officially tracked bugs and fixing them. Details on our planned release can be found on the wiki here: http://awakenedmmo.org/wiki/Releasing_an_internal_build
Release?
Work on the content tool is progressing so well, there is already talk of our first release. The prospective release would be an open review of the current design and hopefully satisfying proof of progress in the project. It will include the model viewer and prototype content tool. It will be deployed from an installer, not just source code and will include installation of prerequisite software, such as PhysX drivers. It is likely to be Windows only initially, but Linux support will be forthcoming. The first distribution available on the main site (and sourceforge) will likely be in November.
Linux Support
A linux developer, Ulrich (AKA Bruzee), has been diligently submitting patches to get the Awakened Engine running under Linux. The conversion is progressing well, penguins out there should already be able to hear sounds, watch rendering, and even simulate physics using the current code.
01:17 26 Jul 2008
Progress Report: July 2008
The game has recently undergone some changes under the hood. If you are familiar with programming at all, you may be interested to know that the lead software developer decided to change from the programming language C# to C++ in order to gain greater performance in the final product and speed up development (ironic considering the change eliminates a lot of work already done so far). However, the project will be better in the long-run and it is better to do this now than later. Here are the lead software developer Erik's words on this:
When 2008 rolled around, we realized we were trapping ourselves in an interminable struggle to support not only a game, but also a complete engine. With limited resources, this would be unwise. We re-discovered our "rapid development" approach by shifting our stance back toward finding mature third party components that could cover graphics. Unfortunately, this brought us back to C++. While initially skeptical, when we found the PhysX API runs about 10 times faster under C++, it became a no-brainer that the server could definitely benefit from authoring in C++.
The PhysX he refers to is the part of the game that will handle the physics, the destruction of objects and behavior of items in motion. Because an outside party has written this code and distributes it to developers, it will save us time over writing it ourselves. Plus, Nvidia's new video cards will be able to increase your physics performance in the game.
Speaking of saving time by using outside help, the graphics in the game will be largely supported by the third-party library called OGRE. While the name implies that it must be as ugly as an ogre, it will actually make the game look great and allow us to focus on the game's mechanics instead of the basic building blocks needed to create visuals. Erik's words again:
In the early days of the project, when we were in [Crystal Space], people kept recommending OGRE. At the time, we dismissed it as CS had so many more features and it was never revisited before or during the change to C. So, here we were back in C++ and looking for a graphics engine. We looked up OGRE and found it to be very powerful. We quickly kissed and made up with it, adopting it as our visualization engine for the time being.
So, we're taking care of the physics and the graphics. What about sound? That too. We've got a fresh new developer on the team, JBudOne, who has done a great job on integrating a third-party sound package into the code called FMOD. Erik says it well:
Since OGRE does not include a sound system, we had to resort to a third party in order to get it. After some googling, we found some candidates. When JBudOne showed up to the project, his first true task to bring honor to his name was integration of FMOD. As it turns out, they lived up to their "easy and intuitive" promise and we were able to muster a basic 3D sound system packaged into one class. FMOD also includes support for complexities such as sound occlusion (simulating sound with respect to 3D surroundings, not just distance) which will come later.
While we're talking about new developers, we'd like to give a shout-out to Bruzee, who is hard at work on ensuring that Shadowrun: Awakened has a good chance of running on the computers of those of you running the Linux operating system instead of Windows.
The beauty of open source is that we can share and share alike and this project is getting help from volunteers both indirectly through shared code and directly with donated time. We're excited with the progress we are making and hopeful for the future.
Thanks for your patience and dedication,
The Shadowrun: Awakened Team
17:56 29 Mar 2008
Development Reboot
For better or worse, the old XNA baseline has been moved (now named "SRA_XNA") and a new codebase using C++, OGRE, and PhysX has been added in its former location ("SRA_Development").
At the moment, I can tell you this:
The new SRA project is a Visual Studio 8 (2005) project, able to be used in all editions of 2005 (no XNA-edition crap). To open it in 2008, you will need to convert into 2008 (just like converting projects from 2003 to 2005). There are tutorials in place for getting started with Ogre & PhysX (physX having been updated for the C++ SDK). I encourage even non-devs to check-out the new projects and help flag the kinks (Chris, I'm looking at you).
There are a few items of interest:
- AE_Simulation Library - This is a project that creates a static lib. This harnesses PhysX with 2 basic classes: Simulation (analogous to scene) and PhysicalObject (analogous to Actor). They allow direct access to all PhysX components and are really just foundation for PhysX to OGRE integration.
- AE - This is a project that creates a static lib. This contains a handful of classes that allow merging between OGRE and PhysX. Most important are Scene (child class of Simulation) and DrawnObject (child class of PhysicalObject) which provide the actual cohesion for PhysX, including a means of converting from NxActors to their corresponding AE engine objects, which was problematic in the XNA engine. This library also includes some useful input setup
- PhysX2Ogre - This is a small test application that shows a PhysX scene visualized via OGRE. This is a refinement on the application that provided the initial screenshot of a thousand normal-mapped statues bouncing on a floor.
- Ogre Tools - This directory (SRA_Development\Ogre Tools) contains both the python plug-in for Belender AND the Ogre XML to .mesh exporter command-line tool discussed in the previous thread. I will write a tutorial on using these at a later time, along with a model viewer
At the moment, the project is 2 small libraries and 1 test application. A much smaller seed than last time. However, I will reiterate that the libraries hook into OGRE, meaning that anything you can do in an Ogre application can currently be done in our engine (pretty much verbatim from any sample). This means all visual features (lights, shadows, animation, particles) are technically checked off in the current engine.
I have already updated some documentation on the wiki and will continue through this weekend. I will add Doxygen compatible comments to the code, etc, along with really kick off with creating samples and expanding the libraries (coding with source control to back me up always makes me more comfortable). Thinking realistically, it will probably be another week until the stuff in source control becomes useful to other programmers, but I would definitely mark today as the official reboot of development back into C++.
02:06 03 Jan 2008
Progress Report: 2007
Introduction
2007 marks the first year of significant progress for Shadowrun: Awakened. Let's see how far we've come and far we have yet to go.
State-of-the-Art 2007
Near the beginning of 2007, Shadowrun: Awakened started down on a long path toward creating an immersive MMORPG based in 2070 Seattle. Through the year of 2007, we gathered a core group of developers, created a set of game mechanics, and reached our first major milestone in producing a working game.
We created a web presence through a website, forums, MySpace page (http://www.myspace.com/awakenedmmo), and our online collaboration infrastructure. As of December 31st, 2007, we have 124 forums members, 27 MySpace Friends, and maintained around a 90% activity percentile on Sourceforge.Net. In less than one full year, the project has grown from an idea into a movement (by reading this message, you are a part of it!).
Awakened Engine Alpha
Starting in July, after a couple changes of direction, construction on game engine started using our current palette of technologies. After 6 months, we now have a game engine written in C# that produces 2D and 3D graphics via Microsoft XNA, simulates physics & collisions via Ageia PhysX, networks utilizing Microsoft .Net Remoting, and collaborates with databases utilizing Castle Active Record. The engine itself is more than capable of simulating and visualizing simple games, but it has far further to go until it is ready for the world of Shadowrun.
Where to in 2008?
The year of 2008 will be about crystallizing the collective goals of the project and churning out real demonstrations of our visions. By the end of this year, we hope to have a complete engine and a working, small-scale, demonstration of our game.
Awakened Engine v1.0
The current game engine code achieves all of the basic components needed for a game, but would produce a game that lacks the visual appeal of modern games. Also, the complexity of SRA's game mechanics demand a complicated scripting system that is yet to be realized. Last, but not least, the collection of specialized tools necessary for creating a game from content will be created. The core goal for game engine in 2008 is to infuse the system with equal parts beauty and brains, preparing for its duties as the platform for Seattle 2070.
Shadowrun: Arena Brawl
As the game engine matures, its test bed will move from several small unit tests toward prototypes of each application. The culmination of these prototypes will be a multiplayer game modeled after Shadowrun's in-universe game ?Urban Brawl?. Our version will be played in a stadium, but will be no less deadly. The game will implement many of the action-based foundational features of the final MMO, with the advantage of being very small scale. Also, it will feature models, music, sound, and animations representative of the final product. For more information on ?Shadowrun: Arena Brawl?, look on the wiki here: http://awakenedmmo.org/wiki/Shadowrun_Arena_Brawl.
Organizational Goals for 2008
For the year 2008, the project of Shadowrun: Awakened would like to realize some goals beyond just code and content. We are a living, breathing organization that must always be growing and improving. Here?s how:
- We were able to accumulate 125 members (thanks to "maluis", our first member for 2008) on our forums in 10 months. With another 12, and the exponential possibilities of the organization?s growth, we hope the year-end review for 2008 will go out to 300 people (or more!).
- The success of most games hinge upon the marketing efforts make before the game is release. To grow our base of interested would-be players, we wish to attract a total of 100 MySpace friends.
- While we have a skilled group of writers and artists on the project, we hope to find dedicated individuals to take over the posts of "Lead Writer" and "Lead Content Developer" to guide the words and art of SRA. Those filling the parts need both experience and passion for Shadowrun, along with some steady free time, to really make our goals in these areas a reality.
Thank you,
The Shadowrun Awakened Team
13:14 03 Dec 2007
Progress Report: November 2007
Introduction
November, 2007, after 4 months dedicated to C# & XNA, we are nearing our first major milestone.
State-of-the-Art
Server Reaches Game Engine Alpha!
Near the beginning of the month, the first network synchronized simulation was demonstrated using the Awakened Engine (http://awakenedmmo.org/gallery/view.php?img=90). This system was refined into several classes that provide the core functionality for the server. This includes managing a ?Zone? (a single, discrete area of gameplay), allowing players to enter and exit simulation of that zone, and very basic user management. All totaled, server has working library classes for networking, data, and simulation. Once its documentation is complete, we will be ready to start building capabilities for AI & Scripting, plus game mechanics.
Client Nears Game Engine Alpha!
Once server met its GEA requirements, attention turned back to client capabilities. The Graphical User Interface system was fixed and extended into its complete, but unpolished form (perfect for Alpha). Generic post-processing features were added (http://awakenedmmo.org/gallery/view.php?img=91). The core client-side classes were all modified to comply with the XNA Game Component model, allowing them to be used more efficiently and in any XNA application. To unify the system, the ?AE.Game? class was created. This single class is the culmination of our work in 2D and 3D XNA graphics, XACT sound, and PhysX simulation.
The only feature remaining for our system continues to be animation. However, a working example of the XNA Animation Component Library, our chosen animation solution, has been created and will soon be utilized as the foundation for incorporating XNACL. After the animation feature is completed, the client code will have reached the Game Engine Alpha milestone.
Game Engine named ?Awakened Engine?
Given all of the progress on the core technology, the game engine has really taken to life. Wanting to distinguish it from the game code, there was a short naming discussion before settling on the straightforward moniker ?Awakened Engine?. All core features are now that of the ?Awakened Engine?, an XNA-based game engine written in C#. The Game Engine documentation (http://awakenedmmo.org/wiki/Game_Engine) is being slowly updated to recognize the new name.
Where to from Here?
Achieving Alpha
The Game Engine Alpha milestone is planned to be achieved by January 1st, 2008; the December, 2007 progress report will contain an official announcement. Achievement of the milestone means we have achieved a working platform on which we can build the game. We will begin working on features relevant to the game and start work on Alpha version of each application (client, server, content tools, and server tools).
In addition to just working code, the GEA milestone also requires that the entirety of the code is documented at a high-level on the wiki and at a low-level in the code comments. After coding is finished, the rest of December will be about editing comments, finalizing a set of unit tests (possible work with NUnit here), and building a complete guide to using the engine on the wiki.
The transition to our next phase of construction will be outlined beginning in the start of January. A ?roadmap? from the software?s current state to the next milestone will be published in the wiki and much talked about in the December progress report. This guide will take us from the close of 2007 into the milestones yet to be achieved in 2008.
Thank you,
The Shadowrun Awakened Team
20:36 04 Nov 2007
Progress Report: October 2007
Introduction
This is the Shadowrun: Awakened monthly progress report for the month of October, 2007. Another month gone, any progress?
State-of-the-Art
100 Members
On October 18th, our forum population finally broke 100!
MySpace The Place For Shadowrunners & Website
There was a major addition to our web presence that occurred at the beginning of the month. We set up our MySpace page, an
avenue of communication to the masses to keep people informed of our progress and recruit testers and players when the appropriate time comes around. As of now it includes 19 friends. Concept art, models, music, and a brief description of the project all serve to entice users quickly and stir up interest. This medium also allows us to exploit the process known as viral marketing where friends tell their friends and so on.
In addition, the main page of the website now has three random samples from each of our major image galleries: concept art, 3D models,
and screenshots. These serve to highlight our artists' work and balance the text on the page with additional visuals.
Server Development
As we approach the Game Engine Alpha milestone we find that client has met much of the criteria while server is lagging. We have refocused a new effort around integrating server with current work.
Castle Active Record was picked up for use as our database technology. It is an "object persistent" and "object-relational mapping" technology. What does that mean? It means that instances of objects in our system can be saved and loaded from the database automatically, based on the definition of the class and without any SQL work on our part.
An example of this system, "Test CAR" in the SVN demonstrates how Castle Active Record will be used.
Previously, the "Internet Communication Engine" was being utilized by our project for networking. Unfortunately, since our change to completely C in both server and client, the extra work required to move objects over ICE has problematic. Due to this, ICE is being dropped in favor of .Net Remoting for the short-term. In the future, we may change back to ICE or find a new solution when we reach a stage where performance is more important than development convenience.
We created 2 small "proof of concept" apps using .Net Remoting: "Test TicTacToe Client" and "Test TicTacToe Server". They utilize our new .Net Remoting layer.
SVN Makeover
There was a big overhaul to the solution and projects, unifying the naming of the namespaces, projects, and output libraries. This should make the code more organized.
Where to from here?
Server Still on the Move
Now that we have a functioning networking layer, server team will bring together a shared, real-time physics simulation in the month of November. This will be a PhysX scenes on one server and many clients that are synced using our "Commands & Snapshots" design (literature on this design will be placed on the wiki as it improves). A demonstration across the internet is planned for December or earlier.
Client Catching Up (?!)
Due to the shift in October to server, client progress has been poor. The client-side networking technology is solidified as a result of the server change and the client is an equal player in the server's shared simulation plans for the month of November. Still, there are specific client goals that need met.
The XNA Animation Component Library is being analyzed as this is being typed by a new member: Toffer.
Game Engine Alpha?
Once Toffer's rite of passage, adapting the animation library, is complete, the client program will have achieved the Game Engine Alpha milestone and will be a complete, though unpolished, single-player game engine.
Once server successfully syncs its simulation to other clients, server's GEA criteria is also complete. Both systems being at Alpha means we can start work on honing the system to not just play games, but to play a Shadowrun game (what will ultimately become Shadowrun: Awakened). A big step along this path is that the small unit test applications we have been creating will offer code to coalesce client, server, and content editor applications that begin to fulfill the requirements of the Alpha milestone, where coding our game mechanics and building a Shadowrun game really begin.
Other odds and ends
Winter Vacation
Dragonbrute (AKA Jonathon), the Lead Server Developer, is taking a vacation for the rest of 2007 to get out and live a little (And work a lot). In the mean time, eralston (AKA Erik) has been re-dubbed the "Lead Software Developer" will be keeping both client and server on course while Jonathon is away.
Also, Raven and GhostSoul are each taking winter-time breaks for various life living reasons (mostly school).
Thank you and see you next month,
The Shadowrun Awakened Team
