Micro-payments and economies of scale June 22, 2009
Posted by frater in All, Rants/Opinions, Software Development.add a comment
Gamasutra – Features – What Are The Rewards Of ‘Free-To-Play’ MMOs?
Gamasutra has an interesting article here about free-to-play MMO’s and whether or not the micro-payments business model works. It certainly seems to be working in some of the cases listed, but more interesting perhaps is the note at the end that companies can become comfortable (and need to, if they want to try this model) with bringing less money in and sending less money out.
This gives me great hope for the gaming market of the future, just as new platforms like the iPhone and Facebook have. Each new platform has given licence to small groups to try something new. They have to do it cheaply, they have to do it simply, they don’t have huge budgets and the limitations of the platforms don’t require them to. They live this idea that if they spend less money they don’t need to bring in as much to be successful.
What you end up with is an awful lot of crap. Check out facebook games, and the million-and-one “mafia” style iPhone games that rip each other off shamefully. You also get an injection of new ideas, innovation and a lowered barrier-to-entry. You get a spiritual return to the days of the commodore 64 and the amiga, where games were developed in a short amount of time by a single developer, or a small group of developers.
One of the great reducers of innovation is cost. The big multi-million dollar blockbuster games are a big investment and if they go wrong, they can do substantial damage to even a large, well-funded company. It’s no surprise really that the big game publishers resist innovation and want “the same, but different” in each release. Innovation, where it happens at all, tends to become restricted to small changes over time.
As an example, The Sims has become one of the biggest earners in the game market ever, and it was only Will Wright’s track record and influence that ever allowed the game to be made; executives didn’t think there was any money in it and were scared by the departure from the ordinary that it presents.
So I am filled with hope anytime evidence arises to show success in turning back this particular clock, any time that games can be made cheaper, with less people and overhead, then there is potential for something more risky and potentially interesting and market-changing to occur.
Unrecognized attribute ‘xmlns’. June 19, 2009
Posted by frater in All, Software Development.add a comment
Here’s web-systems based error that is tangentially related to BizTalk 2006. If you use BizTalk 2006 in order to generate a webservice this problem will often need to be fixed before your webservice will be useable.
This issue is that you receive the above error message, Unrecognized attribute ‘xmlns’., when you attempt to log on a webservice and use it. It’s easy to test for as it should show up if you use a browser to hit the service and attempt to load up the test forms.
This is caused because, although the web service/web page is using Asp .Net 2.x, the website itself is set to use Asp .Net 1.x
The trick is simply the launch the IIS management application, navigate to the Asp .Net tab, and set the target framework to the 2.x version of the framework.
Try again and hopefully, it should work.
SQL Server Setup failed to obtain system account information for the ASPNET account. June 14, 2009
Posted by frater in Administration, All, Software Development.7 comments
On the topic of Sql Server 2005 installations, A seperate issue that may occur is the following error message:
SQL Server Setup failed to obtain system account information for the ASPNET account. To proceed, reinstall the .NET Framework, and then run SQL Server Setup again.
This is generally caused by installing IIS and not configuring asp .net, particularly if you install IIS after already having installed Visual Studio at an earlier date.
Fix this by registering asp .net with IIS. To do this open a command prompt and go to the following directory:
C:\windows\Microsoft.NET\Framework\v2.0.60727\
This is assuming you’re using .Net 2.0 or higher (3.0, 3.5). Even if you’re using the 3.x series and Visual Studio 2008, you still need to go to the v2.0 directory for this operation – this is because the 3.x series are not a replacement for the 2.x series, but rather extensions. (3.x is a superset of 2.x and there have been no breaking changes to 2.x functionality).
If you want to understand this further, there is an interesting post about it here: http://blogs.msdn.com/vijaysk/archive/2008/03/20/running-asp-net-3-5-on-iis.aspx
For now though, run the following command: aspnet_regiis.exe -i
This will register asp.net with iis and hopefully solve this issue.
Edition Change Check Warning June 13, 2009
Posted by frater in Administration, All, Software Development.4 comments
Found an interesting little issue today when trying to install Sql Server development edition (though I’m led to believe it applies to all versions).
On the configuration check screen I noticed a warning next to “Edition Change Check”, the message of which read:
To change an existing instance of Microsoft SQL Server 2005 to a difference edition of SQL Server 2005, you must run SQL Server 2005 Setup from the command prompt and include the SKUUPGRADE=1 parameter.
I did a bit of investigating and it looks as though the cause here is that I already have sqlexpress installed. It looks like I installed it along with Visual Studio some time ago and forgot it was there, so the Sql installation files are assuming they’re going to be used to upgrade this installation – which it can’t do without specific instructions.
One of the potential issues here is that in order to do this, all service packs and hotfixes need to be uninstalled (something it obviously wont do without the proper permissions). What this means for us is that after we perform the upgrade, we need to reinstall all the service packs and hotfixes to ensure proper security.
The trick then is to open up a command prompt and navigate to the cd/dvd directory that contains the sql files and run this command:
setup ADDLOCAL=SQL_Engine INSTANCENAME=MSSQLSERVER UPGRADE=SQL_ENGINE SKUUPGRADE=1
If you’ve used a different instance name for your installation of the initial version you will need to use it here instead of MSSQLSERVER. MSSQLSERVER is the default name for a standard Sql Server installation, however the named instance for a standard sql express instance is SQLEXPRESS which I suspect is the most common case where the need to do this would catch us by surprise.
Note that the Edition Change Check will show as “Success” when this has been done properly. It took me a while of testing to ensure this as the property names are case sensitive and it’s easy to make a typo. Don’t continue past the configuration check until all the checks are green.
From there it should be a standard installation with no worries.
It might be useful to note that it is in fact possible to install an instance of sql server alongside sql server express if you do not wish to upgrade (or to keep the sqlexpress name). In this case it will just install as expected and you will be able to access either instance by name at leisure.
Hope this was helpful.
Technical Debt, or: Doing the Work Properly April 7, 2009
Posted by frater in All, Software Development.add a comment
I read an interesting article recently about the idea of “Technical Debt”,
Technical Debt – 10x Software Development
This article raises several issues for me. Firstly it is a sane and readable analysis of a problem that everyone working in the Software Development Industry has faced at some stage or another. The idea that we should track our shortcuts, hacks and the “hey, I just noticed we screwed this up, but there’s no time to fix it” moments with an aim to paying them back is laudable.
Personally, I’ve always had a problem with this part of our industry. No builder of houses would ever say “well, we promised it’d be ready tomorrow, they’ll pull the job if it’s not, so I’ll just wrap it up with duct tape and they’ll never know the difference in the inspection and fix it properly later.”
Actually I can’t actually -know- that this has never been done, it probably has, but I know if word got around that builder would be out of work before he could blink. This, however, is exactly what we do when we get into the “There’s no time, I’ll just hack it up so it works for the demo” frame of mind, and it is not only accepted but seems to have become “Standard Working Practice” for the industry as a whole.
I’ve always felt this to be a betrayal of my integrity and have felt it keenly every time I have been forced to do so. Even moreso by the fact, as everyone knows, that the later fixes Never Happen.
That, in my mind, is the big problem with this article. An awful lot of software developers are working to fixed price contracts, and when the release is delivered with hacky code that is dangerous but satisfies the customer, there is very little incentive to go back and fix it. It’s easy to say that “when things slow down we’ll fix it”, but in the current economic downturn many large software shops have to account for all of their developers time and work. Try explaining to an account that “Yes, it worked, but it wasn’t good enough.” For that matter, try explaining this to a client who wants to know why you want an extra couple of days to work on functionality that, as far as they can tell on the surface, already works fine.
That is the big problem we have as software developers. Whilst people can immediately understand why a building held up with chicken-wire is a bad idea, it’s not so obvious why an application held together with hacky glue code is a bad idea.
It’s also important to note that if you’re unwilling to go to the client and say “We need a few more days/weeks to work on this functionality”, then you’re probably not telling them that the code they’re looking at is hacky either. Odds are good you’re hoping they wont notice and planning to fix it quietly in the background before too many more releases go by. This means that at the end of the release cycle when the project is nearly done and you’ve still not found the time to fix these problems, you’re not going to be able to explain to the client why you need “just a few days or weeks more”. You can’t tell them that you’ve been dishonest, and the functionality they think works fine is only a few coincidences short of crashing and burning horribly.
So you’ll deliver the final version with the hacky code still in it, you’ll console yourself that maybe you’ll have a chance to fix it during the support period though you know it’ll never happen so long as the hacks hold together. In the end the company just holds it’s breath and hopes nothing goes wrong before the warranty period expires.
The techniques in this article might help a bit, by encouraging teams to pay back the instances where such hack work in unavoidable. It also sounds as if it would work far better in cases where an application is being developed in-house, rather than to-contract. I think the industry as a whole though needs to focus more on scaling back just how often these “Technical Debts” are incurred, and understand that the majority of them never get paid back, and the eventual cost may well be to your reputation.

