"Quest" Post Mortem - Ludum Dare #26

This past weekend I took part in my first ever Ludum Dare, a competition to complete a game in 48 hours.  There is no prize for first place, there are no long lists of lawyer requirements to sign, and there are no restrictions on tools, platform, languages, or ever what counts as a "game".  The Ludum Dare is hardcore indie, and people do it for the love of creating games.  How many people?  This weekend saw over 2300 games created, 1600 of which entered into the competition and the rest into what is called the "Jam".

The competition rules are few and straight forward.  Work solo, create all code, art, and sound for your game in 48 hours.  You can use any tool, but any code libraries must be available to all (if you want to use your own code library then you must post it publicly for anyone to use before the competition starts).  You must also share your code for review though this is just incase any questions come up about the other rules, you retain all rights.  If you want to break one of the rules and also take an extra day you can enter the jam which is judged separately.  Judging is done by those who submit games.

Getting Ready

For the LD48 (short hand for the competition) I decided to use Unity.  I need to move away from my beloved XNA since Microsoft already has.  Unity allows scripting with C# and Mono plus it supports every major platform and has a free version.  To get ready I worked though a 3D Buzz Unity video tutorial and if you're really curious you can see the result here.

I also spent time getting to know the LD48 process.  A week before the contest people submit ideas for the theme, which then get collected and voted on.  During the voting, one of the suggestions became very divisive: "potato".  Some felt that this was a joke theme that should have never made it to the final list.  Others felt this was a great theme.  Someone made a comicSomeone made another comicSomeone made a videoThings escalated on twitter.  I made a decision to take a side.  I don't claim it was a wise decision, but I stand by it.

Theme Announced

My first snag what the theme.  Potato didn't make the top 50 and "minimalism" was the theme.  I don't feel the game I created, a simple action RPG inspired by the classic Adventure on Atari 2600, meets the theme well.  Yes, I can say it's a minimal RPG stripped to its core, but guess what?  All games in the LD48 are stripped to the core!  If you have only 48 hours you are not going to make a very deep and complex game.

I spent an hour brainstorming ideas and then decided I didn't have more time to waste and went with the idea for "Quest".

What Went Right

I finished the game!  It has about 15 minutes of gameplay, sounds, music, special effects even!  This may not sound like much but this was my true goal.  LD48 is filled with tales of designers who start but didn't finish.  I had only two weeks of experience with Unity but luckily didn't get stuck too bad at any one spot.

I made all the 3D models in Unity from either the basic cube or sphere.  This saved a lot of time as I'm not experienced with Blender and don't have access to any pro level 3D modeling tools.

No tutorial.  I only put the keys used on the start screen, and had the player face the castle.  If you entered the castle, a message said "Retrieve the Chalice" giving you your quest and letting you know to come back here when done.  This may sound like a small thing but to a game developer it's a very big thing.  Tutorials talk down to the player, but a player who discovers the game goals and rules feels a sense of accomplishment.  I had my wife and two oldest daughters play the game with no guidance from me and they all got the goal, so I put this in the win column.  (My wife and oldest also beat the game with no guidance too).

The music - I'm pretty happy with the theme song.  I mean, it basic song writing 101 and I'm not going to win a Grammy or even get work as a freelance composer from it, but 6 years of band plus 1 year of music theory paid off!  I posted the song to my soundcloud account:

What Went Wrong

This is the interesting part, right?

Collision detection - I have no idea how this really works in Unity.  Three different times I had to stop and completely rewrite all my collision detection because a door wouldn't work or the player would walk over a monster.  To make matters worse, there have been changes to Unity regarding collision detection so many times I found Google gave me a link to an old article and there was a new, better method.

Sound effects - I used BFXR to generate all my sound effects, which is an excellent tool.  The problem is it generates mostly 8-bit era sounds and none of these fit well with the sound I wanted.  If it wasn't against the rules I could have busted out my collection of purchased effects, but since it is against the rules I found sounds I could tolerate and moved on.

No mouse look - yea, wtf was I thinking?  A first person game with no mouse look?  Really!?  Honestly, until I got comments about it I never noticed this.  Since I'm also the one who made the decision to swap the common use of thumbsticks (move/look) on Incablocks I think there is a pattern here.

