Archive for the 'games' Category
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)
2 commentsGetting 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.
No commentsPlay 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:
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.
1 commentLudum Dare 15 Results
Tonight ended the Ludum Dare 15 two week voting period and the results are in! Here is the breakdown of how my entry, Coffee Caverns, did. The categories are scored on a 5.0 scale.
- Innovation – 1.68
- Fun – 2.41
- Theme – 2.0
- Graphics – 1.77
- Audio – 1.80
- Humor – 1.79
- Overall – 2.23
- Community – 2.88
- Coolness -Â 26%
Overall, I placed 92 out of 107 and won a bronze medal for Coolness.
Looking over the Top 10 entries, there are a few games I didn’t get to play in there and will over the next few weeks, check them out and probably play some of the ones that I already did a couple of times to see what makes them winners in their category. I will also be taking a close look at what was used in the creation of the game and see if I an pick up any interesting ideas through the games’ author blogs.
The next Ludum Dare, is going to be sometime in December, so I am making sure to leave my weekends open!
No commentsCoffee Caverns – Postmortem
This past weekend I took part in my first Ludum Dare competition, Ludum Dare #15. Ludum Dare is a community driven contest where a single developer has to create a complete game within 48 hours. I have watched the prior competitions, but have never really had the time with family and school, so I was a bit surprised to find that last weekend was fairly open. So on Friday afternoon I decided I would take part.
Each Ludum Dare has an associated theme that the game must be created around that is decided on by community vote. The theme is only revealed at the start of the competition and for LD #15, the theme was “Caverns”. I immediately had a few ideas but nothing that seemed too out of the ordinary. Upon deciding to enter the contest, I also made up my mind that regardless of what the theme was, my goal was to complete a game, no matter how simple, within that 48 hour deadline. I did complete a simple game, but as usual with these types of competitions, didn’t quite turn out as I had hoped. This is an effort by me to talk about some of the things that I feel went right in the development of Coffee Caverns and what could have been done better.
The Good
Probably one of the best choices was to use what I was already familiar with, C++ and SDL in a Windows environment. I know that some people like to experiment with new technologies during these competitions, but I decided to not risk it, my goal was to complete a game. Along these same lines I also decided that whatever I did would be small. I have started and never finished numerous game projects in the past much like every other aspiring game developer and I also know that one of the things that separates aspiring game developers from game developers is that game developers finish things. I had a decent idea of the scope of what I would be able to finish and decided to stick with it.
I didn’t start coding or designing anything until the Saturday morning after the competition started. I checked to see what the theme was going to be and than went to sleep. In the morning I ate breakfast and started a bit of mind mapping while having some coffee. I started thinking about caverns and I kept coming back to danger and falling, falling objects like rocks, and than somewhere in the mind map coffee came up so I ended up mixing coffee with falling rocks. Awesome, sounds a bit weird let’s go with it. It came naturally that this would be an arcade style game and once I decided on it I stuck with it. The total design of the game was probably about an hour and that was with sketching a bit of a development plan as well.
I also liked that I was able to get a couple of sound effects in thanks to the wonderful program Sfxr. I am glad that I got the title screen in without too much trouble as well. It only took a little bit of trouble and was I think worth it. Although next time, I am going to check for a specific key press to transition as opposed to any key, it made taking screen shots of it a bit tricky.
The Bad
I think that my biggest mistake was not getting the prototype up and playable as fast as I wanted to. My intention originally was to use primitives for prototyping and later put in the graphics. By the time I had the framework ready I needed a break from coding and decided that I would play around with Paint.NET a bit to see what I could come up with. I should also mention that other than SDL, I was using no prior written code, writing everything from scratch. In no time I had created a couple of graphics that I thought would work, so I figured I would just drop them in. It wasn’t a huge time waster since I was going to do it anyways and in some ways did work out in the end.
The Ugly
Easily the worst part about the game and what I would argue is the game, is the game play itself. The game is no where near as balanced as I would have liked it to have been, the scoring is very simple, and there is very little feedback to the player. I spent most of Sunday doing game play testing and bug fixing. I had the majority of the code written by Saturday night and it was a good thing too as I had a few things come up Sunday that might have kept me from finishing otherwise.
The little things that I didn’t fix that were pointed out to me in comments on my Ludum Dare blog are in retrospect what could have made the game better. The player sprite being about a pixel off during the animation would have taken me all of about three seconds to fix. I also never got the score out of the title bar like it should have been. This would have been another easy fix that would have added to the polish of the game.
The other thing that people complained a lot about was my use of an installer. I had mixed feelings about it but I know and understand the irritation I am sure it caused others as I started reviewing a few of the other entries. At a certain point I was annoyed that I had to unzip things and will next time not bother with the setup and provide a straight running executable.
Summary
Overall the whole competition was very rewarding and I learned quite a bit as well and would recommend everyone who is interested in game development to take part in these competitions as often as they can. I am definitely going to!
2 commentsLudum Dare 15 Finished!
I successfully submitted a working game to Ludum Dare 15. I plan on writing up a post mortem soon but here is a couple of screen shots and download links. The game wasn’t as finished as I would have liked it to have been, especially in the game balance side of things, but I actually spent less than 20 hours total on the whole thing. Overall I think it went well and definitely plan on entering some of the mini LD’s and the next full on Ludum Dare competition.



