Archive for December, 2007

Asynchronous Resource Loading (multi-core)

December 31st, 2007 No comments

I’m thinking about adding support for streaming soon to GODZ. Being a multi-core engine, I can already stream content in another thread of course. For instance when the engine starts the render thread loops while the game thread handles loading the resources it needs (well it requests the Render thread to instantiate the object once the geometry data is loaded). The problem here- I want my Gameplay thread to focus on GAMEPLAY. It is okay the render pipeline handles creating my resources on the video card that cant be helped (directX is picky about requests coming to it from different threads). But Gameplay thread handling loading resources is Bad I have concluded. But at least I have some of this working.

Right now, Gameplay runs concurrently with Render thread. Game thread submits data for next thread.

So, if I want to stream content into the game I will have to—>

  • Let Gameplay thread run concurrently with this ResourceStream thread. Perhaps the Game thread will request all the content it needs, while the resourceStream thread runs concurrently in the background, grabbing required resources (load them from disk in the background). Like most game engines, GODZ has a Serialize() function that can be invoked on objects. The ResourceStream will handle all serialization in the background.
  • The Render thread will check for new resources being loaded up and attach those to the necessary gameplay objects as necessary (Ideally gameplay thread should only have an ID that references a render object but right now its a pointer, bad). This is where we might get a slight performance pause- because the renderer will need to process these requests right after it renders the frame. Recall, the DirectX9 API runs at its best when we are in single core mode on its end. So all calls to the API must be from the Render thread which owns the device. So this can’t be helped. Note- I have already done this entire step- the renderer already knows how to do its job actually. If I wanted to be smart about it, could split up the mesh creation steps across several frames (perhaps this is what most titles do).
  • Wonder if I will need to utilize a “Future” to store a reference to a resource (note)

Content Side Production:

  • Mapper can import a Level as usual but this level package will be serialized as a “Chunk”.
  • During runtime, ResourceStream saves entry for every object loaded. When we receive a request to load a new Chunk we do not just simply dump everything but rather check to see what entries already exist and only load missing resources.

Looking at the source code in my engine it appears I made some architectural errors (poor judgement). I have a global array that stores a pointer to all of my objects for garbage collection. This global array is accessed by any thread whenever a new game object is created. Luckily, the render pipeline never does this so I never had a data race occur. But once I split off streaming code into a seperate thread I’ll run into some issues. sigh….. Global data is such a no-no in multi-core programs. I never did get around to looking Thread local storage to ensure game data cannot be accessed by Render pipeline. Unfortunately, I also used the Singleton programming pattern- which is no good for a multi-core architecture. Need to move these singletons to the Thread local storage level if I want a clean architecture…

More musing on Skill-Based Roleplaying Games

December 31st, 2007 No comments

I’ve been sifting through all of Raph’s works on his site. Just got done reading his work on Do Levels Suck?

Anyway this post by Raph really caught my eye:

At this point, I prefer not having a skill cap. Instead, I’d prefer that you can master everything, but kind of like Guild Wars, can only take a given “load-out” with you when you go adventuring, probably curtailed based on limited equipment and inventory.

I just wrote about this topic a few days ago how a player can learn an infinite number of abilities but what makes combat simple for them is binding their abilities by a ‘constraint’. In EVE Online this is a ship. In FPS games the constraints may be your guns and current loadout. The player could literally have knowledge of thousands of skills such as dagger wielding, Tank driving, flying stealth bombers, etc but his current set of abilities are bound by the current constraints

 The advantage of this system is that we accomplish:

  • Interdependency. Players can possibly specialize in a specific loadout and become relied on for their current specialization
  • We achieve a bit of Tactical Transparency in both PVE/PVP. At the sametime, we can still have a bit of “Hidden Potential”
  • We achieve the benefits of “Classes” however we avoid the negatives (like being permenantly pigeon holed)
  • One character knows all- like we see in FPS games

Guild Wars sort of does all of this but the skills are permenantly unlocked per account for PVP characters

Logical Loot

December 31st, 2007 No comments

Just came across a good article about WYSIWYG Loot or what I sometimes call, “Logical Loot”. If you adore Sandbox games like me then also want certain things to make sense. Not everything, but certain things that can help immerse you into the world. Quite simply- I want to loot the items I see a creature wearing. For example, if I see an Orc wearing chainmail and wielding an axe I would like to be able to loot these items.

Other night was playing KUF: Circle of Doom on my xbox 360 and was disappointed yet another RPG followed tradition and used another illogical loot system. Sigh….

 One thing the article forgot to mention was list all the titles using Logical Loot. These titles are Titan Quest, Elder Scrolls Oblivion, Saga of Ryzom, EVE Online, Two Worlds, and Titan Quest. I love action RPGs so much I want to see more complexity and sandbox happening….

Kingdom Under Fire

