Friday, May 31, 2013

The Unity of Microsoft and Mega Man

This is still arguably a progress report for Minotaur, but seeing as I'm trying to figure out Unity with a simple arcade game, I didn't think it would be appropriate to flag this as such.

So Unity...

Thus far, I've installed it (and Blender for simple 3D modeling of primitives, such as a plane made of two tris instead of many), but I haven't gotten into it.  This is definitely one of those things I'll want to follow tutorials on for a while instead of my usual method (which is dive in deep and get myself into trouble).  However, tutorials require being online, which is not usually when I get work done (e.g. on the bus).

So since that's about all I've got, how about a brief rant on Microsoft and Mega Man?

Windows 8.1 is on its way, with a start button (here, my wife would be surr to cut me off to correct me - start hint).  This hint is a one-click return to the start screen, because that's clearly why people are so ticked about the desktop lacking the start menu.  Oh wait, did I say start menu?  Yes, and that's what people miss, not the button (now hint).

Let's go back in time to Windows 95.  Those of you too you to remember, think of Windows 7, just a lot more blocky and lower resolution.  Let's think of this in terms of level design:  Your player boots up the game, and you want them to discover the key mechanic as quickly as possible.  What do you do?  You make it the only viable option, place it on the left side of the screen (assume your core audience reads left-to-right), and label it Start (see Mega Man X - you select start, and Mega Man fires a half charged shot, showing the player two of three key mechanics available at the beginning of the game [shooting and charging shots]).  Whammo, immersed!

So the big thing with Windows 8 is the new start screen and tiles, so it makes sense to do the same thing.  However, now you have years of convention and bias toward the old mechanic, so you include parts of it, but miss a key element such as a small menu that quickly let's you start a new program without completely breaking your flow on your current activity.  Sticking with the Mega Man X anology, we have the introduction of 3D gameplay in Mega Man X7.  We see the return of shooting and charged shots, but the game ends up awful and doesn't feel like Mega Man at all. Why?

As mentioned before, Mega Man X had three main mechanics at the start of the game, the aforementioned shooting and charged shots, and jumping. X7 had jumping, so what was missing?  The critical component (clearly realized as such with its inclusion as a primary ability in the rest of the series) is dashing.  However, X7 still had that, so we still haven't lost anything, right?

The missing piece is not the mechanic itself, but the gameplay it allowed. Suddenly, Mega Man is able to dash through the levels, reach far gaps, move more quickly, and all but fly using a dash jump.  The speed and intensity of gameplay is drastically increased, almost frantic, yet still tight controls allows for incredible precision.  Whereas Mario slides to a stop, Mega Man just stops from a mad dash.

That's what we lost in X7, the speed and intensity.  This is what Sonic lost when trying to go 3D.  This is what Nintendo mastered in the realm of 3D platforming.  Gameplay feels the same throughout the Mario franchise, but Sonic and Mega Man didn't - at least not yet.

See you next week (perhaps with a unified subject instead of a dualistic rant).

Edit:  Seems you may be able to get something akin to the start menu in Windows 8.1 by messing with settings, but Microsoft marketing is too busy making dubstep dance routines and slandering competitors to create any informative advertising lately.

Friday, May 24, 2013

Project Minotaur Progress Report: The Road More Travelled By

Once again, I'm breaking format and don't have much to report.  I've been running ideas and engine designs and scenarios through my head this week, but haven't fully decided which way to go on several key decisions.  However, there's been a lot of articles on Unity recently that have really piqued my interest.

Basically, what I'm running into is that Unity is free, established, and supports many platforms.  There's quite a few solid 2D tutorials that popped up this week, and the recent announcement that publishing to mobile is now free really makes Unity enticing.

So here's the plan:  I'm going to try Unity out for a week and see how I feel about it.  I've got a simple game idea to try out which is a bit more active.  Taking a short break from Minotaur should hopefully refresh my spirit for the project - and having a bit more time to work with Unity before bringing it over should prove valuable.

See you next week.

Tuesday, May 21, 2013

There Can Only Be One!

The Xbox One was revealed today, and I've been enraged about it all day.  It was designed from the ground up as an all-around entertainment device, not a game console.  It's got online-only features that encourage always-online games, and reports are mixed and confrustrating on whether or not used games (or borrowed from a friend games) will be playable without purchase.  The theme of the reveal was magic and science, but all I see is black magic and dark alchemy.

Let's start with the wide focus of the system.  The Xbox 360 began as a gamer's console and a strong launch title in Oblivion.  It evolved into an everything console, with services like Netflix and Hulu offering another form of entertainment when you didn't feel like taking on another persona and charging into battle as Master Chief/Modern Soldier/The Dovakin.  However, this time around, it's a flipped scenario.  The One is to be for TV and fantasy football, Skype and Comcast, with games on the backburner.  Yes, it's great to have more options and more experiences, but when those take the primary role of the console (I'm making that assumption based on the dominance TV watching took during the reveal), the games side suffers.  That's what I'm most worried about on this front - that the one will be a powerful thing, but not a game console.

Secondly, always-online requirements are always wrong (okay, not always: MMOs by their nature require you to be online, as do Facebook games).  It's a cool concept to empower the system to live forever by adding cloud computing, but by encouraging it so heavily, Microsoft worries me and leads me to believe that we have yet another veiled attempt at always online DRM.  Worse yet, what if you have to subscribe to Live to be able to play a single player game?  What if the servers get shut down?  This is scary and bad stuff.

