Tuesday, January 28, 2014

The State of Spark -- Beta be careful

Okay, so now I've been using Project Spark quite a few months since my last entry -- that entry (along with some participation on various social media places about Spark) gained me access to first, the alpha, and now the private beta (which is only "private" in that you actually have to ask for entry, which apparently is about the only criteria nowadays).

First some disclaimers -- I'm in love with it, although it's a love with wide open eyes in that I can still see her flaws and love her despite them.  I'm also fairly active in the amazing Spark community, which is at least a major reason that Spark is so wonderful.  That community, which is managed on the Microsoft end by Mike Lescault, not only gives you support and encouragement but provides a hotline into the further development of Spark.  Team Dakota (the actual Project Spark team within Microsoft) has shown they are more than willing to listen to their users -- they make user satisfaction a high priority.

Now that Spark is out in the wild, so to speak (although it's important to understand it STILL is in beta) folks are starting to react to it who are no longer under any NDA (no NDA in beta) and so we have things like this:

10 Things Microsoft Got Wrong

But the blogger himself got a lot of things wrong (and some right), so I prepared this response.  For those of you interested in Spark (and if you are reading this, you should be) here's what you should know (the bullet points are the above bloggers, and what follows are my take on them):

  1. Setup is difficult (requires Win 8.1)

Um, move to the 21st century? Complaining about needing the latest version of the world's most popular OS is like folks who played DOS games complaining about Windows when it came out. Yes, this is an MS product, it's going to run on the Xbox One (which uses Win 8) and it requires Win 8.1 (a free update to Win 8) to make it work. There will always be Luddites out there, and folks who are afraid of Windows 8 (almost always people who base their fear on reviews and have never actually tried it) probably aren't a good target audience for Spark anyway.

Windows 8 is the best Windows 7 there is. Get over it.

  1. Requires Windows 8.1

Hmmm – isn't this the same thing as the first one? Yep, it requires 8.1. Guess what – the Xbox One RUNS Windows 8. That's the OS it uses and it's not a function of Spark. Again, deal with it. If you don't like Windows 8, you won't like the Xbox and that has nothing to do with Spark. Either you are the sort of person who can handle new technology or you need to keep playing Pong. Swim or die.

  1. Bad UI

Yes, there are some definite issues here. It's also beta, and hopefully there will be some cleaning and pruning of unnecessary buttons and words. However, it IS right on to say the editing buttons and functionality are a mess. “Edit from Here” doesn't work – almost worthless (rather than actually editing the world as it is, it only edits from where a playable character is sitting – big deal). Loading your own level and only having the option to “Remix” it unless you first play it and THEN go to an edit mode is also clumsy and confusing (it also makes you a co-creator even if it's only you working on it). Hopefully this and other issues will get taken care of but they aren't show stoppers.

  1. Fonts bad

Um, not sure what the big deal is here, unless the reviewer's graphic card isn't up to snuff. Fonts are fine and not pixelated. Typography is a very personal thing, though – one man's ES is another's UglyQua. They are readable and they work. Do we need more fonts? Absolutely – and this is an area where I hope the devs are listening.

  1. Graphics

Unfortunately as it comes out of the box Spark doesn't have the best looking graphics in the world. They are not ugly, they aren't awful, but they aren't the best of what the game can do. The defaults, however, are just that.

Put some DOF and add in some beautiful FX and Spark can rival the best of any video game out there. I have to admit the first time I saw a game using some of these I sat up in my chair and went “Whoa!”. As folks get more and more comfortable with the game we will see better and better examples.

  1. Bad 3D Controls

Hard to get around this. Yep, they ARE bad, clumsy and difficult to use. A lot of times “Center on Player” just plain doesn't work but it's the tip of the iceberg. I'm not sure what the reason for the controls to be so awkward and unintuitive but they can use a lot of improvement. Again – this is beta and we would hope by the time of release they have fixed this.

  1. Not much free content

Yeah, another telling criticism. Indeed, if there is ONE major issue with Spark it's the lack of varying style and content. We have exactly one baddie – the goblin. We know there is one more coming but that's also about it. All the characters are basically clones of a young male. And while there are some content packs they are rather expensive considering what you get.

On the flipside you DO earn the ability to purchase all the content that is available, so unlike just about any other game out there you really don't have to spend a dime to play. If there is a lot more content available this could be an issue, of course, but it's still cheaper than most full-games out there. I don't think content in Spark is exactly expensive, just extremely limited.

This may be the issue that turns off more folks on Spark than anything. Nearly all the games, no matter how well designed (see below) are starting to look so familiar it is hard to imagine even 10x the content packs being released changing this. Will Spark ever be able to do a realistic game like Grand Theft Auto, or a Sci-fi game like Star Wars Knights of the Old Republic? Or even just anything that doesn't look like Fable?

We are told that no outside content creators will be allowed, and that it takes a LONG time to develop content for Spark. None of this bodes well for a diverse and rich universe of content to ever be available for it. Spark may end up being one of those niche products that folks will think fondly of when they think about game development just on this basis alone.

  1. Achievements are difficult

This has (mostly) been addressed with a new server side patch that added new, easier to attain, milestones. If an old man like me can reach the maximum level (50) in about a month of using the game, almost anyone else can. It isn't terribly difficult but it does require a commitment to using the game and that's really the whole point.

Folks who just want to dabble with Spark don't need to achieve any higher level, so this isn't really an issue.

  1. It isn't fun

This is a hard one to quantify. There are lots of fun games made by Spark, and there are lot of crappy ones. It's hard to uncover the really interesting ones due to all the crap, but this curation is being worked on by both Team Dakota as well as the Community and may eventually work itself out.

Also, truly longer form games will need some improvements that are planned. Level linking and multiplayer are in the works and if they haven't come out yet they are certainly high priority. They should make it possible to make games that are fun for nearly everyone.

There isn't, yet, a “killer game” or one that makes everyone sit up and say “this is something I really need.” That will come – it's still beta. Given the content issues (noted above) there is nothing other than level linking and multiplayer that holds Spark back from creating just about any game imaginable.
  1. Kode issues

Yep, another telling criticism. The implementation of Kode is fraught with issues and it's all the more troubling since this is the core of what makes games in Spark. So, yes, the fact that the tiles are so incredibly huge (so you can only see three or four lines at once on the screen) is pretty awful. So is the inability to print out your Kode (which would mitigate that issue), or import and export it (a very basic ability that should have been there from the get go). Unfortunately, Kode here betrays its' Kodu roots – except that Kodu was never designed to create games this complicated.

The idea that you can't see all the tiles (because they walk you through only ones that are available) is admirable but flawed, because a lot of times you can't even see HOW you can get to the tiles you need. Part of this can be fixed with examples (as it stands now about 80% is undocumented, which makes using it more of an arcane art that truly makes learning Spark a lot like playing a video game like World of Warcraft – as you watch the mage you will learn, young apprentice).

At the very least the resolution of Kodu has to be improved, NOW. We need to be able to see at least 10 or 12 lines at once on a screen (so the tiles should be halved, if not smaller). This would also help us get more than 8 or 9 tiles in the circle at once (again, an impediment to seeing what is available). But more than that, we HAVE to have external tools to manipulate it (and relying upon third party solutions like the terrible KodeShare is NOT an acceptable solution). There is really NO excuse for not being able to print it out, in English (not a screen shot) the Kode lines so we can read WHEN player DO move. And we need the ability to import such an English language construction as well. The development of Spark would be sped up, oh, maybe 10 or 12 fold if we had these sorts of things.

The Cure

Saying Unity is the cure to Spark is a bit like saying building a home with real bricks is a good alternative to using Legos. They are two completely different things which, while sharing a bit of similarity and common architecture, aren't even apples and oranges (but more like apples and paper clips). Unity is a professional software development engine that costs $$$ (the free version is VERY limiting and only really designed to whet your appetite) for developers who want to create games for sale. It takes months if not years to develop a game using Unity, and no one who isn't going to make a career (or at least a major commitment) is ever going to use it.


Spark, on the other hand, is for the aforementioned Legos type individual, who wants to have fun and dabble in game creation but doesn't plan on selling their games nor taking months to make them. It's the difference between someone making a YouTube video and someone having a film career. Spark could certainly be a springboard to someone who wants to get into game development, but Unity would never be something you could pick up for an hour or two over the weekend and creating something your family would enjoy checking out. There's no question Spark could be easier and better, but it's still a beta and as long as the developers have a plan in place for addressing the issues that currently face them it can have a long future as the most fun most people can have with a PC or their Xbox.