20121101

Play Test In Progress...


                I've completed all the chapters in the book, but I still have some cleanup tasks to take care of. 

Remaining Tasks:
Spelling/Grammar Checking, in progress, about 40% done.
Comic Characters will be added to the last two chapters.
Finalize Comic Images.
Comic images will be put in place (many are just stubbed out with the character name)
Hi-lighting changed lines, 10% done.
Index
Covers - Front/Back
Testers/Reviewers (Underway Already)

Play Testing:
                So last night, I had a tutoring session with one of my students.  He usually leaves about 9PM, sleepy, because he gets up early.  Last night, he left far more awake than usual, and with a high level of mental activity. (Determined from his constant suggestions of additional ideas and general energy level)
                Last night was also the first night that I had worked completely out of the book for a class.  I used the first real chapter, which talks about brain storming, and how to keep up creative flow.  It built up quickly when we tried some crazy ideas, which is part of a practice brain storming session to hold at the end. 
                To summarize, the use of the book worked great.  The energy level of the class was higher than usual, and it was fun. 
Considering:
                Now I’m considering producing a Syllabus for others to use this in their classes.  It should work pretty well for 8th grade youth through adults.  I’m looking for some teachers who would be interested in working on that with me. 
                I have free reign over how I run my classes, so I figured it would be good to also get ideas from someone in a more locked down environment.  I’m figuring some video examples would be pretty good to go along with it as well. 

Contact me if you’re interested in reviewing this, either as a reader or a teacher, or both. 

Don't forget you can download a copy of the game at any time: http://sdrv.ms/S618fG  (expects windows)

20121028

