gamedev

EVE: Experiencing the lull

Posted in gamedev, games on March 11th, 2010 by Roblob – 1 Comment

Past week went with a few nights of null sec ratting and that was pretty much that. I eventually got the gals home safely and I’ll tell you how the stealth bomber felt like for ratting. But I’m not getting much done in game at the moment.

I seem to be hitting the mental phase in which I tend to drop any demanding activities and opt for more passive ones. My interests seem to follow these cycles which often follow the same pattern.

read more »

EVE: Captains log, stardate 20100217.5

Posted in gamedev, games on February 17th, 2010 by Roblob – Be the first to comment

Wow, has it been two weeks since my last post already? Time seems to fly when you have a lot to do. I have been playing Eve some, but I’ve also spent a lot of time working on my pet game project, Heavens Reach.

The week after my encounter with a low sec pirate went without much action. I got so excited that I grabbed my Rifter and went on a prowl for few days. Unfortunately I didn’t find anything to engage during the two or three days out. Low sec solo PVP is truly dead.

Last week I got back into exploring again and run a few Sansha Ports when nothing good turned up. On the weekend I finally found a Sansha Gas Processing Site which was at least interesting to run.

My nefarious stealth bomber plans are also starting to come to fruition and I went on a shopping spree last night blowing some 50 million isk on ships and equipment.

I will also give a short update the game project so stay tuned if you’re interested in that.

read more »

Gamedev: Dusting the X-files

Posted in gamedev on January 21st, 2010 by Roblob – 1 Comment

The forced leave from Eve made me consider my interests and I’ve found my inner game designer once again. With Eve hogging my free time I’ve followed the game industry with a passing interest, but after the Dominion patch came out and I started getting the “socket closed” errors my interest was rekindled. I’ve started spinning game designs in my head again and actually done some work in the area too.

I’ve solved the “socket closed” problem, by the way. It was due to my ISP upgrading my line speed to 8Mbs which simply was too much for the line. Once they lowered the speed back to 2Mbs everything has been smooth as a baby bottom. That doesn’t mean that CCP is free of blame here. I still believe that something changed in the Dominion patch that made the connection protocol more fragile. My kind of line problems now get you disconnected where as before you would only have suffered from a lag spike.

But if you are still suffering from the problem you should look to your end of the connection and see if you can improve your situation by yourself. I can give some advice (although I cannot guarantee how helpful it will be) if you need it. All you need to do is ask.

Also here is a choice pick from the Dominion 1.1 patch notes (due out today):

CCP Tuxford can no longer shut down TQ on a whim.

It’s good to see that improvements are being made. =)

And now for something completely different…

read more »

Design: The “Holy Grail” software development process, part 1

Posted in gamedev on February 27th, 2009 by Roblob – Be the first to comment

Holy Grail

I’ve recently been reading up a lot on software design practices and good software management. It’s something that I’ve often wondered about and discussed with my colleagues throughout my days as a IT worker. What would be the best (or at least a good) method for running a software project?

I think it’s something of a Holy Grail for most programmers, something that many have faint notions about but find it hard to put to words or even imagine as a whole. I certainly have many ideas or opinions for particular aspects of such a team, but when I try to envision the whole is when I start to stumble. Which is why I’m writing this. I want to start formulating a personal view on the whole matter and a thing I’ve found out about myself is that if I don’t write things down they stay vague and uncontrollable.

The whole thing started innocently enough, as such things often start, from a reddit link to and article about 10 Papers Every Programmer Should Read (At Least Twice). While I’m personally not very interested on the actual papers mentioned (I guess I’m a bad programmer) there were a few links in the comments that got me thinking. They approached the subject of what software design is and how should one go about making sure things are done well.

The first link was to “What is software design?” by Jack W. Reeves in which he proposes that there is no separate design phase in software development but that the whole process working from specification to quality assured source code should be considered design. This touched a nerve with me because it is something I’ve been fretting about at my current job. I’m simply disgusted at the way software development is boxed into these nearly disconnected little phases and detailed job descriptions worn by disillusioned people at this company. Everyone does their job and wants to know as little as possible about the other parts.

You see, after over ten years of working my way up as a programmer and system designer I  have somehow found myself again at the bottom rung, a code monkey writing code from designs handed to me from above in the development chain. It’s a long and somewhat sad story involving brave entrepreneurship, broken promises, company mergers and finally getting assimilated into a bigger entity. It’s not worth getting into here, But the end result is killing me.

I think it’s part of the fact that this company is a long time hardware manufacturer and it’s finding it hard to adjust to building big software projects. Everything has so far worked with the hardware processes dictating things. Design and specifications are made with hardware engineering mentality and they must be ready and frozen before software gets underway. Deadlines are unmovable and often unnecessarily linked from software to hardware. It is quite understandable since changes to hardware are nigh impossible to do once the production gets underway, but it’s a really bad way to build software.

