// caseydunham.net

Wednesday, July 21, 2010

The Seat of My Pants

It is almost August. Between my full time job, my side job, family, personal pursuits and trying to work on getting my business off the ground, I am barely able to keep up. Actually I can’t keep up.  I new the time would come when I would have to start making hard decisions about where I am going to be spending my time and the time is now.  I’m going to be busy still until probably end of August, but after that I should be back onto a somewhat sane schedule.

By this time next week I will be in Las Vegas for Defcon 18 for just under a week and than spending a few days with my family after that.  The weekend of August 20 is Ludum Dare 18 and myself and Dave from Hybrid Mind Studios are trying to get a small group of people to meet up in the Portsmouth, NH area for the weekend.

In other news Game Developers have there own Stack Exchange site now! It’s still in Beta, but head on over to http://gamedev.stackexchange.com/ and sign up!

I’m also thinking about a site redesign for the website and for the new company…

posted by Casey at 7:04 pm  

Saturday, May 22, 2010

Eclipse Pulse #001 – Working Sets

As anyone that has been using Eclipse for any period of time can tell you, it doesn’t take long for your Workspace to become a complete mess with a multitude of related or unrelated projects when at any particular time, you only care about one or two specific projects.  I have been using Eclipse for years and one of the biggest issues I have with it is the way that it lumps everything together into Workspaces. An example of this type of Workspace dis-organization can be seen in the screen shot of my experimental workspace below:

Yes, you could always create a new workspace but this is isn’t so simple when you have a few plugins installed, specific project build and run configurations, (and don’t even get me started with custom editor settings…) this can quickly become a mess. You can export some of the settings and than reimport them, but overall I tried working this way for a time and quickly gave it up; it was just too much upkeep. After spending some time seeing how other developers use Eclipse where I work (some use Netbeans and others use IntelliJ) I realized that many developers, even those that have been using Eclipse for a while, don’t know about Eclipse Working Sets. By creating Working Sets and setting the Top Level Element, you can group your projects any way you want since Working Sets have no clue about project dependencies at all.

To create a working set, click on the View Menu button (the down arrow in the upper right corner right next to the minimize button) and select the “Select Working Set” menu option:

This will bring up the Select Working Set dialog from where you need to click the New button

which will bring you to the New Working Set dialog window where you would select the type of projects that the Working Set will contain. Now you can define the Working Sets that you will want to use and the Projects that should be associated with it. I suggest to create as many Working Sets that make sense for the projects that you have. There is no limit to the number of projects that can belong to a particular Working Set and a project can even belong to more than one. A Working Set is just an organizational tool for displaying Projects in Eclipse. I am going to just create  a single Working Set for the testing projects I have in my Workspace:

Now that we have a Working Set defined, we can use it to filter our Projects in any of the Views by going back to the Select Working Sets dialog and selecting a Working Set:

We can also filter the Views to show the Working Sets along with Projects by setting the Top Level Elements under the View menu to Working Sets and not Projects. This is my preferred way of doing it as it shows all of the Working Sets with the Projects beneath them. Any Projects that are not in a user defined Working Set automatically get placed into an “Other Projects” Working Set that Eclipse creates.

At this point the ordering of the Working Sets can be adjusted just by dragging and dropping it to the desired place in the tree or bulk actions on your Projects such as Refreshing an entire Working Set or limiting searches to a particular Working Set can be performed.

While Working Sets provide a bit of help in controlling the Workspace clutter, it’s not as ideal as being able to work with a single Project grouping like Visual Studio’s Solution files or IntelliJ’s project files. This is one area where I find Eclipse very lacking compared to other Java IDE’s.

posted by Casey at 9:16 pm  

Thursday, May 20, 2010

Developer Goals

I have an upcoming meeting with my manager at work to discuss my development goals for the year (I’m just coming onto this team so it’s a bit late) and I have of course been thinking about not only what my developer goals are, but what should a developer goal look like. I could easily list a ton of different technologies/APIs or frameworks that I want to learn, but in my opinion knowing a lot of frameworks isn’t enough so I am trying to think about other things that would make me a better developer. I know a fair amount of different technologies so I would rather spend the upcoming months refining my knowledge with what I am currently using.  Here are a few of the things floating around in my head right now as far as areas I want to improve in:

Tech

I want to increase my level of knowledge of these

Methodology

I would like to improve my abilities in these areas

  • Test Driven Development
  • Agile/Scrum
  • Software Estimation

Projects

I want to continue to work on

  • Finish PlayWithYourPeas XNA game
  • Contribute to an Open Source Project
  • Write more

These are just a couple of areas that I want to either learn more about or improve upon. I have also been pondering whether or not to pursue the Certified Associate in Project Management certification. I have already met the requirements so it would just be a matter of a bit of study and to take the exam. I currently have no desire to be a project manager, but I think having this under my belt would go a long way towards reaching my longer term goal of becoming a team lead. I currently don’t have any other certifications and am not planning on getting any.