Book Complete, First stage of Cleanup in progress...


                I’m nearly done with the book.  All chapters have been written, with one exception.  I’m finishing up a chapter on how to market the game, something many people lack.  You can get the source code with the book, but I’m releasing an installer for the game.  I make no claim that the game is an awesome product, but it is an awesome learning tool, as anyone purchasing the book will learn how to make the whole thing. 

                This book covers beginning programming in general (with C#) but as a separate section, it then shows you how to use XNA.  You’ll learn everything you need, even if you don’t have a clue when it comes to programming. 

                It’s a short game, but the engine was left in a spot where it is easy to add more levels, more characters, more power ups, more menu features etc…  It’s meant to be a good place to pick up when you finish the book.  J
Link to the Installer: http://sdrv.ms/S618fG

If you want to see a video of it, check out the latest video update on Kickstarter.com
http://www.kickstarter.com/projects/1667690760/completing-a-game-development-book

20121003

Book Release Coming Up!


                For the past few years, I've considered writing a book on C# and game development, but I could never get enough into it to be satisfied.  I would complete a large portion of it, or smaller sections that I would use for classes, but for a whole project, I haven't been able to express as much as I wanted to.

                But that changed.  A couple months back, I decided on a way to write it, starting out with Game Design as the first section and including how to keep a development team active.  Then I went into programming, game development and even release. 

                The book has 5 main characters. 
·         The Narrator
o   Me, the Author
·         Kathy Konfident
o   Experienced Game developer, knowledgeable in all areas, ready to dispense tips and advice
·         Daren Donagry
o   Beginner programmer, no real past experience, demonstrates a lot of classic mistakes beginners often do (I certainly am guilty of most of them, early on)
·         Wilma Wannabi
o   Really wants to be involved in the game project but doesn't have any specific trade skill. 
·         Mark Moneybaggs
o   Represents an investor, someone trying to make sure it can make money.
·         Other random characters
o   Others show up from time to time, including Socrates and Space Ghost, to help illustrate certain points.

In a short while, I'm going to be announcing a Kick Starter project about it, so that others can get involved.  At 25$ donated, you get your name in the book on a list of people who helped make the book possible, 75$ donation, and you also get a copy of the book sent to you as soon as its off the presses, and at 150$, I'll have my artist draw up a character of you (real or fictitious), and your character will show up at least once, in a helpful way.

It seems like a great gift idea if you have a family member or friend that has been interested in game development, but just hasn't taken it up.  As long as they have started Algebra (A+B=C) they should be good to learn programming.  Imagine getting them a programming book as a holiday gift, and half way through it, they find themselves in it as a helpful character in the book.

Anyway, I keep working on the book, and its closer and closer to completion.  I'm hoping to finish in late November, run it through testing for a few weeks, and then release before Christmas.  It is a close time line, and it is possible that the dates could slip.  If testers find an area complicated or confusing, I'm not going to release it as is.  I will fix it first.  No good going to the printed word, if it is wrong. 

I'll keep everyone posted with updates as we get to testing, artwork and release, on this blog.  

20110411

Short Cycles in Agile

                Agile methodology is a widely used system of project management.  While there are many facets of it, this article intends to explain the values of short cycles and how to apply it in your own projects.

An issue with Waterfalls…

                Most of us have been involved, or even headed our own, Waterfall project.  A Waterfall project is where you start building your project, with your nearest goal not being any clearer than the project is ready to go.  Waterfall means that once you have your plan in mind, you try to build the whole thing in one go. 
                The problem that we face is that if the project takes any length of time, we, or others involved, make changes to how it should work.  Small surface changes are fine, but often these changes will affect the basic architecture of the project.

On with Agile…

                In Agile, we use small cycles of development, called iterations.  Each iteration will select only a few features, usually of the highest priority first, and make sure they are working.  The objective is that each SMALL iteration will be completed, and can be tested by the project owners at each pass.
                When they try it, they can make requests for the next iteration.  These requests can be to either make changes, fix bugs, or change the priority of existing items.  But once the next iteration begins, and the tasks have been selected, it is locked down.  The developers need to be able to focus on these tasks, and architectural plans without interruption until the completion of these tasks.
                Many teams make the mistake of allowing changes during these iterations, but the development teams should strongly protest.  The PM’s and involved business side should be making plans for the next iteration based on reports, and not pushing immediate changes during daily updates. 
                On the individual level, one thing I like to do, is to select a single task, simple and high priority, and finish it before jumping on any other task.  Then test it.  I have been applying this to all my projects now, and had excellent results.  Because I don’t have multiple tasks going on, I can walk away from a project for a while, come back, and I will either know the one tasks I was working on, or most commonly, all previous features are completed, and I can do whatever I want to next. 
                One common feature that has spawned from this is a clear version history in all my personal projects.  I use this numbering system: #.#.#[.#].  The first number is the release version.  It is always 0 when I first start, and goes to 1 when I make the first release.  The second number is the feature or bug number I’m working on under the current release.  0.1 is the first starting item, usually just creating the project, and potentially adding one class, or shaping the UI on one form. 
                The third number is the date or time.  If the project is very small, I might just include the hour and minutes, but usually this is the date, as in 4 digit year, 2 digit month, 2 digit day.  Finally, I  have an optional trailing number for multiple releases during the same time, particularly for testing.
                One thing this has helped show me is how much time it really takes me to build something.  I’m often caught by the idea (at least in the past) that a certain project will only take me a couple days to finish.  If I measure in hours, I might imagine 12 hours of dedicated work.  But when I look back at my version history, I begin to see a different tale. 
                The project starts out great, but then reduces in speed.  For my personal projects, that is mostly because of real life, such as I have a real job, or I need to make dinner, or I’m heading out for a little while.  It even is because I have just lost interest in the project for a little while.  But it gives me a good look at the reality of how much time it takes.  Even If I really only worked on it for 2 hours, if it took me 2 weeks to finish it, that’s really how long it takes.
                But at work it’s a different story.   I often start to see a loss of time near the end of a project.   What I began to realize is that management increased the amount of time spent on meetings.  Literally, 2 extra 30 minute meetings where added to check on statuses, but then an extra thirty minutes of time was spent to make sure the information was ready.  Of course email distractions also increased because of the number of important emails being sent around, and the massive of numbers of people being added to the email chains. 
                By taking an agile approach, at least for yourself, you will begin to notice how you really work, including an additional level of focus and speed in projects.  The version history, gives clues to how things really operate and the single task orientation allows for focused approaches that leave you with clean places to work, and re-evaluate your needs often.