Difficulty - the game isn't hard, but it's not clear that the best way to fight enemies is to hit them, then step back before they can hit you.  If you stand in place they will tear you apart.  This is the main reason most people don't finish and I probably should have come up with a way to let the player know to move back after attacking.

Summary

Overall I really enjoyed taking part in LD48 and will try to do again in the next one.  I've learned I really like Unity even though it means I cannot deploy to my favorite platform Xbox (Unity supports Xbox, but not Xbox Live Indie Games which only allow XNA titles).

So if you've read all this and have 15 minutes, why not play Quest?

Posted By Mike On Thursday, May 02, 2013
Filed under funcworks xna ld48 unity | No Comments

Here Comes CodeStock 2013!

If you were at CodeStock 2012 you know there is a pretty big change for me in 2013.  I’m no longer organizing the event.

In 2012, I stepped down from my self-titled role as Lead Conference Organizer to focus on other several things, but the main reason was to dedicate more time to The Technology Cooperative.  I really believe that getting kids involved with STEM subjects now is critical for this nation and our school system is not filling this need.  You don’t have to hear it from me though, just listen to Will.I.Am.

This was not an easy choice to make.  With help, I built CodeStock from a one day 75 person event to a two day 500 person conference.  I feel I was able to make CodeStock stand out with its own feel and vibe.  I have deep pride in what CodeStock has become to the point where I’ve walked out of an interview when my “project management” experience was dismissed because running CodeStock “wasn’t relevant”.

But the goal has never been “Mike’s” CodeStock.  I’ve said before if I have to step down and that means CodeStock dies, I’ve not really created a community.  That’s why it’s so exciting to watch Andrew May, Nathan Blevins, and Don Den Uyl (and others!) put together CodeStock 2013.  (And I am available to these guys when/if needed at a very reasonable consulting rate).

Keynote Speaker, Julie Lerman

Julie is going to be an excellent Keynote at CodeStock!  I’ve known Julie for years through ASP Insiders, INETA, MVP, and just hanging out with awesome people.  Julie is very active in the community from blogging, speaking, running user groups, books, magazines, videos, and more.  Her presence is like lightning, and her knowledge of the .NET data stack is freighting.   Her style though is soothing, and everyone one there will start grooving.  Yeah, yeah, yeah yeah yeah.

Call For Speakers

This will be the first year I will speak at CodeStock!  Well, I’ve submitted to speak and will need everyone’s votes to be selected (no special treatment!).  I’ve always wanted to speak at CodeStock but running the event leaves no time to give a presentation.  Okay, that’s not 100% true as I have made sure to always be at the CodeStock Annual WIT panel discussion, another of those things I’m really proud of.

The call for Speakers is open to EVERYONE.  That’s worth repeating so I will: The call for speakers is open to EVERYONE.

As a larger developer community we need to move past this notion of who is “qualified” to speak, blog, comment, etc.  You write code?  Then your experience is relevant.  Your thoughts are worth sharing.  I want to hear the things your are passionate about because passion is more import than perfect code.  Code can be learned but passion must be shared!

If you’re thinking of speaking for the first time I know what the fear is – “do I have a topic worth presenting?”  My recommendation is to take one of your code projects and turn it into a “this is the problem I had, and this is how I solved it” talk.  You can be open with audience to suggestions so you need not fear that “person who knows more than me”.  That person is always there; Embrace it, don’t sweat it!

One you have an idea, submit your talk and then find ways to practice.  Give the talk to your coworkers, friends, cat (or dog if you’re that kind of person).  Attend your local Toastmasters club.  Give the talk at your user group or a group nearby.  Set up a webcam and give the talk on G+ (seriously, they need you – all of you).

Getting comfortable with public speaking will come back ten fold for your career.  I’d bet the bulk of IT issues can be attributed to communication problems.  Developers that can present ideas and solutions to other developers and non-developers alike are a scare resource.  Oh, and there might be more money it but we do this because we love it right?  Not that I’m saying turn down the money!

I’m looking  forward to hanging out with everyone at CodeStock 2013!

Posted By Mike On Friday, March 01, 2013
No Comments

Yes Virginia, XNA is Really Dead

If you're not up on the latest XNA news, Microsoft has confirmed (though via leaked email) that XNA and the XNA Game Studio is no longer in active development.  You can read the email at (soon to be former) XNA MVP Promit's Ventspace:

