Skip to content

Posts from the ‘Development’ Category


Space Battle Arena v1.0.1


King of the Bubble

Just over 3 years ago Space Battle Arena was born.  What started as a crazy idea being built on-the-fly has turned into a whole platform for a series of Programming Games.  It has come a long way over the past year especially, and we are proud to be in a state where we can publish stable builds.

Space Battle Arena has its own website now (available here).  It is the main resource for all materials related to Space Battle including the latest client and server builds, client java docs, student and teacher resources, as well as information about developing for Space Battle.

The project has also now been open sourced on GitHub and will continue to be updated.  If you run into any issues or have suggestions, please file Issues for Space Battle there.  Note: that the main development cycle for Space Battle is between April – June.

In the meantime v1.1 a.k.a. the “Discovery Quest” update is already in the works for ‘Season 4’ at Issaquah High School this year.  For the most up-to-date news, follow us on Twitter @MikewareXGR.


[Teaser] PaddleSpace Unlimited & Demo Download

PaddleSpace is Mikeware’s Magnum Opus, which unfortunately has been laying dormant for too many years…  Originally created in 2007 it evolved to a point beyond its creator’s control.  That is planning to change in 2014.
Read moreRead more


‘Pellet-Man’ in GridWorld

GridWorld is the Advanced Placement Computer Science case study acting as a project culminating the knowledge students learn over the course of a school year before taking the AP exam.

In this year’s class, we’re providing a ‘Pellet-Man’ framework to aid student’s learning about inheritance in computer science. If you are an educator and this is of interest to you in your class, please contact us for more information.


Open Source WPF Chess Example Coming Soon


I worked on this Chess program for another project. I had started by looking at numerous available chess programs written in C# and using WPF, but alas did not find anything I felt was up to par as a basis for what I needed. They either made the chess/UI logic really complicated or had it tightly integrated or didn’t use WPF strengths.

So, I put this project together to use proper WPF data separation techniques through data binding and templates as well as using a MEF back-end to give me some flexibility with the piece creation (my project used this a bit more intensively, but I wanted to simplify the example that I release for demonstration). It just cuts to the chase.

I’m just adding some more comments and cleaning up the code a bit and hope to have it posted by the end of the month.


Reach for the Stars: Educating the Next Generation Using Games

Had a great weekend at PAX and PAXDev! As you may know, at PAXDev we gave a talk on our space simulation project given after the Advanced Placement Computer Science exam this year at Issaquah High School. It was requested that we post the slides to our talk. So without further ado…

Reach for the Stars Presentation


WPF DataGrid Dilemma: Add Column to Bound DataTable

Well after many hours of being stumped and perusing the web; I finally have a solution to my dilemma surrounding the WPF DataGrid.

It seemed like a simple problem: Bind a DataGrid to a DataTable and have it update all it’s contents both ways. Getting the initial content worked like a charm, but then trying to add a new column to add new data wasn’t working at all. It was a nightmare and I any example I found just stopped at loading initial data in.

It turns out that while the DataTable behind is happy to update itself and other things bound to it will update their collections, even with AutoGenerateColumns set to true, the DataGrid just happily ignores the new column and doesn’t display a thing.

The solution I finally came upon requires that you create your own column on the DataGrid to bind back to the column added in the DataTable.

Read moreRead more


Trials and Tribulations in Creating a Complex Two-Tiered Leveling System

I must say when I set out to do this task, I figured it wouldn’t take me a few days of thinking to figure out. What was I trying to do? Something seemingly simple, a blend of mathematics for the leveling system in my new game…

Aside: Now, I used to love math when I was a kid. I was good at it, it made sense, and it let you do a lot of cool stuff. I still realize its importance, but university pretty much killed my love for math by making me memorize formulas I knew how to use to take tests… And if you don’t know already, my memory is like a sieve…

Anyway, the world of video games usually involves a lot of these calculations, and I’ll laboriously call back my skills and try and figure things out. Usually this is difficult late at night after working all day, so it’ll usually take me a couple of days on and off thinking about the problem in different ways to solve it. This is just another one of those stories…

Read moreRead more


Iterating and Removing Items from a List

I’ve been working on a game this weekend. (I think this is the first time I’ll publicly announce something ahead of time! It’s been going really well, and I think I’ll be able to post a couple of articles about development while I’m at it.)

So, when I start a new game, I need to clean-up my display and remove all the objects on it. This usually calls for the "let’s iterate through the list and remove the items" (as I need to do many steps for each thing I remove). However, this also applies in cases where you just want to check the item (such as for a collision detection) and remove it conditionally.

Read moreRead more


Getting Around Pivot Control SelectedIndex Bug

For those of you not aware, there’s a bug in the WP7 Pivot control. It crashes if you try and set the SelectedIndex to 2. Hopefully, you’ve encountered this during testing and found this trying to solve it. Hopefully it’ll just be fixed in a future update, but that doesn’t help now.

I tried a few things, but for Suitor 2 landed on the following solution as the simplest. The only impact it has is that your first Pivot page will display briefly before it pans to the one you desired to set programmatically. All you need to do is rig up the “Loaded” event on your Pivot control. Then you can dispatch the call to change the index, like so:

Read moreRead more


[HD Intros] Suitor 2 for WP7

Find out more about Suitor 2 in this lovely HD video also showcasing the fabulous Samsung Focus.