Since starting development on Shadowrun: Corrosion I've had a tremendous amount of fun watching it manifest into something that people actually seemed to enjoy. I never actually thought that what started as an educational project for my brother and I would eventually attract more than 250 players.
One of the challenges was trying to stay true to the SR3 rules. We thought that if we just kept on trucking and kept expanding the foundation and implementing more material, we'd eventually get there. We made a few changes in order to standardise a few things because the rules have so many exceptions that it was going to become impossible to keep track of all those exceptions in the code. We built a fairly flexible foundation in which we were able to implement almost 95% of all the rules fairly loyally.
For all the things we did right, we also had a lot of problems -- problems we unfortunately were not able to overcome.
The first problem was the performance in missions. When we first started out, things were jerky, but it was acceptable as an alpha because we thought we would be able to come up with some performance enhancements in order to improve upon that. Unfortunately, we never did and in developing the options further, the performance just suffered more and more. We never did find a way to boost the performance.
The second problem was the fallout of implementing PvP. There was quite a backlash from the players because it was implemented too quickly and without a good understanding of the consequences. For a long time we were looking for the right way to offer PvP options without people getting ganked right, left and center.
The third problem was that the more we developed, the better we understood what we did wrong and what we had to redo to keep up with the curve. A good example was our shop mechanics.
The fourth problem was that despite several offers for help, I wasn't able to set up an infrastructure for code sharing, testing, quality control, etc.
All this created a situation where we had a hard time keeping up with the demands of the players, creating some friction with people like Rockso, ShadowDragon, etc. As we kept developing, we kept falling behind further and further and it became clear that the project was collapsing under the weight of itsown ambition. Adepts hadn't been implemented, let alone the matrix or the astral realm. No complex behaviour trees for opponents like I wanted...
I can go on, but I won't because, well... no use crying over spilt milk.
The death blow came with the latest problems with lag. What is causing the sudden bursts of lag is still somewhat of a mystery. It's likely that our server is being brought down by the large number of queries. It's not a beefy server, but one that I would expect to have more than enough resources to cover us. Having set up a test environment on my rather bad ass box at home, I can safely say that there's no lag here, confirming my suspicions that it's our server.
So we had a choice to make; either we were going to move to a different server -- perhaps something a little more professional -- and start paying, or figure out a way to lower the load on the database. Unfortunately, the latter option means we'll have to make some seriously fundamental changes to the framework. In hindsight, we over-extended ourselves and were too ambitious.
So as of right now, I am ceasing all development to Shadowrun: Corrosion. My brother has moved on to other games, mostly developing stuff to earn his degree while I have several small projects going on. I also have some ideas on different games that may or may not come to some sort of fruition.
Luckily for all of us, there's an RPG in development as well as an ambitious MMO. Check it out on www.shadowrun.com.
It's been a great experience and I've had a lot of fun chatting with all of you. I've also been amazed at how loyal most have you been and your advice and suggestions have been invaluable to me. You've taught me a lot.
It's been real.
The mechanics of Shadowrun: Corrosion are broken and I don't know how to fix it and I'm starting to suspect it can't actually be fixed. Or rather, it can't be fixed in a way that would still remain somewhat true to the old SR3 system. It rarely happens that in the table-top version of Shadowrun, you end up playing a 1000+ karma character. But it happens rather "quickly" in Corrosion. Currently, you are able to make about 30 karma a day if you really dedicate yourself to it. (I'm not entirely sure how feasible it is, but theoretically, you could do two missions and about 20+ duels, and then I'm not counting what you can make in the arena.)
Once you've got your attributes maxed out, which is relatively soon, and you've lowered the costs of improving your skills, you could quite quickly and quite easily jack your pistols/smg/unarmed/edged weapons up to around 20 skill points, at which point it becomes a game I'd like to call "D or be D'ed" -- essentially, you do deadly damage or you get deadly damage, depending on whether you win the initiative roll or not.
This makes for a fairly boring game. Very few duels or PvP fights last more than one or two rounds. And the game starts to revolve around who can chuck the most drugs and still be effective in combat. I think it's inherent to the game of Shadowrun. The lethality makes the table top game so great and suspenseful, but if you're doing it as a browser game, it becomes very boring in my opinion. I'm wondering how Shadowrun Returns is going to deal with that.
A game that revolves around hitpoints, generally, makes it a little more easy. You can scale hit points together with damage resisting qualities, damage dealing qualities and you can even play with critical hit possibilities. Gear will simply scale with your progression through the game. I've heard people say that you'll start out with a weapon that does 4 damage while your enemies have 10 hitpoints and after a year you have a weapon that does 400 damage, while your enemies have 1000 hitpoints. In the end, it all remains the same. I suppose that in a sense that's true, but when the hitpoints always remain the same; namely the 10 boxes on your stun and physical monitor, things become dull.
It's really bugging me. To the point where I don't see any reason to continue expanding upon anything else in the game until I've figured it out. If I don't figure it out, and I continue adding new content or fixing bugs, I just have the feeling I'm decorating a cabin on the Titanic; a little pointless in the end.
In the mean time, I've had some ideas for other games that might work much better and I'm wondering if it's not better to cut the game loose and move on.
Yeah, I'm not really sure what happened over the last week, but we doubled the amount of registered players. And as if that wasn't enough, the number of actively logged in players probably quintupled. It's really very exciting and it also puts a nice amount of pressure on my brother and I. We've been working on and off for a while now, but it's always been a bit laissez-faire, without any real sense of urgency. Now, people are equally enthusiastic at the promise of the game as they are dissatisfied that it's not fully playable yet.
Most people are pretty good about it, and then there are a select few -- of course, they have to be the most vocal ones, don't they? -- whose abrasive style rubs me the wrong way. Luckily, I am pretty good at ignoring all the insults and jabs and still manage to concede the point if they have one. (I'm looking at you, ShadowDragon8685.)
Bearclaw posted on Dumpshock that they couldn't cast an Armor spell, so I decided to try and recreate the problem. Below is what I posted to them.
So I decided to make a spell caster, learn Armor 3 from Mojo Flux and I went to my spells section in my safe house. I cast the spell, got a success on the sorcery test and suffered a little drain. You can see that in the first screenshot.
Then I went to the armor page and I saw that without wearing any armor, I had a ballistic 3 and impact 3. See the second screenshot.
Then I went to the character information page and saw the same on the armor stat and I saw the armor spell among my buffs. See screenshot three.
Then I went to Neon Blight, got the first Ghoul Den mission and went inside. Waited for a ghoul to come and kick my ass and recorded the first attack in the combat log on the info tab. It says I was resisting with my 5 body dice against TN 3. The ghouls have a strength of 6, minus the 3 impact armor the Armor spell gives me, is TN 3. See screenshot four.
I think everything is working. If you see different things, please send some similar screenshots to firstname.lastname@example.org and I'll get it cleared up as soon as possible.
The last few months development of Corrosion has been very slow. As with all things, persistence has been cyclical and interest has waxed and waned. As a result, user participation is slowing too and I don't generate as much traffic any longer. Usually in a project of this magnitude and nature, where a long term commitment to develop is needed and resilience is a must, this usually leads to the slow death of the product. Disinterest, poor motivation or more interesting projects come along and kill any chances of a revival. I think it's even more dangerous the smaller the team is, because collective enthusiasm and moment counts and when you're essentially by yourself the strongest link in the chain is automatically the weakest.
Corrosion's code is already thousands and thousands of lines and I haven't even scratched the surface of what I want to do with it. I have decided that 2012 is going to be the year in which I either give it a proper go, reboot or scrap the project. By the third quarter of 2011 I wanted to reach the alpha stage, but Deus Ex and Skyrim severely undermined that goal. I'm still very far off, but there are still eleven full months in this year in which, if I dedicate myself, I can get a shit load done.
My heart goes out to continuing this project because I'm very happy with the stuff that's already been done and I've gotten a lot of positive feedback. There are quite a few people that want to see me continue and finish as well. The project is flawed, but you learn as you go and I have the feeling that even if I reboot the project, that six months in I will have regrets like I do now.
But rebooting does have advantages. I made many mistakes that prevent me from progressing as fast and as smoothly as I would like. Also, deciding to incorporate all the aspects of Shadowrun the way I would like is a very, very daunting and ambitious task, the likes of which I am not a hundred percent sure of will lead to a playable browser game, especially multiplayer. It's a case of waiting and seeing, tinkering and tailoring. Rebooting will likely net me a cleaner framework. Lots can be recycled and upcycled while the problematic bits can be canned. I have had several ideas about other projects to try, but I'm trying to keep my enthusiasm from wandering in that direction and focus it on Corrosion. A lot has already been done that would have to be redone. A lot.
Scrapping it has been on my mind too. Especially now that it appears an official Shadowrun browser game is in the making. Quite more high tech, done in a Unity type engine that will give a far more immersive type of play. It's of course unsure when that will be published (if at all), but I would love to play it myself so I can imagine it would wipe the floor with my relatively amateur, hobbyist game. Then there's the probable cease and desist I might be served, since I'm doing all of this in good faith, knowing that by the grace of the IP owners I am allowed to do this. At a whim they could shut me down.
But for now, I think it's a learning experience and character building as well. A project of this magnitude is forcing me to exercise my planning and strategy muscles as well as testing my fortitude. On top of that, and anyone who has made anything and seen a project come to life will attest, there is something invigorating and exhilarating in making something. Creating and nourishing something.
A clean slate. This has come up several times over the last few days, in different contexts, but it's coming back to haunt me once again. This time, it's Corrosion. I am getting the itch to start all over, from scratch, and fix some of the mistakes I initially made. Set things right. I'm not going to do that, because I realise that you'll always keep that urge. You work, you learn, you grow, you look back and you realise what you could've done better. It's also one of the traps you can get caught in. Always go back to rewrite and redo your own code and never push forward to finish anything. I just have to keep telling myself that. :)
Lately, Corrosion hasn't been getting the necessary attention it deserves. Sure, I discovered Bloodlines and Deus Ex: Human Revolution which have swallowed up significant amounts of my time, but still, I should've been a wee bit more diligent.
Working on the Arena has had me demoralised due to a glaring flaw in the approach we chose, which had been nagging on the periphery of my mind, had been noticed by certain players, but one that I was hoping to find a work around for. Tweaking the opponents in the Arena became almost impossible.
For those who care to know the details, read the following paragraph. For those that don't, skip this paragraph and move on to the next one. In essence, we had decided we'd like to let go of racial attribute maximums, allowing a near endless expansion of attributes only soft-capped by a maximum action points you can spend in one go to raise it any further, etc. etc. Unfortunately, a really high Strength attribute means a very high body resistance target number. A very high Willpower attribute means a very high sorcery target number. As soon as an attribute becomes the target number for something, this concept breaks. Nobody will shoot an Ares Predator with a damage code of 9M when the body resistance test is done with 25 dice against a modified target number of 4. Especially when you can also fight with a Combat Axe which, when you have a strength of 25, gives you a damage code of 25S and even if you have a Body of 25 to resist that, a target number of 20+ is brutal.
So yeah, we had to change that. So attribute maximums are back in and we reset all characters, basically wiping the slate clean. Everyone understood, but not everyone was very happy with starting over again. Asking for starting karma and reputation, which we weren't so keen on granting. It means we really have to step up our development from now. We've got a great idea for a new mission, which will incorporate some new things and should be available almost immediately. We'll retweak the Ripper mission so that it'll be available sooner and we'll hopefully keep some of the dissatisfied players.
Anyone, short update over!
We've just released a new mission for Corrosion. Anyone with a reputation of 50 or over now will get a msg in their inbox asking for a meet. A rich man wants you to retrieve a reminder of something that was taken from him by a gang. You have to find that item in the gang's hide out. (Not without them putting up a fight.)
With the introduction of this new mission there will the introduction of three new enemies. Previously, there were just the ghouls to fight -- mindlessly running at you hoping to claw their way through your stomach. Now there are dogs, gangers and ganger lieutenants to deal with. Some of them carry weapons and shoot at you from a distance while they sick their dogs on you.
Also, while ghouls were mindless, gangers are social creatures. If one of them spots you, he'll warn the others. If you attack one that hasn't spotted you yet and don't immediately kill him, he'll warn the others. Yeah, it's not so simple anymore. :)
Also, there's the option of searching mission premises after you've cleared them. You might be able to find something worth using or selling...
Self motivation can be a big problem. When you lose your momentum or enthusiasm in any project it's hard to pick it back up again. With Corrosion, I had that when I was trying to figure out what to do with the pathfinding algorithm. It was just not performing and it was a draining and harrowing experience. It's still not the way I want it to be, but at least I got it to work to a degree that I could continue.
Then it was implementing spells in a solid way. Shadowrun spells are funny things; they don't operate in a uniform way, so there's a lot of exceptions that you have to build into the code. I've got the spells implemented for players now, but implementing it for enemies is going to be a bit of a pain still. That's where I am right now, thinking about the best way to implement them for enemies. Luckily, I was smart enough to build in several hooks when I was busy setting them up for characters, so it's definitely not going to be quite so difficult as when I would have to build it from the ground up, but still.
Surprisingly, it's also not about the reward; the reward will be a whole new mission that's just waiting to be used once spells get done. All the players are begging me for more content while I plug away at the foundation and the new mission, The Arena, is just sitting there waiting for me to get off my ass and do it. I suspect it's going to be about a week's worth of work. So about 20 hours in total, so that's not so bad, it's just the start that sucks. I'm an idiot. :)
And I can't even start to think about implementing spells into the PvP engine, because that requires a level of sophistication that I don't know how to tackle yet. The PvP engine requires a lot of sophistication it's lacking right now. The combat for characters is all automated, so ideally you'd make a few smart decisions for characters, like when to reload their weapon, when to switch to unarmed combat when their bullets run out, when to apply a slap patch or cast a Heal spell, how long to keep casting spells and at what wound level do you not risk any further drain? And ideally, all these things should be lightly customisable for a player.
Anyway, I'm just ranting a little bit. Talking (or writing) about this project usually gets me motivated. I should do it more often. :)