The XNA/DirectX expertise was created to recognize community leaders who focused on XNA Game Studio and/or DirectX development. Presently the XNA Game Studio is not in active development and DirectX is no longer evolving as a technology. Given the status within each technology, further value and engagement cannot be offered to the MVP community. As a result, effective April 1, 2014 XNA/DirectX will be fully retired from the MVP Award Program.

I'm just going to address one point, something I think gets lost at times on twitter - does this mean XNA is "dead"?  Microsoft is not going to deactivate XNA games with a mothership kill signal.  The MonoGame project continues to work on an XNA-compatible implementation, and looks very promising.  XNA will still run on Windows 8 PC in Desktop Mode and you can still download XNA Game Studio and create a game (though you need to use Visual Studio 2010 and not 2012).

XNA however is dead.  To understand why, you need to understand what it is that makes software live.  Many years ago (more than I'd like to admit) I read Eric Raymond's book The Cathedral and The Bazaar, and I think much of it holds true still today.  Here is an excerpt from his essay Homesteading the Noosphere:

Second, the theory that the sale value of software is coupled to its development or replacement costs is even more easily demolished by examining the actual behavior of consumers. There are many goods for which a proportion of this kind actually holds (before depreciation)—food, cars, machine tools. There are even many intangible goods for which sale value couples strongly to development and replacement cost—rights to reproduce music or maps or databases, for example. Such goods may retain or even increase their sale value after their original vendor is gone.

By contrast, when a software product's vendor goes out of business (or if the product is merely discontinued), the maximum price consumers will pay for it rapidly falls to near zero regardless of its theoretical use value or the development cost of a functional equivalent. (To check this assertion, examine the remainder bins at any software store near you.)

The behavior of retailers when a vendor folds is very revealing. It tells us that they know something the vendors don't. What they know is this: the price a consumer will pay is effectively capped by the expected future value of vendor service (where `service' is here construed broadly to include enhancements, upgrades, and follow-on projects).

In other words, software is largely a service industry operating under the persistent but unfounded delusion that it is a manufacturing industry.

What I have taken from this is that the value of software is the support behind it, not the bits on your hard drive.  I can add a more examples, such as when a new version of software is released, the prior version becomes worthless and goes to the bargain bin.  Some companies like AutoDesk actively remove from circulation old copies from sale when a new version is released to protect the (debatably) inflated prices they charge and keep their software out of bins.   This can also explain why so many software vendors are claiming you only own a non-transferable license, and not a copy of the software.

Another example is the case we have with XNA, when "no new updates" will be provided and there is no longer a support team behind the software.  Its value is falling to zero, and it is dead.  XNA is known to have issues with performance on certain PC configurations and fullscreen mode can sometimes slow down a game for no real reason.  These issues will not be addressed.  At some point new hardware and standards will emerge that XNA will not take advantage of.  I would hope that in the worst case - a security exploit is found - Microsoft would at issue a patch, but there is no guarantee.  The patch could just disable whatever feature cause the problem and leave developers with no workaround.

