RSS
 

Archive for the ‘Games’ Category

Rant: The Old Republic

17 Jan

starwars-tor

I’ve been playing SWTOR since it came out, and while I’m having fun overall, the game manages to be so annoying at times I just have to cease playing for some hours…

I can excuse bugs (and this game has a lot, but much less than normal MMOs at launch), but just bad design really pisses me off…

First of all, Bioware: IT’S NOT FUN TO WALK, EVER!

The game spends an inordinate amount of time treating you like a carrier pigeon (go here, then go there, then go back to where you started)… This is normal on a MMO, to stretch out the play time, but the distances you have to travel in SWTOR are just too big, with nothing happening between locations… Yeah, of course, you can beat up everything you find between you and your destination, but that’s just killing something that you’ve already killed 10000 times, with no challenge in most cases… And if you take the roads (which should be safe transit, but aren’t), you take twice as long to reach anywhere because there’s always a bloody cliff or mountain in the way! Whoever designed the locations should be shot, to be honest…

On WoW, Cataclysm was the occasion to fix some of these kind of things (making the Barrens less “empty”, for example), because they acknowledged that it was boring… why couldn’t Bioware learn with Blizzard?

Sometimes I feel that the guys at Bioware just didn’t play WoW at all, which seems like a gross mistake, considering they’re competing with it and you should know where your competition stands… But considering some mistakes I see in the game all the time, they probably didn’t spend any decent amount of time on it…

For example, the security system… Secret questions with answers that you can’t misspell… For example, the question about your street address, that can be spelled in hundreds of different ways, and a space makes a difference! And God forbid you forget how you spelled any… you’re stuck phoning their helpdesk, where you have to talk to someone who has even worse English than you (I’m not a native speaker, so that’s a hassle anyway), paying an international call, all in the name of security…

It’s not my bank details, it’s a damn game! Couldn’t there be a form where you typed in your game key, or your phone number? Because that’s all they actually do by the phone, so what’s the point? It makes more sense asking you for your email and having you spell it out letter by letter?

And if you fork over for a security key, you still have the questions from time to time (according to the rep), so what’s the point of the security key?!

This is just bad design decisions (not game design, but helpdesk design)…

It’s a pity, to be honest, because the game is very interesting in a lot of things… the class storylines are very cool, and the general stories for the quests themselves are interesting and make for less repetitive gameplay than usual in this kind of games…

The lack of addons is also very annoying, not only because I want to replace that ugly, non-functional UI, but because I don’t have any idea on my performance without a damage meter… how can I experiment with skill rotations and whatnot if I don’t have any way to measure it? Still, that may be address in a later patch (fingers crossed)…

I’ll write some more when I finally get to level 50 and do all the Flashpoints (another very interesting concept, and mostly well executed), if I ever get there (takes forever to level from level 45 onwards, seems badly balanced in that regards, to be honest)…

 
No Comments

Posted in Games

 

More work…

12 Jan

Haven’t had much time for anything else but work on the SurgePlayer, lately. In case I haven’t mentioned it yet, the SurgePlayer is the “game” counterpart of SurgeEd. It’s to SurgeEd as FlashPlayer is to Adobe Flash.

Basically, SurgePlayer is the runtime that takes content created in SurgeEd (and loads of scripts) and actually implements the game rules, etc.

It has been a challenge developing it because I really want to create an open framework, in terms of usability… I want to be able to use the same executable file to drive all my games from now on (which is a big challenge).

Most of the work lately was trying to integrate the changes brought on by the additional capabilities of LuaJIT, but I finally have the system up and running again, with spawning “creatures” that use the underlying navigation mesh to adjust their “random” position, that gets requested by the helper object that actually spawns them. It’s very cool!

player01

Not impressive looking, I know, but the underlying code is very nice and elegant (for my taste, of course).