Download Windows Executable – coffee-caverns-1.0.zip
Download VS2009 Source- coffee-caverns-1.0-src.zip
1 commentEntering Ludum Dare 15
I have decided earlier today that I will take part in Ludum Dare 15. I have been following the competition for awhile and have played many of the games that have come out of it and it seems that this weekend just may allow for me to spend 48 hours creating something.
After the competition, I will write up a post-mortem and put what I finish with up here for everyone.
My blog posts at the Ludum Dare compo site can be found here.
No commentsWord of the week is Balance
This Summer has flown by a bit faster than usual for me this year as I have been working quite a bit and spending as much time as possible with my wife and son. We recently moved as I noted in my last post and it can be hard on kids to readjust. I moved a lot when I was younger so I have a decent idea of how he feels. Due to this I haven’t had too much of an opportunity to work on any of my own projects. As usual, without being checked the amount of work and other activities more than often grows to fill the available time. This week in particular has brought it to my attention that since graduating, I have been neglecting being mindful of this. Before I could always blame my lack of time on going to school and working, but now that I have only work, I need to reclaim the rest of the time.
For the past year I have been looking to start my own game development company and give it a shot going solo. I’m not going to be quitting my day job to do this, but this goal will never be realized without restructuring what I am currently doing and making a little time each day to spend on prototyping and developing. I also need to make sure that I spend time away from the computer exercising and pursuing my spiritual path. It’s the trinity of mind, body and spirit making itself known. I know from past experience that if I don’t keep this triangle of activities in check I will not make progress as burnout will surely set in one or all of the areas.
I am going to use this upcoming week to start incorporating some changes to my routine. I went for a long walk/run today and forgot how much fun it can be. I am going to start running at least every other day for half an hour and bring back a few meditation techniques. I am also going to set a goal to have a small game done by two weeks from tonight to ease myself back into things. I will also be time tracking how long the development of the game actually takes as a starting point for better time estimations.
No commentsQuakeLive goes….Live!
For the past two months I have been happily playing the Beta version of QuakeLive, Id Software’s newest release in the Quake universe, which is moving to an open beta this Tuesday . I have been a big fan of the Quake series since Quake I and have been having a lot of fun playing the current incarnation in the Quake universe. QuakeLive is free to play and only requires that a browser plugin be installed. The game is run from within the plugin and requires you to log into the quakelive site. All of your statistics are tracked automatically and are used to determine what tier you are placed on. I don’t know all of the particulars of the skill matching system as it has been slightly adjusted over the last couple of months but for the most part it has been matching me against opponents who are about my skill level.
I would encourage everyone to head on over to http://www.quakelive.com on Tuesday to register and begin playing.
1 commentOrb Drop – Postmortem
I just finished packaging my remake of Tetris, aptly called Orb Drop which you can find here and I wanted to touch on a few things that I thought went well in the development (more like redevelopment) of this game, as well as a few things that I thought could have been done better or done differently. I have had this code lying around for quite some time so it went through many changes from a simple prototype to what I am presenting here.
The Good
The first thing that comes to mind is getting Visual Studio setup to work with my directory structure and to place files in the places that I wanted them. Getting source control involved, via svn, right from the beginning was also a good idea. Knowing that I could refactor quite a bit of code and if I didn’t like it or if I broke it, could revert back to a working copy was definitely worth having it. It is also just a good idea in general especially when working across multiple computers.
Using SDL was a big plus. I don’t know why I would use anything else for developing cross platform games. While I didn’t get a build for anything but Windows, it shouldn’t be that difficult to get it built on Linux or even OSX.
The Bad
While I said that I thought it was a good idea to spend some time setting up Visual Studio, in the end I just don’t think it was worth all of the effort. I spent the better part of an afternoon getting the macros correct and making sure that both the Release and Debug builds were both setup correctly. In part this was because the directory structure I wanted was going to support building on Windows, Linux and OSX. However, I never got around to fully working out some issues in the Linux build setup and never even got to touch the OSX setup at all. This is a case where I didn’t really apply an iterative process to the build system like I tried to the actual coding.
I also think it would have been better if I just used a cross platform compiler right from the beginning, like Code::Blocks. I am going to look into using this more for future projects.
Not building this for Linux was a big black eye as well. I may come back in a few days and try and work out a few of the problems, but I don’t know if I will spend the time. All the code should be cross platform it is just a matter of setting up the build environment and getting an executable.
The Ugly
I am not too fond of the code. There are a few places where some decent design is showing through but it is marred by horrible choices in other parts. I refactored here and there during development, but there are still a lot of parts where I feel like I could have done better. There are also a couple of bugs that are in there due in part to not redoing portions of the code where it needed it.
Not documenting. I am currently looking into Doxygen and playing around with it. I didn’t document the code at all because I thought what would be the point since a lot of it would most likely change and I didn’t want to update documentation whenever I made a change. I should have found an equilibrium between keeping the code documented at a high level (relationship of classes etc..) and making it maintainable. This is definitely going to be a first step in my next project.
My last big gripe involving this project was handling images and sound. First there is no sound. That was just laziness on my part as I was kind of getting sick of this project. The images are all handled in the most naive way being stored as single files. It increased the overall file size of the final compressed deliverable and is just not a good way at handling these things. It also made loading the images awkward and error prone. These issues are all being addressed in my next project.
Summary
As I said, this project didn’t turn out as well as I wanted but I also can’t just keep pecking away at it, I just don’t have the time. I learned that the last 10% is really the hard part. Getting a project polished enough to even resemble a complete game is hard. It is made easier if a bit of time is spent up front on defining what will constitute a finished game and plan for some of these things from the beginning. If I had spent another afternoon on the state system, a few of the problems in architecture I came across, would have been easier to take care of. I also had a few ideas that I wanted to implement to make it less of straight remake, but again, I was using some code that I had written over a couple of years ago and getting the changes incorporated would have been a big task, I should have just started over from scratch.
Overall the most important thing is that I learned something from this endeavor. I have since been working on another project where I have or am currently fixing these issues that I came across in developing Orb Drop.
Please stay tuned and I hope you enjoy this!
2 comments