On a related note, I think this same logic demonstrates games are art.  The value and enjoyment of a game is irrelevant to the status of the support behind it.  (Well, MMOs may be an exception - I'll have to think on them more.)  Games are still played and loved even though the companies behind them no longer exist.

So XNA is dead, MonoGame is alive, and games are art.  Glad we settled this.

Posted By Mike On Wednesday, February 06, 2013
Filed under xna monogame | Comments (2)

I'm Game Coding for Charity this Weekend!

Today (Friday November 30th, 2012) and through Sunday I (Mike) will be coding a game from scratch live at twitch.tv/vinull! I'm doing this to help raise $1000 for the Technology Cooperative. You can read all the details and donate at gamemarx.chipin.com, and there is also a ChipIn widget on the live stream page. Everyone is also welcome to just hang on in chat and encourage/mock me live!

At the TechCo I organize the Knoxville Game Design meetup group, held the second Sunday of each month. I also run sessions teaching kids of all ages game programming using Python, Scratch, and GameMaker.  You can read up on some of our other programs and learn about a chance to win a Raspberry Pi here.

All funds from this fundraiser go directly to the Technology Cooperative!

About the Technology Cooperative

The Technology Cooperative (aka TechCo) is non-profit (501c3) organization with a mission to offer hands-on technology to middle and high school age students regardless of race, gender or ability to pay. The TechCo also offers meeting space to technology focused meet up groups.

Most job opportunities in the future will be only available to those who have adequate understanding of computer related technologies. Those without the exposure and access to technology will fall into the widening gap between the technology "have" and "have-not". Studies have shown that by using computers and the Internet in the classroom helps to equalize students of all socioeconomic backgrounds. It allows students to be more involved academically and professionally in their futures. They may even become as technologically literate as their more economically advantaged peers.

We believe that exposure to technology in an environment that encourages creativity and exploration will give a child the motivation to build the necessary skills to peruse technology careers.

Posted By Mike On Friday, November 30, 2012
No Comments

What’s Happening at the Technology Cooperative

A lot has been happening the past few months at the Technology Cooperative, and we have a lot more planned (read below for information on how to win a Raspberry Pi).

DSC_0310

This weekend we will be completing the first run of the “Earn a Computer” programmer.  Launched in collaboration with the Knoxville Makerspace and Big Brothers Big Sisters of East Tennessee (which is actually located in Oak Ridge but I think they are working on a TARDIS setup so it won’t matter) this program takes kids without easy access to a computer and teaches a six class course covering intro to graphics, audio, and programming as well as productivity software and basic internet/computer and safety.  At the end of the program each kid will get to take home the computer.

2012-10-14 14.33.50

The Knoxville Game Design meetup group is also going strong.  The group meets the second Sunday of every month and opens with a “Show and Tell” portion where everyone can show off their game development progress, a new favorite tool, or just a gameplay mechanic they found and are interested in implementing.   The second half of the meeting is then a topic given by a member of the group or guest speaker.  If you’re at all interested in game development join us!

Just arrived at the Technology Cooperative is a 3D printer!  The 3D printer is a Solidoodle we have connected to a Ubuntu workstation.  In the coming months we will be holding classes on 3D modeling for 3D printing, covering the tools and methods available.  (I’ve personally ordered an Ultra-bot and will be very involved in this program).

wordpress

The Knoxville Wordpress Meetup group meets every second Tuesday of the month at the Technology Cooperative.  This group is for Wordpress users and developers alike (or people who want to become a Wordpress user or developer) to discuss the latest in the Wordpress ecosystem.  There is also a formal topic each month and is lead by Daryl Houston, a member of the Automattic team (the people who make Wordpress).

Fundraising Drive / Win a Raspberry Pi

File:RpiFront.jpg

To raise awareness and support for the programs at Technology Cooperative we are giving away two Raspberry Pi credit-card sized computers.  Your can read the details and enter on the Technology Cooperative contest page.

I’ve just listed some of the programs going on at the Technology Cooperative.  This summer we had a great program for kids to explore electronics through Junkbotz.  We are building a core group of volunteers as well and constantly have ideas to launch new programs (expect to hear of a Raspberry Pi meetup soon – I almost have mine working inside of a tabletop MAME cabinet!).  What we need most is financial support to run these programs.  Every little bit helps!

While on the Technology Cooperative website be sure to sign up for the mailing list.  This is a low volume newsletter of what’s happening at the Technology Cooperative so you can stay up to date on events and programs.  We will also be announcing shortly a “Game Night” on December 8th (mark your calendars) where we will choose the Raspberry Pi winners and play a few analog games for charity.  If you can’t stay the whole night, just drop by and say hi!

Posted By Mike On Friday, November 16, 2012
No Comments

About Michael

Michael C. Neel, born 1976 in Houston, TX and now live in Knoxvile, TN. Software developer, currently .Net focused. Board member of ETNUG and organizes CodeStock, East Tennessee's annual developers conference. .Net speaker, a Microsoft ASP.NET MVP and ASPInsider. Co-Founder of FuncWorks, LLC and GameMarx.

Proud father of two amazing girls, Rachel and Hannah, and loving husband to Cicelie who inflates and pops his ego as necessary.

 Subscribe to ViNull.com |  Comments

Follow me on Twitter | Contact Me

XNA 3D Primer by Michael C. Neel

XNA 3D Primer by Michael C. Neel
Buy Now: [ Amazon ] [ Wrox ]

GameMarx

CodeStock

ASPInsiders Member

ETNUG Member