In the end the problem is that software development is split into small phases with each having their own personnel doing their own tasks and the results of one phase are passed onto the other in sequence. It’s the classic waterfall model in its worst incarnation and it’s a work model I really despise working in. Of course, people are trying to improve things and hopefully things will get better. But this is where I’m at.

The foundations of a software development model

I personally don’t want to be the code monkey whose only concern is to produce code to match a specification. I don’t even want to be the designer whose only responsibility is to spit out designs based on requirement specifications. I want to do everything involved in the process.

I want to be there when the the big picture is drawn, when the architecture is outlined. I want to be part of the design team when they’re fitting the deduced components into a whole and designing the individual modules. And part of the programming team that’s tasked with the implementation of the designs. QA I can leave to others, but otherwise I want to do it all.

Some might say that it’s simply not possible for everyone to be the architect or the designer etc., but to this I ask why not? It’s certainly true that there should be one person who is responsible for a task, but that doesn’t mean that everyone shouldn’t be able to participate. There is no shared responsibility, but being responsible does not mean you must do things by yourself.

And let’s be clear, when I say that everyone should be able to participate I don’t mean that literally. Not everyone should be sitting at the design table. What I’m driving at is that, in my opinion, the more people get involved in the “other” parts of the process (besides what their own job description says) the more value we will get from their work. I’d rather see that we were all titled something on the lines of ‘software engineers’ than as ‘programmers’ or ‘designers’ or whatnot.

The living design

I’m on the same lines as Jack Reeves in that in the end the software design is really the source code that’s produced in the project. The design should be an almost living entity during the whole development process, adapting to the things that arise during it’s completion. From the inception of the system modules based on requirements to the last fixed bug from testing, the design should be constantly reviewed and adapted to the needs stemming from these later phases of the process. But mark the difference here; design is not the same as requirements. Requirements should not be changed as a whole since that so very easily introduces feature creep and that road only leads to ruin and despair.

Naming a high level structural design as “The Design” of a project  is misleading since it is impossible to completely depict the problem domain until the implementation is finished. Something will always come up that invalidates the original high level designs and forces new approaches to be chosen. Thus it is easier to see the design as an all-encompassing phase that’s purpose is to document the problem domain and the chosen solutions so that the participants have a clear vision of the goal and the steps needed to reach it.

From this I will now begin to envision the foundations for my “Holy Grail” development process.

Gamedev: The unbearable lightness of playing

Posted in gamedev on February 23rd, 2009 by Roblob – Be the first to comment

There actually was an underlying thought to that previous posts about Eve respecs, I just didn’t have time to get to it. But here’s the thing:  Just how easy should a game be on the players?

I mean, that’s what the attribute respecs are about; making the game more player friendly by giving the players more leeway in how they play it. “You don’t have to decide now, try things out and see what you like.” Or to put it more pointedly: “Don’t worry, you won’t lose anything by choosing one path over another.” That is, we just removed the consequence from you choice.

I’m all for more options and that’s pretty much what makes Eve such a great game to begin with. Nothing in it says “You can’t do that” or “You have to do this”. It’s a true sandbox game where you, as a player, can do pretty much anything you’d like if you devote time and effort into your chosen goal.

The thing I’m pondering at the moment is, can making the players life easier become a problem for the game? When does removing consequence reduce the value of the player experience?

Let’s take two games from the opposite sides of the spectrum: Eve Online and World of Warcraft

In Eve you have a sandbox universe where you can do pretty much anything, but the game really doesn’t hold you hand and gently guide you to the next level. Up until recently starting out was more like getting a sharp push out of the airlock and being left to fend for yourself. Or as was often the case: try to learn, fail and leave in frustration. Countless newbies did just that and the game earned a reputation for a somewhat steep learning curve.

But the players who put in the effort to learn the ropes usually hopelessly fall for the game. The universe is simply alive and, somewhat like in real life, the thing’s that may be standing between you and success (or utter failure) are simply other players and their ambitions. You choices will influence the gameplay for you and for the others. And that makes your choices important. The players are the lifeblood of Eve and the game is only there to provide you with the setting.

World of Warcraft on the other hand is an altogether different beast. WoW is also there to provide the setting for your adventures, but instead of giving the player the reigns it is actually the player who is getting steered in to the desired path. Granted, WoW does this exceedingly well and while playing you really don’t feel like you’re getting herded anywhere. But even if you can’t see the rails on the roller coaster, it doesn’t mean you can take a right turn at the top of the ride just because you want to.

As much as Eve is a sandbox game, WoW is an amusement park. Everything is neatly designed to give you the ride of your life while giving you the minimum amount of hassle along the way. You can safely enjoy the scenery and your next dose of gratification (loot, level, skills, whatever…) as you progress through the game content at a frictionless pace.