Finally, we have the major threat tothe used games market.  As a developer, it would seem I'm fighting for the wrong side, but I like game stores, and I imagine without used sales, we'll see a lot of closings.  With fewer stores, will games sales suffer?  More importantly, what about letting a friend borrow a game or taking a game over to a friend's house?  These are key experiences to gaming that I don't want to go away.

The Xbox One scares me.  Given what I've seen today, I honest am hoping for one of two scenarios:  Either Microsoft changes it's tune at E3 and we have a game console that allows for borrowing/trading/used games, or the whole system is such a tremendous flop that no company will ever consider this route ever again.  I hope it will be the former.  Only time will tell.

Friday, May 17, 2013

Project Minotaur Progress Report: Or Not

No progress this week - I had an interview to prepare for instead.

See you next week.

Friday, May 10, 2013

Project Minotaur Progress Report: Finding My Stride

Legend:
(-) Goal incomplete
(~) Goal partially complete (buggy/hacked)
(+) Goal complete

Goals for this week:
1. Continue engine redesign
a. (+) Overhaul sprite rendering

Goals for next week:
1. Continue engine overhaul
a. Finish Sprite revision

Other work done:
None

It's been a good week for Minotaur - a few key upgrades took up my development time (which is finding a rhythm that fits into my life without dominating it), including reworking how sprites are rendered - specifically adding scale, rotation, and color filtering.  This gives me a lot more power and really expands the amount of polish/shine/feedback/juice that I can provide.  It's one of those major wins for adding a lot of little things to make every action feel satisfying.

However,  there's still a tremendous amount of work to pour into making a decent engine.  One of the big ones will be deciding how to handle the object list, particles, collision, saving/loading, and a myriad of other things I haven't thought of yet.  In the end though, it should pay off when I get to working with a solid engine - so much dev time will be saved later.

See you next week.

Friday, May 3, 2013

On the Bus: My Ouya

A quick about for this On the Bus thing: Quite simply, I have stuff on my mind, want to write more often, and the evening bus ride offers time for that.  It will be a random release schedule.

Right now (or maybe it's over by now) there's an Ouya AMA over at reddit - which I don't make time to use.  I've nothing against reddit, it's just not something I've adopted, or really plan to.  I'm indifferent.  However, there's been a lot going through my mind on the Ouya, especially since it was launched on March 27, but only 50% of early backers have had their consoles shipped.  I'm in the other half - still waiting and trying to be patient.

The key word there is trying.  I'm a dev.  I understand that stuff happens, and we developers walk a razor-edged life between what we can do in time, what the players expect, and what we dream.  I understand the idea behind shipping basic consoles first because it's the most efficient path to getting consoles out.  I understand the other side of this as well.  I myself called the idea lame from a personal perspective.  I was elated when they switched that up.  I'm still bummed that I don't have the console yet.

I also am a little relieved though.  The longer my Ouya takes to ship, the better it will be, it seems.  There was feedback about sticking buttons and analog sticks, which was apparently caused by excess glue in the manufacturing process.  It has been fixed.  There were issues with the controller battery panels popping off during shipping. Fixed.  The longer my Ouya takes, the better it will be.

What about those that already got their sticky controllers, though?  What if the Ouya I get has some critical flaw yet unseen?  I have to buy the release version of the console, despite pledging the full price of the console because I believed in it?  Is that fair?  I know Kickstarter specifically states that pledging is just that - giving money with the promise of some reward that may never come - but it irks me that those of us who helped start the revolution (for that is truly what Ouya was promising) are the worst off.  We will find the flaws with the system so it can be tweaked before the full release because that is the real reward we earned from backing it.  We pledged for the console, the revolution, but we were rewarded with the opportunity to beta test the system.

It just doesn't seem right.

So as much as I want my Ouya, to play with it (both in player and developer terms), and really see how the controller feels, how the system behaves so I can better design for it, I'm also hoping I get one of the last betas rolled off the production line.  I want the finished product, but I want it a month ago - when I was more excited than fearful.

Viva la revolution.

Project Minotaur Progress Report: Slow Going

Legend:
(-) Goal incomplete
(~) Goal partially complete (buggy/hacked)
(+) Goal complete

Goals for this week:
1. Continue engine redesign
a. (+) Revised animation system
b. (~) Revise Basic Sprite

Goals for next week:
1. Continue engine redesign

Other work done:
None

Time is such a precious and limited resource.  I'm always trying to feed too many hobbies and interests, always trying to avoid burn out, and lately I've been trying to avoid sleep deprivation.  It doesn't leave a lot of time for working on this side project of mine, and the time it does leave is in that lull of motivation,  energy, and focus.

All excuses, I know.  I feel like putting my BS in a public space might help me get over it.

Now for the real reasons I'm slowed down:  Engine design and implementation, complete with full documentation (useful commenting), is a pretty thick process.  I've implemented the same basics a few times, but trying to do things in a more sustainable fashion (something I can reuse on several projects) is taking a lot longer.  I get stuck spinning a what-if loop, trying to calculate my efficiency using what I'm writing, trying to detect code that might "expire" at some future point, requiring another overhaul like the one I'm currently tackling.  It's mentally taxing to say the least.

However,  the remedy is to actually get enough hours into development each week to chip away at the task.  Now to just get over my excuses...

See you next week.