December 30th, 2007 1 comment

KUF: Circle of Doom was just released on Xbox live. I’ll probably buy it. The demo is fun. It feels like  a typical korean RPG and it even blatantly feels very linear. Like, way more linear then Final Fantasy 12 so far. But what I like is the action and character control.

 The management of SP is interesting. The more you swing, the more you fatigue. Run out of SP and you cant even attack. Really brutal. Feels like an RPG jacked up on hardmode kinda. You might even venture into an area that has these monsters that wll drain all of your SP. Brutal. It’s a bit of overkill there.

It appears you grind up XP and when you level up you get more points you can distribute to your attributes. Too bad there is no mixture of skill-based elements. Reading the interviews it appears the developer wants to focus on getting more fans attracted to the KUF universe so they tried to keep level up fairly simple. The action is what appears to be a lot more complex however.

 Almost forgot- this title will be multiplayer! Yes I think up to 4 players will be allowed. Yay! So that alone should help make it worth purchasing. Below is a youtube movie of the multiplayer action on xbox live

Categories: Consoles, RPG Tags:

ZT Online

December 30th, 2007 No comments

Raph Koster just posted a link to an article on ZT Online which looks a little interesting. I like how they totally embraced the darkside heh.

Over at Raph’s site he has been covering RMT in really good detail. His views has been sparking a lot of controversy which is no surprise.

It’s unfortunate this game is not here in the US I’d probably like to try it.

Categories: General, MMO Tags:

I Am Legend (Halo 3 musings)

December 30th, 2007 No comments

My brother-in-law and I beat Halo 3’s “Legendary” difficulty mode over the holidays and were treated to a different ending and got some extra achievements. Man, I don’t think I’ve ever beaten a game this hard. I mean, we would practically get one shot half the time. And boy did I love it. The only thing that got annoying though was that it seemed to take a 1,000 bullets to bring down an enemy and yet- it took 1-5 shots tops to bring us down. But I really loved how the game was totally and completely different from Normal mode. I mean we had to fight every single inch of the way and use real tactics to get pass challenges. It was wonderful.


“The Flood” level was hella hard like I knew it would be. I got so frustrated I would kill my friend half the time just to make sure the Flood he was fighting would die. It was accidental, but I just couldn’t take it anymore lol.

Awesome Game. I just can’t help but wonder will we ever see an MMO challenge us this way. An MMO that doesn’t rely on carrot dangling and just be pure fun. No you say? Okay that makes sense.

 Also we went to go see “I Am Legend”. Interesting movie. I liked it was a pretty good flick.

Categories: Consoles Tags:

Server Rules and “The Wife” Problem

December 21st, 2007 No comments

The more accounts MMORPGs can sell to families the better. If you can grab the momma, the papa, and all the kids thats more $$$ a month. This means appealing to the low denominator- the lowly hand me down computer, the kids, and the wives. MMORPGs occupy a lot of daddy’s time to play and it is tempting to try to entice our wives into playing them too.

The most successful MMO will not push the graphics envelope no- but rather provide the bare minimum graphics so it can run on any system. It will look just “good enough” to get by.

So then we arrive at my point- the problem with different Server Rulesets. So even if the developer tries to provide many different ruleset for all walks of life then we still suffer from “flock collisions”. The husband might be down for a hardcore experience but the wife might not be. Daddy might be a hardcore PVPer but the wife or friends that joined him on this server hate it

So then what is the middle ground?

What we should look at is EVE Online. Now, those guys got the right idea. Casual players can stay in high security space and enjoy a peaceful existence there. They have Missions that players can engage in. Sure, those feel like Instances but its sort of kept down to minimum like World Of Warcraft (some EVE vets will swear those are not Instances – the deadspace missions, but I never seem another player in them).

EVE Online is not perfect though. It is still hard to make friends and meet other players. Still, they were smart enough to drop newbies into a Default corporation where they can chat with others and learn the game. I got a lot of help there.

The hardcore can leave safe space and venture into 0.0 in search of riches and risk it all. The brilliance here is that if a player loses their ship they can get back a portion of what they lost. The hardcore players stand to lose way more then a Casual due to their ships being more expensive, use of implants that can be lost, and fittings. They found a way to avoid punishing the Casual here yet- provide a dangerous world for the Hardcore.

Happy medium found I would say. EVE Online has grown from 5k subscribers to nearly 200k. EVE Online did a great job vanquishing the “Wife” problem and accomplished an amazing feat.

Lessons Learned:

  • Try to provide geographical PVP zones (aka EVE Online, World Of Warcraft) if applicable
  • Instances are also a viable option (I just personally do not like them at all but each to his own)
Categories: General Tags:

Sandbox Titles Play Time and Popularity

December 21st, 2007 No comments

This article will discuss Sandbox games penetration into the overall game market. First off, I want to discuss World Of Warcraft and slightly intertwine this post with MMORPGs although I personally love any sandbox be it MMO or not.