When constructing the above list of items, I was also thinking about SMART which is an acronym for Specific, Measurable, Attainable, Relevant, Timebound.  For example, applying this to my above list I could do almost all of these by building a small web application. However, to make any of these official goals I need to make them more specific like “build a website with Grails that does CRUD operations to a database as well as make use of a webservice” (that covers about 90% of the tasks I would use it for at work).  I would make this a bit more specific by outlining the type of site that I wanted to build, most likely something data heavy with a lot of complex forms like I have to deal with at work. This is also definitely attainable. I don’t need to build the next big thing but I could easily build a website that flexes all of the technology I need it to in a few months with spare time.  Even if I am not using Grails as an everyday technology, it is completely relevant as it uses technology I do use every day. Also, laying out the UI and handling form data is going to be a great exercise that I can apply to every other application I build. Timebound is the tricky one. I would want to set a time frame on when these goals should be completed that isn’t too aggressive but also not too far off in the future.

I will most likely refine these items and remove or add some over the next few days, but whatever makes the final cut, it is important to stay focused and to complete them.

posted by Casey at 8:33 pm  

Tuesday, April 27, 2010

LD17 Fail

As much as I was looking forward to this last weekends Ludum Dare, I failed to deliver. I got off to a good start, coming up with an idea very quickly and had a good day Saturday, but in the end due to obligations I couldn’t get out of and a very bad bug that I couldn’t fix, I ended up not submitting anything.

However, I did get a chance to update my code base I was working from, so it wasn’t all bad. I am currently in the process of writing a post mortem which I will finish in the next day or so.

I am also planning on putting together a list of my favorite games from Ludum Dare 17 and even though I can’t vote on them, it will be fun to play some of the other entries as there appear to be quite a few good ones.

posted by Casey at 10:44 pm  

Friday, April 23, 2010

LD17 is a go

The theme is…ISLANDS!

I already have a pretty good idea of what I am going to be doing. I believe that the scope is perfect, the graphics will be manageable and I will be able to see it through to the end. I am going to spend a bit of time prototyping it tomorrow morning and stripping out some of my code base that I wrote for the last LD entry.

I suggest that if you are interested in learning what Ludum Dare is all about, check out the keynote from Phil Hassey, it even has a goat! PoV has also written a handy guide to getting started that’s worth reading if you have never participated in Ludum Dare.

Ludum Dare is also about the community and all participants are encouraged to post entries to the Ludum Dare blog site. I will be posting some stuff at my blog over there as well.

Now to flesh out the design a bit.

posted by Casey at 11:13 pm  

Sunday, April 18, 2010

Ludum Dare 17 Fast Approaching

Ludum Dare 17 is fast approaching and I am really looking forward to it. This will only be my second time around, starting with LD #15 (had to miss #16). I’ve been thinking a lot about what I will be using this time around. My last Ludum Dare game, Coffee Caverns, was in C++ with SDL. I was thinking about switching it up this time to use C# and the XNA framework, but I think I am just going to continue with my code from last time. I had thought about using Java and making a 4k game, but since I program in Java all day at work, it will be nice to get back into a bit of C.

In preparation, I think I might put together something simple and small, perhaps create a towlr? Maybe. Right now I am going to double check to make sure I have everything I will be using and play around with things this week. Currently, my stack will consist of the following:

I’m thinking about also putting together a play list of some sort for the weekend as well and am looking for some new music to listen too. If I put something together I will share the list as well.

posted by Casey at 2:43 pm  

Tuesday, March 30, 2010

Old school RTS, indie opportunity?

I read this article the other day about the paradigm shift that Real Time Strategy (RTS) games are currently undergoing and I think that it is a bit unfortunate, but I think most everyone has seen it coming. Consoles are becoming more abundant and with it a huge market. The PC has been the leader by a long shot in these style of games, but with the ease of PC piracy I can’t say that I don’t blame the developers for trying to move away from it. The move to a more console friendly RTS game has really been a  move to less resource management and more focus on building units quicker and getting into the action which ultimately means a simplification of the game leading to quicker campaigns and skirmishes. This makes sense as well for the console since the majority of best selling console games are action oriented and once you bring online multi-player into it, it would be hard to sustain a single game for even three our four people for a traditional style strategy game that would often last friends of mine and I hours for a single skirmish.  While this move to a more console friendly RTS is going to attract more gamers and most likely introduce the style to younger players,  it is also going to open up a market for the more traditional game style. I think this is a great opportunity for the indie developers out there to fill in the need for more traditional turn based games. I grew up playing quite a few RTS and Turn Based games, my favorites among them being Total Annihilation, Age of Empires, Civilization and Lords of the Realm II, and for the most part haven’t really found much that interested me in this genre of late.