The framerate is low because there are about 1200 distinct objects in this scene (the ground is made of very small tiles), and because of the shadows and no primitive clustering (yet), the frame rate takes a dive…

Anyway, there’s a new post on Spellcaster Studios, showing off the first model built for “Grey”, check it out!

 

LUA JIT

05 Jan

Following the suggestion of one of my readers, I decided to take a deeper look into LUAJIT.

At first glance, LUAJIT is a Just-In-Time compiler for Lua, that uses exactly the same interface as the normal Lua library, but compiles the code instead of interpreting, resulting in very significant speed improvements.

Just that is enough reason to use it, and I intended to do it later in the project…

But what caught my attention was the FFI library that enables me to bind functions and C structures in a much easier fashion…

Under normal circumstances, if I wanted to have a function available to Lua (for example purposes, a sum function that takes two arguments and returns the sum of both), I’d have to:

  1. Write the function itself
  2. Write a bind function (a C function)
  3. Bind that function to the environment

 

On the example:

int sum(int a,int b)
{
   return a+b;
}
 
LuaGlue lua_sum(lua_State* L)
{
   int a=lua_get_number_argument(L,1);
   int b=lua_get_number_argument(L,2);
 
   lua_push_number(L,a+b);
   return 1;
}
 
env->add_function(“sum”,lua_sum);
 

This is of course a simplification, and misses parameter validation, etc…

With Lua JIT, I can just:

  1. Write the function itself
  2. Bind the function directly in LUA

 

Step 1 is almost the same as before:

extern “C” int __declspec(dllexport) sum(int a,int b)
{   
   return a+b;
}
 

The difference is that now I have to say that the function is to be implemented through C call, instead of stdcall (the extern “C” part) and that the function has to be exported (the __declspec(dllexport) part).

Then, for step 2 on LUA, I just have to do:

extern “C” int __declspec(dllexport) sum(int a,int b)
local ffi=require(“ffi”)
ffi.cdef[[
   int sum(int a,int b);
]]
 
local var=ffi.C.sum(10,20)
print(var)
 

Much simpler and safer, I think!

The benefits aren’t just here, you can declare C structs in both sides (C and Lua) and use them without incurring performance penalties, which allied to the metatype tables allow you to actually add something like a Vec3 class or something like that… Check out the part on “Defining Metamethods for a C Type” on the FFI Tutorial. It really shows off what you can do with this…

The only issue I see is that class support is tricky, although you can use classes like this:

C code (assuming a classA):

extern "C" classA __declspec(dllexport) *classA_new() 
{ 
   return new classA; 
}

extern "C" void __declspec(dllexport) classA_set_a(classA* __this,int a) 
{ 
   __this->set_a(a); 
}    

extern "C" int    __declspec(dllexport) classA_get_a(classA* __this) 
{ 
   return __this->get_a(); 
} 

Lua code:

local ffi = require("ffi")ffi.cdef[[
   typedef struct { void *__this; } classA;

   classA*    classA_new();   
   void       classA_set_a(classA* t,int a);   
   int        classA_get_a(classA* t);
]]

local classAlocal classA_mt = 
   {  __index = 
        {   
           set_a = function(t,a) ffi.C.classA_set_a(t,a) end,   
           get_a = function(t) return ffi.C.classA_get_a(t) end,  
        },
   }
classA = ffi.metatype("classA", classA_mt)

function test()   
   local object=ffi.C.classA_new()
   print(object)
   local value=object:get_a()
   std.log(log_debug,string.format("Value=%i",value))
   object:set_a(25)
   std.log(log_debug,string.format("Value=%i",object:get_a()))
end

Very convenient indeed!

Only problem is that I designed the SurgePlayer Lua structure without this in mind, and suddenly I have what seems like a better way of doing things available…

Now I need to rethink the whole system to take advantage of this, but still keep some of the benefits I had on the previous system.

I believe it will be well worth the trouble! Smile

By the way, there’s a new post down at http://www.spellcasterstudios.com, with video! Check it out!