And I’m definitely not saying that there is anything wrong with WoW. Quite the opposite. I’ve played far more hours of WoW than of Eve. And usually loved every moment of both of them. It’s just that they are very different games. One is designed to immerse you in a constant flow of gratification while the other gives you the kicks by giving meaning to your actions.

In WoW you can’t really lose anything. Oh, you can get killed but the only real consequence is the one minute corpse run from the nearest graveyard. The equipment durability reduction is insignificant and, well, that’s it really. They have even added more graveyards to the game and increased the speed at which ghosts run to lessen the effect of dying. You simply can’t lose anything in WoW.

In Eve there can be a considerable price to pay for ignorance and stupidity. When you get killed you stand to lose not just the ship you we’re flying (which can be significant cost in itself) but also your precious implants (even more expensive) and even your skill points if you have been dumb enough to not upgrade your clone. Of course, it’s not very easy to pod someone if they know their business but it still happens often enough to keep you on your toes.

But game money is just game money. What you are really losing is the time and effort you put into making that money or training those skill points. In Eve that can be hours or days, in WoW it’s about a minute of your play session. And before you open your mouth to say “How could it be fun to experience that kind of loss in a game?” let me refrase that: the loss of a ship could also mean that much to the other player you have locked and webbed and at your mercy. It is always a two-way street.

Like I said, they are designed to give you a different experience. But which one is the better approach? Successwise one would have to accept that WoW is a bigger hit. There’s no way around that fact. But as a player I have to say that Eve’s universe where your actions matter to you and those around you is coming up as a winner.

I’ve played World of Warcraft for years and in the end I just got burned out. The game is a testament to brilliant design and implementation and I still play it from time to time (I just can’t bear to cancel my subscription, silly me) but for me the whole thing loses meaning over time. I never was much of a raider so my social contacts in WoW were’nt huge. Otherwise it might have been more enticing to keep on playing. But as it is, there simply ain’t that much to gain. It’s always the next level/sword/talent that is up around the corner and in the end it is only your armory profile that’s changing…

In Eve the problem is figuring out what you want to do in the first place. Since the game doesn’t push you in one way or another, it’s pretty common to see new players asking around in the chat about what they should do next. If you don’t get involved, Eve may start looking extremely pointless very quickly.

But in the end it is probably a matter of preferences (and what isn’t?). The ease of WoW is certainly appealing and in small doses it still holds it’s magic for me. In Eve the fact that everything matters (at least to someone) makes it a really immersive experience and may prove more sustainable in the long run.

But that begs the question of why I’m so happy that Eve is implementing things like attribute respecs?

Well, for me the attributes and starting skills in Eve have always been a bit of design flaw. You simply don’t have enough information to make any meaningful choices when you are starting out. So forcing the player to make blind choices in matters as important as attributes is simply stupid. I know I at least botched up my main character at creation (high charisma, anyone?).

It’s nothing game breaking, but it has irked me over the years anyway. So I’m happy they are fixing it. Or maybe I’m just looking for that frictionless game experience. Go figure…

Hello world!

Posted in gamedev, games on February 16th, 2009 by Roblob – Be the first to comment

Oh, bugger. I was supposed to start writing this two days ago, but got seriously sidetracked by life and stuff. But here goes…

This blog is intended more as a personal diary of all things gaming than something written for the sake of others. But since it some day might be of some interest to someone, I’m writing it as if it’s going to get read by other people. Hence the English, I’m a Finn btw.

The reason I decided to start writing this stuff down is because I was going through my computer a few days ago and stumbled across my gamedev folder. It’s a place where I’ve stuffed almost everything I’ve produced regarding designing and making games.

You see, I’m a game nut. A fanatic. I just love everything about games. If I could have my way I’d be a game designer, making a living on games. Of course reality inserts itself snugly between me and my dreams, and so I’m just a programmer / software designer working on projects that I usually don’t give a shit about.

But when I’m not working (and occasionally while working) I bounce all these wonderful ideas in my head and dream of better games. And when a strange mood overcomes me I can be found furiously tapping on my keyboard late into the night trying to build The Game.

But you see, building games is really hard. At least it is for me. Ideas and inspiration comes easy, but the fleshing out requires sweat and above all time. Something that I don’t have in abundance. You probably know the saying about opinions and assholes; the same applies to ideas of games. Everyone’s got a set of their own.

And so I have a folder on my computer, with dozens of half started design specifications and half finished source code. A junkyard of pipe dreams and fancy, lovingly seeded but so early abandoned to be forgotten. Never to really become a game. And reading them is a trip down memory lane for me.

Which is why I decided that I have to write down the thougths and things that flutter across my mindscape, the things that are the source and result of my love for games. If nothing else, as a testimony to my passion.