Aug 11 2009

All moved in, married and happy. Life is good.

I have been incredibly busy within the last few weeks that I haven’t had time to write.

So let’s go back to July 20th.  I ended up getting rotation implemented in Project Void and now i’m trying to generate a procedural algorithm to throw together levels on the fly.  One of the big selling points for this game will be that you will not play it the exact same way twice. Plus, this will give me much more freedom to incorporate new content.

Fast forward to July 25th, Megan and I finally got married!!! After 9+ years, we’ve tied the knot! It’s been an incredible journey and I am excited to continue it as a bonafied married couple! :)

From the 26th to the 30th we spent time in Vegas.  We saw Mystere, Ka, and Blue Man Group.  All were awesome.

Coming back from our honeymoon, we packed up a moving truck, and spent 33 hours on the road heading toward California.

Then when we got here I couldn’t get in touch with anybody who said they might be available to help so we spent 7 hours moving all of our stuff up 3 flights of stairs! :|

To now… We’re still unpacking boxes, trying to organize things, and buying new stuff for our awesome apt.

I hope to get back on Void soon.  I’m really enjoying it and, so far, the people who have touched it are as well.


Jul 20 2009

New project in the work. Tentatively named Void.

About a month ago, when I was nearly complete with Spin & Shoot, I began sketching ideas on paper of what my next project might be.  During that time, I came up with two ideas, one a little ambitious (mainly due to the artwork required), and another that was a bit less art heavy — a puzzle game.  I decided to pursue the puzzle.

A week had passed from that initial sketch.  I came back to it, added a few more screen ideas, and left it be.  Last weekend, two weeks later, saw the first prototype of this idea.  It was simple and took me about an hour to put together.  The whole point was to see it in action on the phone to see what other people thought of it, and for me to see how things fit together.  I spent the week showing the prototype to a few people and the reaction was pretty positive.  So this weekend began the implementation.

I completed the artwork required early morning on Saturday and jumped into xcode to begin putting the pieces together.  By Sunday evening I had the interface put together – animations, graphics, and overall flow for many of the views.  I implemented the first level / stage loop.  You can select pieces, drop them into place, and put them back.

So the next few days I hope to get rotation ironed out, and actually complete the level designs/prep them for action.

I found somebody to help with music and sound effects, so that is one less thing that I have to do.  I’m also tempted to host a contest on 99designs.com to get an artwork revamp, though for the 5 people i’ve shown it too, it might not be warrented.


Jun 23 2009

Spin & Shoot

For the past few months I’ve been working on an idea that Megan and I had brainstormed back in January.  Since then, I’ve moved to LA to find a job, relocated to the bay area to begin work, and now just hit my 3 month mark with my new job.  While development has been pretty spotty, I’ve come to the point where I’ll be releasing the application soon.

You can think of the application being likened to a familiar wheel you may have come across in a bar. Such as this one:

example wheel

We wanted to morph that into an application, providing a fair amount of shots, allow you to enter shots we didn’t think of, provide a way to keep track of your bar hopping buddies, and overall add some spice into the drinking life.  Personally, I am all about trying new things, and most of all of my college/marine corps buddies were the same way when it came to drinking.

I’ll be posting more about Spin & Shoot in the following days.


May 9 2009

Just 77 Days

I’m pretty excited about this event that is going on in 77 days.  If you’re not aware, I asked Megan to marry me December of 2007, and time has finally come up on us to get the party started.  Most of everything is set and planned, side from just a couple of things.  It felt like yesterday that I said we had 100 days.  Time is flying.

So what have I been up to? Work. Which is probably reason #1 as to why my week goes by so damn quick.

And an independent iPhone project. I’m at the point where I need to get it into some peoples hands so I can come down to a final decision on if I’ll post it on iTunes for free, or sell it for, likely, $0.99.  It’s a drinking game that is designed to be played at a bar with friends.  You can consider it a catalog of drinks like the cocktails application, but with a slight variation to it – namely, the game/competition factor. And no, I don’t worry about the history of the drinks…

In other news.

The campaign to promote the movie is going to get on the road, err, tracks soon.  Read the buzz here: Train


Jan 23 2009

Wedding Website Built

The other day I registered two domains for Megan.  We decided that we could use one of them for our wedding website.  So, on Wednesday I sat down and created a prototype of a website and showed it to her.  She loved it and so did I all of her girlfriends.  Yesterday, I went ahead and actually made the site from scratch.  I’m happy with it.

Wedding Website

http://www.meganmcgraw.com/


Dec 11 2008

Senior Project(s) Win! Graduation Saturday.

We had our final presentation yesterday and ended up impressing the professor.   He awarded us extra credit (rare) for our effort and the success of the project.  I’m incredibly happy and proud of the other guys for their commitment.  It has to be one of the best team-work experiences that I’ve dealt with while I’ve been here at Kansas State.  Each of us averaged 70 hours of work, ranging from design, implementation, and testing and close to 400 LOC delivered from each of us.  I came in at 75 hours and 487 LOC.

Good stuff.

I still have more time to work on my next project, so this none of this is final.  But I thought I’d share.

I have one more presentation on Monday which is for my game programming class.  I’ll be presenting my map toolset that is based on the relatively new .NET 3.5.  This project has been very interesting.  While I’m not where I thought I would be (bzzt. shock), I’ve got the pipeline in and functioning on an event-driven basis.  I wanted to implement a plug-in that actually adds something to the toolset, but I just don’t have the time to do something extensive.  So I have plug-ins that actually show off the architecture.