Until next time!

 

Star Wars: The Old Republic first impressions

19 Dec

star_wars_the_old_republic_1600x1200

I’ve pre-ordered the game, and as such I got early access to the game… Unfortunately for me, I was travelling abroad when I got the invite, so I could only try the game on Saturday (instead of Thursday)… Anyway, I spent most of Saturday and Sunday playing it, so here are some first impressions about the game.

First of all, before I start bitching about the game, let me just say that I’m having a lot of fun playing it… It’s a good game, on par with “Knights of the Old Republic” but in a massive setting! Any Star Wars fan that likes games (of the MMORPG and normal variety) should definitely pick it up!

The game’s well written, with interesting storylines, excellent graphics (besides some occasional bugs), cool battle system and lightsabers! What more can you ask for?

In a world without World of Warcraft, this game would be freaking amazing… Unfortunately for them, there is such a thing as WoW, and comparisons are drawn.

Is it fair we do these comparisons? Shouldn’t a game stand on its own merits? That’s a tricky question… WoW created what most of us considered the baseline, with most of the semantics we’re used to tackle, and as such, he has provided us even the language in which we discuss this and other MMORPGs.

On the other hand, more than in any gamming scenario, MMORPGs are in direct competition with each other… They are huge time drains (they’re designed that way), and a normal person can’t sanely play two MMORPGs at the same time (and be any good at them)… Every hour I spend in SWTOR is an hour I can’t spend in WoW, it’s not like a single player game which I finish and then move to the next one.

So, regardless of fairness, the comparisons are indispensable to understand and to analyze the potential of the game.

Although SWTOR is a very good game, fun and all that, it has some downsides that really detract from the experience. I feel some “rushing” in the development of the game, because some obvious things that shouldn’t be so hard to put in are absent, especially if you’re trying to be a WoW killer:

  • Queue times: While the massive success of WoW was a huge surprise for Blizzard (some people referred they got 10 times more people they expected in the first two months), the success of SWTOR shouldn’t have come as a surprise (with over 2.5 million pre-orders). So, is it too much to ask for enough servers to not have 30 min queues to play? That should have been anticipated and  active steps should have done to prevent it!
  • Terrible UI design: I admit that the WoW UI has spoiled us, but some mistakes in the SWTOR UI aren’t excusable… There’s no UI scale system, so people like me that play in a big television at 1920×1080 get very small icons to press and some almost ineligible text!
    That’s not the only problem of the UI, mind you… For example, if you expand your companion’s action bar (to take more direct actions with it), it expands on top of your second skill bar, which seems like extremely dumb! No target-of-target display, no way to keep track of agro and damage meters to understand how your performance is actually affected by different skill rotations, these are a few elements that are missing from the game.
    I could forgive these flaws (like I did in WoW when it launched), if the game included an add-on system (one of the strengths of WoW, to be honest), but although they are still considering if they’re going to add one, I don’t think it is likely.
  • Terrible social tools… Guild administration panel is buggy like hell (excusable, MMORPGs are always full of bugs), you can’t whisper someone just by clicking their name either in guild chat or party or whatever, that kind of things… Lots of things seem to be only accessible through command line commands (haven’t figured out how to invite someone to a party, except by using /invite command)
  • Lack of auto-targeting… In a melee heavy game, the target should change to another one as soon as the current one dies. But it doesn’t… and with the sound of the lightsabers, you don’t actually hear your target dying (and are watching cooldowns to be really paying attention to the visuals), so sometimes you’re just pressing buttons and wondering why they aren’t having any effect…
  • Companion-based gathering and crafting system… Mixed feeling about this, but I know people that will get pissed… My wife, for example, likes gathering skills to relax while playing… The game doesn’t allow for it, at least not in any useful form (with loads of bugs in the gathering nodes)… Would be cool to be able to join the companion on the missions to gather materials for crafting, though… Wonder why they didn’t add that option…
  • Light/dark alignment thingy… While an interesting idea, in practice it doesn’t allow you a choice, because in some cases you’d like to go “dark”, and others you’d like to go “light”, but if you do so, you won’t reach the levels of light and dark that actually have rewards… So you tend to choose one and keep doing it, instead of actually choosing what you feel like… If they added items for the neutral ground, that might fix this issue (gear of Revan, it would make sense for neutral people).

 

