TechCo Open Lab Hours and Upcoming AppCamp

Two announcements from the Technology Cooperative  this week:

First, the TechCo will be open Tuesdays and Wednesdays from 6:30 to 8:00 PM each week and we hope to extend these days and hours in the next couple of months.  This is a "open lab" time, there is no set lesson plan but there is someone to help and answer questions.  I am the primary volunteer for Tuesday night so if you want to talk tech, or bring a student who wants to get into tech (be it Raspberry Pi, App Development, Game Design, Music Creation, or anything else) feel free to drop by.

Second, the TechCo will be running and AppCamp for teens on May 31st.  This will be an all day class on building a mobile app using Android and the MIT App Inventor system.  If you know any teens who would be interested, follow the link above for details and registration (space it limited so don't wait!).

Posted By Mike On Thursday, April 17, 2014
No Comments

Old Laptop or Outdated Tablet? Consider Donating it to a Kid and Making a Big Impact!

Warning - direct solicitation for charity follows.

There is a good chance if you read my blog, or follow me on twitter that you are very connected to technology.  Getting new hardware isn't just a pleasure, it's often part of the job.  One side effect is a collection of slightly outdated, but replaced hardware that sits unused in the garage.  Actually I'll bet most of my readers are not so efficient as to move the old tech to the garage, and instead it sits under one layer of books and papers on the desk!

Sometimes you can find a new home for the tech within the circle of family and friends, but if not I'd like to ask you to consider donating it to the Technology Cooperative.

Closing the digital divide means getting every child access to technology, and access that's more than a computer in the school library.  A child should feel free to experiment on a computer without fear a parent or teacher will be because "now they have to reinstall the system".  A child is also much more engaged when they have ownership - this is "my" tablet and it runs "my" game and it's the coolest tablet in the world because there are no other tablets like mine!

So once you donate, what happens after that?

For Android Tablets and Phones we'll setup App Inventor and start teaching the child programming in one of the most fun ways possible.  App Inventor uses a drag and drop style system (think Scratch) for mobile game and app development.  The amazing part is the development is instant - drag a button on to the development surface in a web browser and see it appear immediately on the tablet.  This quick feedback loop not only give a child the confidence they can program, but also sparks the imagination of all the things they could create.

Laptops are first reviewed for operating system.  If the laptop has a verifiable license and registration key, we'll reinstall the system.  If not we'll install Linux and fiddle with any drivers issues to get it running.  After that it's time for Scratch mentioned above.

Scratch and App Inventor are solid first steps.  As a child grasps the concepts in programming we can move to Python or even jump right in to a professional SDK or framework like Unity.  Of course, this is only one part of what it takes to develop software, so along the way we may get into Gimp, Inkscape, Blender, and software like Open Office that can help with school work.

Microsoft and Apple tablets and phones are welcome, though due to their closed nature are not as easy to open up for development like Android is with App Inventor.  Things are changing all the time however and every child is a unique case, so these devices are just as welcome as the rest.

Old desktop computers are generally not useful.  They require a lot of space the child may not have.  They are not portable, so a child cannot easily bring their desktop to the TechCo for lessons and take it home with them to continue on their own.  We will accept a desktop only after we've had a chance to review it first.  It will need to be somewhat modern and we don't want any CRT monitors.  Storage of these older bulky systems becomes an issue and we've tried it and decided the best policy for us was not to accept desktops unless we can use them as classroom computers.  For me, this means being able to install and run Unity to teach game development with.

"This is all great, but what if I don't have any old tech and still want to donate?!"

The request is for old tech, but new tech works just as well!  There are several $60 - $90 Android tablets that are prefect for App Inventor.  Specs aren't important, but when looking keep an eye out for "runs Android 4.1" or greater to be on a safe side.  A good example is this model we found on Amazon and ordered for a child.

Old fashion donations of money are also welcome.  Information for donating via PayPal can be found on our website.  There are even programs by Amazon and Kroger that will donate money to the TechCo without any cost to you except a few clicks setting up the Technology Cooperative as your target non-profit.  The Technology Cooperative is a Federal 501c3 Non Profit and all of your donations may be tax deductible.

If you have any questions, or things to donate you can get in touch with us at techco(at)

Posted By Mike On Tuesday, April 01, 2014
No Comments

“YoGo Burger” Postmortem - Ludum Dare #28

This past weekend was another Ludum Dare game competition, and the second one I’ve taken part in (this first you can read about here).  I also organized a local meetup with the Knox Game Design group and we had five games in total submitted by the deadline.  So without further adieu, here is my wrap up of what went right, and what went wrong!

Theme “You Only Get  One”

For my game, YoGo Burger, I used the theme in a few ways.  The setup is, due to some budget cuts, you can only put one topping on a burger.  The customer will either be okay with it, or hate it and this will affect the amount of tip you get.  To make matters worse, if a single customer complains to management you’ll be fired.  To keep this from happening you use your tip money for bribes.

In practice the game is like playing multiple games of Mastermind at the same time.  Customers will get back in line and order a second burger and if you remember what they liked before you can use that to get it right the second (and third, forth, etc) time.  To make it interesting I reset the customer preferences each day, added more customers, and I also upped the value weights behind what they like and don’t.  The effect is you’ll probably be deep in debt and fired by the end.

The design was very emergent.  The initial idea was a Burger Time / Tapper  / Diner Dash clone with one ingredient.  It’s fair to say I didn’t really have a strong direction at the start, but as I added mechanics it began to take shape.  I’m very happy with where I wound up and think that this kind of creative exercise is what the Ludum Dare excels at (even if the game isn’t fun for very long).

Programming in Unity

Just like the last time, I used the competition as an excuse to learn new technology.  You might say this is the wrong time to learn something new, but twice now I’ve done it and shipped a game so we’ll have to agree to disagree.  The new tech this round was Unity 4.3’s new 2D support.

Having working in Unity before, and having read up on the new features, this wasn’t so bad.  Prior to the competition I had started porting my XTiled library to Unity, so I wasn’t completely green for this project.  I had to google an issue here and there, but for the most part things went smooth.  For the most part.  Let’s talk animation…

Unity revamped their animation system for the 4.x release, and it’s now called “Mecanim”.  It’s a very complex, yet powerful setup allowing you to define animations then link them with a state engine and create smooth transitions procedurally.   That’s all good, but I need to move a sprite a few steps to the right and this seemed impossible.  I’m sure spending more time with the system is what’s needed, but I have reservations about any system that cannot handle a simple, common use case well.  If you cannot do the simple well, how am I to trust you won’t make the complex a nightmare?

In the end I wrote a few lines of code to handle all animations.  I’m a programmer, it’s what I do.


Nothing good to report here.

I am no longer satisfied making excuses that “I’m a developer” or hearing “not bad for developer art” or worse “it’s so bad it’s good – you nailed the MS Paint ironic art style!”.  See, I’m not trying for that.  I don’t expect to be amazing, but I think it’s perfectly fine to expect decent.  I commonly tell people I’m not “talented” I’ve just spent a lot of time writing code and anyone can reach where I’m at.  I believe this to be true of anything, and it’s time I took my own advice.

So next year I’ll be reading up on art 101 and spending quality time with Gimp, Inkscape, and even Blender.  Check back with me after 10,000 hours.


I needed exactly one sound effect for my game, so why is this even a section? Because it was my favorite part of the whole competition!

I wanted a cash register sound when a customer paid for their order, but because of the rules I cannot use anything I didn’t make during the competition and this include sound effects.  Normally I’d use the amazing bfxr app to generate game sounds, but it wasn’t really suited for this task.  I grabbed a portable microphone and headed out to hunt samples Foley style!

In the end I used a bell from my daughter’s bicycle and the opening and slamming shut a wooden drawer full of screws, bolts, and nuts.  I then edited and combined those samples in Audacity, speeding up the playback by about 150%.  The end result was a very convincing cash register ca-ching!


While I’m a horrible graphic artist, I am “decent” at music.  This time I wanted to use my own guitar playing (as Dylan and Levi have done), however I’ve never actually hooked up a live instrument to FL Studio with my current audio gear.  This led to a frustrating session of attempted guitar recordings before I decided there wasn’t enough time left to keep fooling with it and went with all synths – something I’m pretty comfortable with.  (Yesterday I tried again, and it turns out I made a very simple mixer error).

The music inspiration came from the depressing, you-can’t-win-gameplay and reminded me of Papers Please.  To get in the mood I loaded up some depressing Russian folk songs and waltzes until I had the right state of mind.  Not going to win a Grammy, but I think it fit the game well.

And finally, as it tradition, here is a time-lapse of me making the whole thing – 17 hours compressed into 3 minutes!

Posted By Mike On Thursday, December 19, 2013
No Comments

Announcing the Knoxville Raspberry Pi Users Group

Welcome reader - this is a short post to say that I am starting up a Raspberry Pi Users Group over at

The first meetup will be Sunday September 15th @ 3 PM at the Technology Cooperative.  I'll be kicking off the first meeting with an overview of the Raspberry Pi so if you're not familiar with this amazing little computer come on out and see what all the fuss is about!

(This is also a good time to mention I also am at the Technology Cooperative every month for the Knoxville Game Design meetup group and the Knoxville Wordpress meetup!).

Posted By Mike On Friday, September 06, 2013
Comments (1)

PostStock 2013: Again Like The First Time

Well this is weird.

Not CodeStock, CodeStock 2013 was great.  What's weird is I normally spend the day following CodeStock reviewing notes and making a post about the tactical details of the event.  This year though I was a speaker, not the coordinator. 

I want to thank Nathan, Denny, and Andrew for taking over and running the conference.  And to their constant statements that all they did was step into the system I created I call bullshit.  Running a conference is hard as hell and take credit for a job well done.  The challenge of running a conference is not the big items of dates, sponsors, or venues.  It's the one million and one little problems that come up and threaten to overwhelm you in a title wave of paper cuts via emails and DMs.

I also want to thank Glenn, the silent partner of CodeStock.  Every year he has helped behind the scenes, be it finding a venue for the attendee party or stuffing bags.

Just because I wasn't running the show didn't mean it wasn't chaos.  I decided Thursday to completely rebuild my talk "What is Fun" into "Quest for Fun" and ended up creating a 57 slide deck less than 12 hours before it was given.  My wife said "you are the best person at being unprepared I've even seen."  I wonder if there is some deep seeded issues I have that require intense pressure on myself before I feel like I'm really making progress.  I probably should speak to a therapist, but who has the time?

I feel like "Quest for Fun" went great.  Of course I don't have any feedback and this is just my gut, but I trust my gut.  It was interesting listing to Julie's keynote about her process for learning and seeing just how different it was from mine.  She focuses on taking one bite of the elephant at a time and doesn't get obsessed with how much or little there is left.  Every bite taken is a victory.  I tend to start by getting a whole herd of elephants and committing to having them in a three ring circus by the end of the week.  I have no idea how I will do this, but my gut tells me I'll figure it out as I go.  Rachel captured this perfectly when she quoted me on twitter: "Learning is about being so stupid you don't know you can't do something."

If you were at my Quest for Fun Talk you know that I believe each approach is just as valid, and it's what ever works for you.  And it's key  to remember no matter what method you use have empathy for the other.

My next talk was "Kickstarter: Crowd Funding by the Numbers".  This one went great as well, but it's not where I want it to be yet.  I'm still crunching numbers on the data.  I will be giving this talk at DevLink and it will change between now and then (though I'll try not to start over the night before).  Interesting side story, there is an image I use on a slide about raising awareness I found just from a Flickr creative commons image search I use in my talk.  While taking a walk with Julie and Rachel we stumbled upon the location the photo was taken.  Yea, it's in my home town and I never knew!

Saturday I did a session on Unity which was a last minute addition to the schedule to fill an open spot.  This one was not a planned session, but a tour of the Unity IDE and some concepts so everyone who went home that night could install Unity and have an Idea how to get started.  I was a little surprised at the applause my game Quest got.  I think it's the yellow castle.  It speaks to us on a subconscious level, telling you "all will be okay - you're safe here".  Maybe I should call that therapist.

I managed to attend a few sessions and open spaces but also spent a good amount of time just hanging out and talking with friends new and old.  And that's what it's all about, sharing stories, experience, and knowledge.  Looking forward to CodeStock 2014.

Speaking of sharing, here are the slides and notes from my talks:

Slides: Quest for Fun

Slides : Kickstarter: Crowd Funding by the Numbers

Unity Notes:

Posted By Mike On Sunday, July 14, 2013
Filed under codestock games kickstarter unity | 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 |  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 ]



ASPInsiders Member

ETNUG Member