I have been playing a lot of Gratuitous Space Battles but that doesn’t really fit into either mold very well. If you are a stats junky though, I would highly recommend it.  I have also been playing Battle of Wesnoth on the iPhone over the last couple of days and am really enjoying it.  I steer away from a lot of the social “strategy” games, as I can’t stand knowing that I am supporting a bunch of people who aren’t into games, just making a buck so maybe I’m missing something there, but from what I’ve seen I don’t think I am.

With the work I’ve been doing with the XNA framework on the Xbox360, I can’t help but wonder if a classic strategy game could be successful? It would require a well thought out control scheme that would probably be very different from what we would expect, but I believe that there is definitely  a market for it as you can only stand so many platformers. I wonder what would a successful execution look like? What kind of control scheme would work well? How stats heavy can you get with a console audience? As with all games, it would definitely be a balancing act, a difficult one at that. You would want to keep it fast paced enough for online play but not at the sacrifice of the traditional RTS values. I can see game configuration or having various game play types like those that are common in the FPS world, would be a definite need here.

posted by Casey at 9:42 pm  

Wednesday, February 10, 2010

Laptop + XBox360 + iPhone + Netflix

After putting it off for a long time, I just purchased a new High Definition TV and an XBox 360 over the last month. I finally got around to rejoining XBox Live and downloaded the Netflix app so I can now stream Instant Watch Netflix movies straight to my tv from my XBox. I took a moment after I started watching a show to think about the whole process. Earlier today, my wife updated our instant queue from her iPhone. I setup/upgraded my live account using my laptop and had instantaneous results on my XBox. When I think about it, I can’t get over how cool it is. The amount of technology and how much infrastructure is in place to enable something like this to be possible. Not only am I on a wireless network at my house, but we use 3G on our iPhones. I can’t help but think about how many services had to be used to integrate this, services for account logins, credit card processing and probably many others that are behind the scenes.

I’ve been programming and using computers almost my entire life (as soon as I could move on my own?), but it hasn’t been until about the last year or so have I really felt that technology was really changing the way I live and think about the world and this is a direct result of how much integration we have been receiving over the last few years.  I feel genuinely excited to be living in this time period and can’t wait to see how technology changes my life and how I live it over the next few years. I mean now that the International Space Station is internet ready, what’s next?

Thinking about the whole thing really brings my inner geek out (well..more than it is already)

posted by Casey at 11:56 pm  

Saturday, February 6, 2010

Getting my ass in gear

I have never been someone to set New Year’s resolutions or to really write down my goals. For the last few years, the only goals on my mind have been to finish school, get rent paid and try to have some fun. That isn’t to say that I haven’t had any long term plans, but that my priorities were different. One thing that has always remained constant however, is my love for games and the technical challenges that they present.

Now that school is behind me and I’ve been working steadily since graduating, I’ve started to think again about my short term and long term plans. A friend of mine that I graduated with, (and who were also laid off just before graduating), decided to form an LLC just before Christmas with the intent of creating games and hopefully starting a profitable company. So, in order to keep on track, I am setting the following goals for 2010 for myself:

  • Spend more time with my family
  • Get a game accepted to XBox Live Community Games
  • Participate in every Ludum Dare 48 Hour competition
  • Start keeping a Design / Idea journal
  • Play more games
  • Post at least one blog entry a week

Nothing on this list is insurmountable or too difficult too acomplish over the course of the year. The most difficult part will be balancing my work schedule, since I do mostly contract work and work from home quite a bit, I often work too many hours. Over the next couple of months I am going to have to readjust this schedule and make sure that I am leaving enough time to put into the company and not go insane.

Don't go insane.

Don't go insane.

posted by Casey at 10:45 pm  

Saturday, December 12, 2009

Play With Your Peas – First XNA Game

After the XNA talk I saw by Michael Cummings at Code Camp 12, I decided to take a look at the XNA framework.  I picked up a couple of books on it and started taking a look at the tutorials and example code at the Creator’s Club.  I played around creating a few demos and am now working on an actual game. The game I am making is based on the Play With Your Peas game prototyping challenge from Lost Garden. The challenge was originally from 2008, but I really like the art style and the game concept. Here is a screen mock-up of how the game will look when it is done:

Screen mockup

Screen mockup

The basic game mechanic is that you need to build the level by placing blocks to facilitate the Peas desire to jump and bounce off of things. The player doesn’t control the individual peas and must take care that they don’t fall too far.

The design will present a few interesting challenges of which the Physics involved will probably be the most difficult for me as I have not done anything that complicated. The artificial intelligence of the Peas will be another more complicated part but I think I have a few workable ideas.

I may play around with incorporating a 2D physics engine, of which I am looking at the Farseer library to use based on a few recommendations.

I am looking at having most of the basic game play elements in place by end of next weekend. I have a couple of things left to do for my Artificial Intelligence class which ends this coming Thursday.

posted by Casey at 3:23 pm  
Next Page »

Powered by WordPress