As I said, this is just some general first impressions with about 18 hours of playing (including trying to fix a crappy problem with my wife’s laptop… the low-end Intel HD3000 video card wasn’t being switched to the high-end Radeon that the laptop has for high-performance graphics automatically, had to find how to do it manually).

I’ll keep on playing and add some more comments about the game as I go along… Got holidays coming for the next two weeks, so lots of play time (even with Christmas and some stuff I want to do with Grey).

 
No Comments

Posted in Games

 

The enemy…

16 Dec

Great article at Rampant Games about enemy design ideas, check it out at http://rampantgames.com/blog/?p=3665.

I’ve thought about this a lot of times: the villain is as important as a hero (and in my opinion, in a game medium, even more important, since the hero characterization is sometimes taken over by the player). Would Star Wars be the same without Darth Vader?

Don’t have time to go into this, but just thought I should share it! Smile

 
No Comments

Posted in Games

 

Meet the Grey team!

14 Dec

Blog post on Monday about the team working on Grey at http:/www.spellcasterstudios.com!

 

Blizzard: The End of Epic?

12 Dec

Back in October, I already complained about the forthcoming expansion “Mists of Pandaria”, and that it lacked “epic-ness”.

More disturbing, though, has been my experience with patch 4.3 (“Hour of Twilight”)… Finally, we’ll get the opportunity to go face-to-face with Deathwing (which seems to be one of the last really epic bosses from Blizzard’s stables), and I was looking forward for the challenge (even wondering how I would fit enough time to play WoW and SW:TOR at the same time)… But then, LFR hit…

For those that don’t know, LFR stands for Looking For Raid, and is the system Blizzard came up with to allow for people that don’t have progression-oriented guilds to see all the content. You just “queue” in it, and you’ll be placed in a 25-man raid group for (currently) the Dragon Soul raid instance. So far, so good… the problem is that the way they found to deal with the difficulties in communication in “out-of-guild” raid was to make the encounters retard-proof…

So, now we have 3 difficulty levels for the Dragon Soul raid instance: LFR, Normal and Heroic, each of it with slightly different loot (which is better the more difficult the instance is). Conceptually, it seems like a good idea, but the tweaking of the difficulty levels made it almost impossible to fail in LFR, which means that most people has already faced and defeated Deathwing!

So, two weeks after 4.3 hit, me and most people have already defeated the most end boss for this expansion! So, why am I playing?

I understand the rational, and in the most part I agree with it: not everyone can put the amount of hours into this game that will allow them to kill the end boss of the expansions, but in my view, the way they went around that in “Wrath of the Lich King” was better: just give a buff to players a couple of months before a new expansion hits, so they can see the end content…

I know I could have skipped LFR and retain my game experience, but that way I’d have people in better gear than me that don’t play as well, and that know more of the game than me (a convicted lore-whore)… Even if we allow for that possibility, it feels to me (and a MMORPG is about perception most of the time) that I got “cheated” out of an achievement; killing the end-boss of an expansion should be an epic experience that takes a lot of time, so we actually feel that it was a powerful foe and that we were fighting insurmountable odds.

I can go normal mode (which is MUCH harder, and it feels like it is geared to people that already have gear from LFR Dragon Soul… Yes, I’m looking at you, Ultraxion), but even that seems a tad too easy (my guild, which is almost a casual raiding guild) got the first four bosses down in the first week! Heroic mode is usually for people that can put a large amount of hours into the game (don’t know if this is the case with Dragon Soul, but it was definitely true with Firelands)… And even if I do all of these, I won’t have the real achievement… I’m already feeling the experience has been cut down somewhat, because I killed Deathwing on a random group in one afternoon, in about 2 hours of playing!