Common mistakes in Sharepoint Development March 13, 2009
Posted by frater in All, Software Development.add a comment
I was sent an interesting article today about performance issues in Sharepoint Object Model Code. There are some interesting points in there, particularly with regards to how to structure code to minimise database calls.
InfoQ: SharePoint Object Model Performance Considerations
It is important to realise that a lot of these mistakes would be quite easy to make, particularly for a developer more used to the windows forms environment. One I was quite taken by was when they pointed out that each discrete time the “items[]” element was accessed, if the results weren’t stored, it trigger a complete rowfetch from the database. That sort of thing, used in the standard way in a loop, could cause an awful lot of database access.

IF Competition 2008 Review #4: Dracula’s Underground Crypt October 21, 2008
Posted by frater in All, Interactive Fiction, Rants/Opinions, Software Development.add a comment
Name: Dracula’s Underground Crypt
Author: Alex Whitington
Review Date: 21 Oct 2008
Parser: Z-Code
Availability: IFComp 2008 Entrant
URL: http://www.ifcomp.org/
Version: Competition Version
Plot: 3/10 – An attempt was made, but it wasn’t very long or overly complicated.
Atmosphere: 2/10 – Tried to be quite funny but ended up falling flat.
Writing: 5/10 – Not much to say either way.
Game play: 2/10 – Attempts to be open ended. Hard to say whether he managed it or not.
Characters: 4/10 – Professor was somewhat interesting. Main character was amusingly stupid.
Puzzles: 3/10 – A bit of a pain, but internally consistent. Lost points for a guess-the-verb.
Overall: 4/10 – A good effort marred by obvious bugs and so-so humour.
—–
Full Review (Warning: Spoilers)
—
First up, there is obviously some sort of story behind a google account name eggheadcheesybird. I always enjoy odd usernames, well done. In some ways however, that was the funniest part of this evening.
The professor was characterised very well and was quite unlikeable as was no doubt intended. I particularly enjoyed the diary, it put everything into perspective. I didn’t find a way to kill the professor unfortunately, I was hoping i’d be able to throw the flesh eating bookworms at him (also mildly amusing), but it would let me. Or stake him.
There were a few bugs. The biggest one was that the professor kept talking and moving and doing things when he was in a different room than the character, and you could lift the pillow and search things whilst the professor was sitting on it.
There was a walkthrough built in that was nearly less than useless. I needed it to get to the underground chamber, given that the statues didnt seem to be mentioned in descriptions anywhere, but even knowing what I had to do in there (get a rubbing of the coffin lid) it still led to a painful guess the verb puzzle in which my character beat himself to death several times with charcoal and paper.
The ressurection pages combined with the coffin message suggest you can resserect the female vampire and yet dripping blood in the urn fails to work and I was completely unable to find any of the interesting endings. On the whole, an interesting try marred by poor execution and overambitiousness. It may have been better to ignore the open ended idea and at least implement -one- full path that was interesting.
I didn’t feel much urge to replay it, open ended or not.
Four out of Ten.
IF Competition 2008 Review #3: Cry Wolf October 13, 2008
Posted by frater in All, Interactive Fiction, Rants/Opinions, Software Development.add a comment
Name: Cry Wolf
Author: Clare Parker
Review Date: 13 Oct 2008
Parser: Glulx
Availability: IFComp 2008 Entrant
URL: http://www.ifcomp.org/
Version: Competition Version
Plot: 7/10 – Started cliche, but the middle was quiet original and entertaining.
Atmosphere: 4/10 – House and town was generic anywhereville. The expected tense tone only lasted the first night, the rest was interesting, but not overly atmospheric.
Writing: 5/10 – Writing was not great in parts, particularly in the beginning, but got much better into the end game.
Game play: 5/10 – Good noun implementation for the most part, interesting actions and interactions.
Characters: 6/10 – Andrew and Marissa were quite well defined and interesting. Main char was watery and whiney.
Puzzles: 5/10 – I’ve never before played a game where you actually perform an operation on a dog.
Overall: 6/10 – There is quality story here that could do with a bit more of a polish, but has a lot to offer.
—–
Full Review (Warning: Spoilers)
—
This is the first of the games i’ve tried so far this competition that I can truly say I enjoyed, wholeheartedly. It wasn’t perfect, or anything even close – it caught me in a bit of a picky mood i’m afraid. In anycase, I was irritated right from the start by the intro which really dropped the ball as far as writing quality goes. It was terse when it should have been setting the scene. I found this particularly odd given the attention shown to detail – like a reasonable covert art submission which is something you don’t often see in ifcomp games. I think this may have been an oversight as it got far smoother later in the game.
Good attention was paid to the environment, which is something I always look for early on in a game. Searching the early rooms in the game just about every noun was implemented with something. Not always perfectly, some things that stick out are you can open and search the dresser without getting out of bed, if you take Celia’s clothes out you can examing the dresser and see it overflowing with your clothes, then search it and be told it is empty. Also, if you have searched the room and taken celia’s clothes (or even merely opened the dresser) then you cannot take your own clothes and get dressed, something that can be quite confusing. One other thing about the first room, I think far too many things in the room directly mention Celia and how she’s gone now. Sure its backstory and goes to state of mind, and obviously he misses her very much, but it belaboured the point a bit I feel. By the time the character crawled out of bed I was well and truly sick of Celia and thought he was probably lucky to be rid of her.
A few other small things stand out. At one point attempting to read a book points out that it’s too late, rather than points out that there is a giant wolf on you porch making that ill-advised. Also, lets be honest. How dense does the main character have to be – it’s a full moon, it’s a wolf in the middle of town who you splint, and you wake up with a naked woman in your bed, with splint, and…. what? Not even the inkling, crazy as it is?
That leads into the operation scene and the following interactions where the main character is told about Merissa being a werewolf which further points to the immeasurable denseness of the main character. There are almost shades of Lovecraft in this story as the character’s mind is described and being close to snapping – a very Lovecraftian twist that but unfortunately inexpertly described. When the operation is complete and the babies are described, definately the highlight of the game and quite original, and the main character’s perspective… shifts… this is quite well written. However the panic he experiences when talking to Marissa and she claims to be a werewolf was unrealistic, flat and inappropriate. Lovecraftian panic and madness is brought on by -seeing- things, experiencing things impossible and beyond the norm. Not simply being told things, it’s easy to laugh off and disbelieve simple words. Not to mention that the idea of her being a werewolf shouldn’t have been quite -that- much of a shock really, not after the moon, the split, the half-wolf-half-human puppies. It’s not like there wasn’t warning that something strange was coming up now was it.
The ending was fairly obvious in the lead up and I must admit I played towards being furry at the finish. I didn’t go back for any of the other endings, but it tied up the plot nicely and the character interactions were interesting. I’ve always liked character conversations driving plot branches as a gameplay mechanic, but as i’ve mentioned before i’ve always preferred story to puzzles.
On the whole a decent little game that, with a little polish, could be quite recommendable. Well done Clare.
IF Competition 2008: Interlude October 7, 2008
Posted by frater in All, Interactive Fiction, Rants/Opinions, Software Development.2 comments
I’ve noticed a trend over the years, that seems particularly prominent this year, and that is of people who eschew the various virtual machine systems in favour of creating their own game complete with parser/interpreter all wrapped up in an exe and ready to go.
I can see the appeal behind this myself. I’m a professional programmer and I wouldn’t have gotten into the industry if I didn’t love to tinker with software and play about with different algorithms. I’ve written small parsers and compilers as well at different points, and always loved genetic art algorithms and other strange and not particularly useful quirks of software.
That said, if you want to mess about with parsers and such feel free, there’s no-where written that you have to use Inform, Tads, Adrift or any of the others to write a game.
You might want to reconsider releasing them in the IFComp however.
For a start, lets examine the motivations behind it. If all you want to do is play about, there’s no need to release them at all. This is unlikely, because everyone who has created something, regardless of the initial reason, is likely to want some sort of feedback. If you do it to the newsgroup, outside of the competition itself, I think you are likely to receive a warmer reception.
These custom-built packages, to me, say nothing greater than “look at me, I’m so fantastic I can build a parser”. I’ve never yet seen one that, in flexibility and power, match up to Tads or Inform, or even come close to their stability, and they can only run on the platform they are compiled on – unlike the popular virtualised game files which will run anywhere there is an interpreter, which is to say everywhere.
All of that says to me – utter waste of time. You have reinvented the wheel, made it square, limited the places in which it can work, and then put it on a silver platter and sit back awaiting accolades that you really don’t deserve. I don’t even bother playing them anymore.
There is no reason, nor any justification, for a return to the parser-embedded-in-the-game format for interactive fiction. No-one wants or needs it. That’s not to say there’s no room for competitors to the incumbent formats but if that is your goal you need to meet them on their own ground, match their stability and feature-set and surpass it – a lofty objective.
There are also serious downsides to rolling your own system; the dangers presented if things should go wrong. This rant has been prompted, in quite a few ways, by what I read on this thread:
http://www.intfiction.org/forum/viewtopic.php?f=32&t=464&start=0
Emilian, one of the codes who decided the best way to go was to roll his own solution, is attempting to release an upgrade to his game whilst the competition is still going. This is, of course, seriously against the rules and he got quite belligerant when he was told this – and with good reason. In his mind he has not edited the game itself, he has fixed a bug in his interpreter, and packed it with a different packer.
Unfortunately i’d say he is mistaken on the first point. If you write your own parser and interpreter and release it as one big package then the interpreter is part of the game! You cannot make the same distinction to your own work, that between parser and game file, that is attributed to the widely available frameworks simply because that is the way you programmed them. They are being distributed as a single package, no one already has “coolXXX interpreter” installed seperately and they are not downloading the game as a bytecode seperately. For all intents and purposes, the two are one and the same.
The second issue is even more disturbing and perhaps the biggest indictment against the vanity that seems prevalent in these reinventing the wheel attempts – Emelian didn’t mention it until it became clear that people were not very open to the idea of installing a new version mid-contest but it appears that the packer he used to compress the size of the executeable was called “MEW”, which it turns out may have the unfortunate habit of adding trojans to anything packed with it.
I can understand why Emilian might not want to come out and say anyone who has downloaded the competition pack and installed his game might now be infected with a virus that he has sent out. It’s not likely to do your reputation or goodwill any favours, and in a small community like this that is really the only currency available.
He is showing naivity with his comments though “It’s your risk! Don’t blame me afterwards!”. Don’t be foolish Emilian, simply saying that will not make it so. People trust the IFComp and rightly so, and your actions have brought that into danger now. It is not anyone’s fault but your own that you used that packer and that you felt the inexplicable urge to create your own system rather than use one of the well known, and presumeably virus free, alternatives like the majority of the other contestants.
You felt the need to be different to the others; and in this you have certainly succeeded. Caveat Emptor does not apply and personally, I think you should be warning people far louder than you seem to be right now.
In closing. Unless you think you can do a better job than Inform, Tads, Adrift and the others, rolling your own parser seems little more than vanity. If you do do it, purely for the fun, thats fine – but be very very careful and don’t expect to be lauded as a genius. It was new tech thirty years ago, not today.
Interactive Fiction Competition 2008! October 6, 2008
Posted by frater in All, General Interest, Interactive Fiction, Personal Events, Rants/Opinions, Software Development.add a comment
Well, it’s that time again, and once more I’m planning on reviewing as many of the IFComp games this year as I possibly can. Experience has shown I’ve got very little chance of making it through all of them, free time being something of a luxury at the moment, still – the few reviews I managed last year proved to be reasonably popular so I definitely have to give it my best shot.
We’ll start by taking a quick look over the field competitors and note the stand outs in this year’s competition. I must admit, given that i’m likely not to get through them all i’m not going for a random approach – rather, i’m going to pick the ones that sound like i’ll enjoy them more. This will work out well, because they’re also the ones i’ll undoubtedly be the most disappointed in if they don’t live up to their blurb – which will make the reviews far more entertaining.
As I go through them, i’ll link to the reviews from this post so you can simply watch this space if you want to follow along. I’ll also post links to RGIF, to keep things simple.
So, state of the field:
The Absolute Worst IF Game in History
Well… no blurb at all. Appears to be written in Z-code, and I can’t say i’m familiar with Dean Menezes, the author. Still, you can’t go past a challenge like that. The question is, will it be a funny poke at the genre’s foibles, or absolutely mind-numbingly painful that will be a struggle to play through.
Really, either option would be a win given the title, so the only way this title can fail would be with a mediocre, rather than a bad effort. Way to set the bar low!
Ananachronist
A science fiction time travel setting and a name I can’t pronounce. Sounds like win. I’ve always had an interest in the philosophical theories of time travel and studied them at university, so this is one i’m looking forward to playing.
Cry Wolf
A wolf at the door after midnight. Reading this I felt shades of Lovecraft and I must heed the call. Ftaghn.
A Date With Death
It has a king, the grim reaper and the blurb suggests a fantasy setting. I’ll be giving this one a look and hoping that it has the grim reaper as a literal character and doesn’t just mean “You’re dying.”. It perked my interested, which is all a blurb has to do.
Dracula’s Underground Crypt
I like comedy and I like vampires. I also like the turnabout Alex has tried to use, albeit somewhat unsucessfully, in his blurb. “He’s note who you’re playing as” is full of contractions and just feels awkward as a sentance, though the intention is quite good and funny. Perhaps better would be something like “This is not his story”, make it simpler and shorter. I’m not expecting great things from this one, but I hope to be pleasantly surprised.
Escape From The Underworld
A demon with a change of heart… someone kitschy, but I like the idea of outsourced torturing so the setting sounds somewhat original. Could be good!
LAIR of the CyberCow
Farm Noir… chilling, ambivalently moral look at social thems of our times… cyber cow? How could you pass this one by without stopping in for a look? With such an intriguing blurb, it has a lot to live up to.
A Martian Odyssey
The blurb is flat and sounds like generic space adventure A. However, I do like space adventures, I havn’t seen Mars as a setting for a game in quite a while, and “chemist” is an interesting choice of hero. I wonder if it’s just colour, or if it’ll matter. Anything that makes you wonder in a blurb is likely to draw people in.
Piracy 2.0
As I said, I like science fiction, however given the way the blurb is written i’m not expecting a great deal from this one. The story sounds somewhat cliche and giving the whole story in capsule like that doesn’t leave me wondering anything – not even if the main character will succeed. The blurb gives me no reason to care, so this will be another one I will be hoping will surprise me.
Well, thats my pick of some of the most interesting sounding blurb, please note this is no indictment of the other games. If I have time i’ll go beyond these, but lets face it – i’ll be impressed if I manage this many.
Many of the ones I havn’t noted here had no blurb at all, so no real way to gauge how interesting it sounds. Also, I have particular tastes in style and genre, and I generally play for the story and not the puzzles – so i’ll go science fiction before say, Everybody Dies which sounds, from the blurb, like a deep, thoughtful literary excursion into fathomless depression. I’d rather play a nice sci-fi, even one that isn’t very good – at least it’ll make a fun review.
I should also point at that some of my favorite interactive fiction of all time are A Mind Forever Voyaging, Babel, Anchorhead, Vespers and The Lurking Horror. Take from that what you will, but I like stories. Puzzles, unless they are particularly clever, are never enough for me. (Lock and Key springs to mind, that was quite fun.)
Well, thats that, hopefully i’ll be back before too long with the first review. Feel free to comment and join in the litany.
A final note, I have never completed writing a piece of interactive fiction, though I’ve tooled around in the languages a bit, and i’ve no patience for teaching. Obviously I am a natural choice as a critic.