A user can open a window which loads all of the discovered plug-ins into a list.  From there, the user can click on the plug-in to find out a little more detail.   The user can choose to activate the plug-in, which will give the user a visual indication that it’s good to go.

So, for now, this activates a plug-in for the tileset domain. You can divide your application up into different domains, so you can focus your plug-ins, and sandboxing.  An event handler is set for this plug-in, and simply gets what tile was selected, and returns it.  I could be doing work on the other side, and returning the work.

Another feature that I implemented is an XML validator.  I’ve created an XSD (schema), and when an XML map is loaded, I check it against the schema.  If it fails, I produce an error for the user so they can fix it.

 And some other functionality that I have working is zooming, moving around the map (wasd, arrows), drawing tiles.

 

Inspiration for this editor came from several places (Thanks a lot!): XnaFantasy, XNA RPG Development, RPG Maker

Clearly, my core belief is extensibility (and to learn: xna, xsd, plug-in architecture), not just to make “another” editor.  Software needs to adapt, and it shouldn’t be solely on the main developers shoulders.  If I can provide a toolset that other developers can expand, that is much more powerful. It’s a challenge that I’m willing to at least try to accommodate.

But for now, I’d say I’m definitely testing the waters.  A lot of this is still confusing due to the complexity of how to handle all of the elements.


Nov 25 2008

Lynx 6 Robotic Arm Senior Project

The team that I am on is kicking some major ass with this particular project.  I thought I’d share some progress.

The red ring on the can denotes that it is the top end of the can. Taking multiple shots of the field-of-view was beyond the requirements of this particular project. Since our team was the first to mess with this robotic arm, we didn’t have any prior code base to work from.

This first video is our simple case. Simple in that we don’t need to do any manipulation to set the can upright.

Here, the top of the can is facing the arm. Since the arm can only rotate it’s gripper 180 degrees, it needs to do an initial move so that it can proceed with setting the can upright.

I really wish I had more time to devote to this project, but I have so many other things that need my time. I’m not happy with the vision processing. I’m happy that it works, but I want it to be faster. While there are a few ways, I don’t have the time to devote to implementing a new strategy. We finished up the C0 testing today, and have a few more things to do before our final presentation. Oh, and we get to give another presentation on Test Driven Development. :) They have me to thank for that one, but I’m sure they’ll like it.

Note: In respect to the other members on my team,  I will not pass over the source code to this project or release it as open source.  There are code samples on the companies website that you will find helpful.


Oct 14 2008

Plug-In Based Architecture for Application Tool Development

So for the past week or so, I’ve been really crunching down on two different plug-in architecture with C#: Reflection and System.AddIn.

Why?

Well, I want to create a much more robust 2D RPG editor than I’ve done in the past.  I want to give people the foundation to build off of while allowing me to learn how to make a dynamic tool that can continue to grow beyond what I do to it. And Jeff motivated me to do it.

I decided not to use Reflection because I really didn’t want to sit here and spend time creating all kinds of security links between my application and the plug-in.  While System.AddIn is incredibly tedious, I feel that it will be worth it in the long term.

So to get my hands dirty with the AddIn framework, I developed a plug-in based calculator prototype.

Prototype Plug-in Editor

There are 3 different development pieces that construct the ‘pipeline’ between the application and the plug-in. The project structure is pretty strict. You can see that, here.

The Contract 

  • Contract – Isolates the Plug-in for better sandboxing and robustness of the host application. Think of this as the formality that the HOST and the PLUG-IN must adhere to.

The Host:

  • View – Defines how the HOST application sees the ADD-IN
  • Adapter – Converts the CONTRACT to the HOST view
  • Application – Your application

The Plug-In

  • View – Defines the base class for the ADD-IN.  This is what you distribute to people, to build their plug-in from.
  • Adapter – Converts the VIEW to the CONTRACT
  • Implementation – Your plug-in

As far as plug-in development goes.  The only concern is with the AddIn view, which will be provided.  In it, we have our abstract class.

using System.AddIn.Pipeline;

namespace AddIn.View
{
[AddInBase]
public abstract class AddInView
{
public abstract int ComputeNums(int x, int y);
public abstract string GetSign();
}
}

Which can be used to actually define our method declarations.

using System.AddIn;
using AddIn.View;

namespace Addin.Addition
{
[AddIn("Addition Plug-In",
Version = "1.0",
Description = "Add 2 Numbers",
Publisher = "David McGraw")]
public class Addition : AddInView
{
public override int ComputeNums(int x, int y)
{
return (x + y);
}

public override string GetSign()
{
return “+”;
}
}
}

The application is build to search the plug-in directory for *.dll files, and will load them if they match the contract. As a plug-in developer, this is little of to no concern as long as you followed the view.

Play with the prototype here, if you want. I hold no promises that it won’t blow up your computer.  Feel free to implement divide, I provided the source for plug-in development.


Sep 15 2008

StackOverflow public beta

So I’ve been helping (private beta) the guru’s over at StackOverflow with their latest endeavor – a free programming community wiki + experts exchange + digg like system.   It’s awesome, trust me.

Literally, you can go on the site and ask any technical question that can be answered, not just discussed, and your question will be answered within a minute.  Even if it is a tricky question, people will start jumping to try to provide some insight.

The system is based on reputation.  You ask a question, and if it’s a good question, people can mark it up (+points) or mark it down if it’s a bad question (-points).  If you answer questions, the same thing happens (+/- points).   They’ve also added a badge system to reward people for learning their way through the system.

But anyway, go check it out. You’ll like it if you’re a tech head like me.

http://stackoverflow.com


Sep 12 2008

Source Engine

My department got a license to issue out the source engine to the students in my game programming class… Oh, dear…