This, combined with the upcoming “Mists of Pandaria” feels like Blizzard is going for the more “casual” MMORPG crowd, and less for the hardcore… This is all well in theory but, for me, a MMORPG has part of its storytelling rooted not only in the lore and design that the developer created, but in the user experience… For me, it’s impossible to have an epic story if I can beat the main boss in 20 minutes after I get to him, without prior experience… It doesn’t matter how many layers of story you have behind that boss, the size of him, the scope of what you achieved… If it wasn’t hard, he wasn’t all that he was toted up to be!

So, user experience is important for the storytelling itself, especially in a MMORPG… And I feel that Blizzard is walking away from that, to give way to accessibility and hand-holding…

That might be great from a commercial perspective, I admit, but for me it just removes something important from the game… And I’m not sure if it is that good even in that limited perspective, considering WoW is hemorrhaging players for some time now (that roughly matches with the new “easy” attitude from Blizzard).

Thankfully, there’s a new MMORPG coming out soon that might keep my cravings for hard bosses in check: Star Wars: The Old Republic… At least, I hope it is any good…

I’ve made a guild to act as a kind of “sister guild” to our World of Warcraft “Crits’n’Giggles”: you can check it’s website here: http://www.swtor.com/guilds/264573/critsngiggles .

At the moment we can’t add players to it, but after the game launches, feel free to apply… Smile

I really hope SWTOR will give me the epic I crave, ‘cos pandas aren’t doing it for me! Disappointed smile

 

Story in games

09 Dec

Found an interesting blog post today at Rampant Games: http://rampantgames.com/blog/?p=3648.

While I don’t agree with lots of what is said, some of the points are valid.

Story and games have a different existence together… The actions of the player usually don’t modify the game world, and when they do it’s in a purely binary fashion. So, the player isn’t part of the story, which seems counter-intuitive in a sense that a lot of effort is put into immersing the player in the story.

The conclusions Paul Spooner in the above article draws from this are too restrictive and just go into the old RPG concept of DM/Player symbiosis, while I think there’s two layers to any game: an interactive layer and a story layer… They can conflict occasionally, but its possible to create game mechanics that stop the player from interfering with the story, without seemingly restrict freedom: an example of this is a story where the player needs to be a good guy and he’s out having fun murdering little children. If you attach a penalty coherent (like an alignment penalty) with the game story with the act of murdering children, the player won’t do it (or if he does, he’s aware that it might make his life more difficult in the long run).

I think that the main issue is not story vs. interactivity, but story vs. fun…

Let’s imagine the above example… the story we have designed is the typical hero of the light story, where only a hero pure of heart can defeat the dark overlord of legend. To be coherent with the game story, if the player murders innocent people, he’ll loose the pure heart and will be unable to stop the overlord… Both of these mechanics are easy enough to be implemented; the player retains his freedom, and the story can run its course… But is it fun? Is it fun to make the player go throughout the whole game, just to fail at the final boss, because in the beginning of the game he stole a villager’s purse? It’s not fun, but it is accurate in terms of both story and gameplay!

You have loads of stories without happy endings in literature, movies and other forms of narrative art, but that is seldom seen in games, because it is thought (and I agree with that) that it isn’t fun…

That’s what I think it’s missing in the above article… other than that, it’s an excellent read!

 
 

Birth of a game

08 Dec

New blog post on the Spellcaster Studios website, this time about the genesis of the idea for Grey.

 

More “Grey” updates…

06 Dec

I’ve been spending all my off-hours working on “Grey”, and as such I have little time for my personal blog posts, etc…

Just head on to http://www.spellcasterstudios.com for a new post about what the game is really all about!