First, let’s take a look at some cold, hard data and draw conclusions from it:


If you observe the data then we can see a pretty significant of ‘avg minutes player per week’ being devoted to Sandbox titles such as GTA, The Sims, and The Sims 2.

So then when I see articles where bloggers try to argue against Sandbox titles due to player demand for titles such as World Of Warcraft it becomes pretty hard for me to swallow the majority of gamers want a legion of WoW-clones merely based on the basis Blizzard has achieved wild success with WoW. What Blizzard has achieved has yet to really be reproduced in the first place. There have been many MMORPGs that has followed in their footsteps such as Lord of The Rings, EQ2, etc and none have come close to their success. There is still a great bulk of gamers’ time being spent on other genres altogether after all. MMORPG genre itself is really still a pretty niche market in the overall scheme of things.

Bottom line, the market responds simply to what is FUN. Sandbox titles can be both fun and provide a lot longer play times for gamers. Perhaps this is why I tend to purchase RPGs such as Mass Effect, Neverwinter Nights, Crackdown, etc due to the freeform nature of the beast. They provide me with so much gameplay and freedom I can’t stop playing them.

Now let’s debunk the ridiculous notion that only role players can embrace Sandbox titles. Think about Second Life for a second… Okay, we have debunked this idiocy right here. If I need to go further then let’s look at Grand Theft Auto, Spiderman 2, and other best selling Sandbox titles… Yeah, these games are not RPG based in the least. Thus, one can assume that a developer can churn out a Sandbox title without really focusing on ‘virtual living’ altogether.

Tactical Transparency, Plethora of Skills, and RPGs

December 21st, 2007 No comments

Saw an interesting post last night whereas a poster asked his peers what do they think would happen if each player had access to hundreds of skills? Basically, what he proposed was a game that featured linear progression (no levels but something more skill-based).

This is what my belief what would happen in such a system. Give players an overwhelming number of abilities (say 1,000) then what would happen is that they will pick their favorite abilities and create a ‘build’. So, in the end, we will ultimately end up with a “Class” that is dynamically generated by players. Such a title would be a player-skill based title whereas their playstyle defines players rather then their “Class”.

I am not sure how well a system would work I must confess because I’ve never seen a game in any genre be it MMO, FPS, or pen and paper that has thrown so many options at players. Perhaps the only genre that comes close is RTS or maybe EVE Online whereas players has access to a large subset of skills.

So then, something that is very manageable and accessible to players of all walks of life is using the EVE Online / FPS approach whereas skills simply dictate how ‘knowledgable an avatar is’ in a certain area. Our abilities are unlocked by our skills and constrained by the tools within the game. For instance, the constraint within EVE Online is our ship. A player might have thousands of skills however he can only use a small subset to pilot a ship. So what we see is that skills merely make our avatars more diverse in such a system.

FPS titles such as Battlefield 2142 also apply this same concept. A player can unlock multiple Classes such as Engineer, Recon, etc but the constraint within this system is the Class we can pilot at this time. So, in such a system even though infinite progression exists- we still have a bit of Tactical Transparency.

So then, as you can see, we have Classes and Skills working together in harmony in such a system forming a cohesive relationship that is very fun for players. This concept has been successfully implemented in many popular games. It’s very common amongst FPS titles- because such a system presents infinite progression yet there are still constraints that lend favorably to PVP/PVE.

Most importantly, I would like to point out we can achieve Tactical Transparency completely without forcing players into a rigid, linear treadmill. I see many blogs whereas they have taken Damion’s concept of Tactical Transparency and sort of pervert it. In real life, sure Tactical Transparency exists but it is not as simple as Warrior, Mage, and Priest. Another thing that’s not covered in detail is that Tactical Transparency can be achieved in a skill-based game many other simple ways like using ingame LFG tools to classify players. However, having abilities being depicted by “what you wear” would also help us achieve outright visual identification if it were required.

Simplicity in RPG

December 21st, 2007 No comments

I love having direct control over my character development. Perhaps this is why I enjoy playing console/coop RPGs so much because they allow precise, refined control over my character development.

So imagine my horror when I was talking to my dear friend that just beat Mass Effect and he tells me he never personally assigned skill points but rather, allowed the game to do it for him. So basically at each level up he simply clicked “Recommended” button to assign him the default points.

I think it’s important to note there are some gamers that simply play a game to have fun, explore, engage in combat, and just want to strive to achieve (his xbox live Achiever rating is really high).

So, note to self. On next RPG I develop I will make sure to include the ‘Recommended’ button to help players like him to build competent avatars. Note, he also did the same in Elder Scrolls Oblivion too heh. We just started back up on Neverwinter Nights 2 OC again I bet he’s done the samething…

Categories: Game Design, RPG Tags: