Thursday, April 1, 2010

Daily Developer: Day 69

It is easy to get out of sync with routines.  I am in the process of buying a new house and selling the old one, and it is providing enough of a distraction that I was able to drop my daily routine.  Hopefully this will be my return to it.

I started a brief design document based on the previously detailed requirements.  I didn't get far into it before determining it would be a good time to create the project and add the third party elements that I knew I was planning on using.  I have added the farseer physics engine, and started looking at the game state management pieces again.  The game state management is less straightforward than simply including.  Tomorrow, I'll pull the necessary components and get it all compiling.

Duration: 00:33:59

Tuesday, March 23, 2010

Daily Developer: Day 68 - The New Game

Nothing gets the imagination going like the start of a new project.  Based on some of the accidental gameplay I discovered in my ToxicGrowth project, I started brainstorming for my new game that I am designating "Project Elasticity."

While there is a lot I don't know about how I want everything in this game to behave, I did take the time to pick a starting point.  I am going to use one type of gameplay to start with, with the expectation that there will be a variety of fun ways to play and styles to choose from.

I used Freemind to come up with some of my general ideas, then I selected some of the details and created a basic requirements document in Google Docs that only covers the one aspect of the game I am currently interested in.

My goal for tomorrow is to take the concepts outlined in my requirements document and try to solidify them a bit in a design document.  Since I am working on a small portion of a game that could be pretty big, it shouldn't take too long to come up with a basic design.  Though, I did notice as I was describing things in the requirements doc that there were several concepts that were much bigger than the simple sentences it took to describe them.

Duration: 01:07:56

Saturday, March 20, 2010

Daily Developer: Day 67 - The Return

Things have settled down enough that I am able to return to my daily routine.  My task today was to simply get re-acclimated with the game and the code itself. What I've determined is that I really don't think that game as it currently is has much potential for ever being fun.  So, instead of slogging along, trying to force it to be something that it will never be, I think I am going to retire it.  I might post the code somewhere, in case it is interesting to anyone, but I think it is time to move on to other games.

Working on this game has sparked some other ideas for other games.  I think my goal for the next couple days is going to be try to nail down the details of how I want my new game to perform.  I might actually *gasp* write out a quick little requirements document so that I have a guideline for what I am expecting.  At the very least, I anticipate that this will help me determine what makes a requirements document into something that is truly useful, something that I think I would be able to pull over into my job.

Duration: 00:15:33

Sunday, March 14, 2010

A Brief Hiatus

I have been taking a short break from my "Daily Developer" activity since I have had an offer accepted on a new house and am in the process of trying to get my current house "show worthy."  Once I have finished this, which I am hoping will be tonight or tomorrow, I should be able to return to my game development.

Tuesday, March 9, 2010

Daily Developer: Day 66

I added an upper limit to the number of growths that can be displayed at once.  This has highlighted that the issue seems to be that something isn't being cleaned up properly in the background, since even when it reaches a limit much lower than the 3000 I was seeing problems at, it eventually starts to lag like it had before.  I'll need to investigate further.

I also re-added the health system for the growths.  Now, when they are shot, they decrease in level until they hit zero and disappear.  However, I think the pool I created is causing troubles with this, since the growths stop spawning after enough are shot, since they are being pulled out of the pool with zero health.  This should be easy to fix.

There still might be something to this game, or maybe not.  However, I at least want to get the bugs worked out before I call it "done."  I have an idea that would use multiple avatars, but it could take advantage of all the work I've done already, so it makes sense to keep ironing out the issues.

Duration: 00:19:16

Monday, March 8, 2010

Daily Developer: Day 65

I received a response to my post from yesterday.  It suggested that I use a pool of enemies: instead of constantly creating new ones, when one is destroyed, put it into the pool and reuse it.  I gave it a shot, but was still seeing the issue.

 Something else he asked was how many items I had on the screen at once.  I guessed about 100, but after the pooling didn't help, I decided to print the growth count to the screen. 

What I had overlooked was just how quickly spawning four new growths for every existing growth would become unwieldy.  Instead of being an issue at about 100, the slow down was starting at about 3000.  I don't think that there will ever be a need to have that many items in the real game, so I think it is a non-issue.

Next on the list of things to look at is to re-enable the collision of the growths with the projectiles and then making sure that the growths revert to previous stages first instead of simply being destroyed outright.

Duration: 00:24:31

Sunday, March 7, 2010

Daily Developer: Day 64

Today was a day of exploration.  I decided that the most reasonable way to approach resolving the game freeze issue I am having is to see what others have done to avoid it.  I looked through some of the posts at the CodePlex forums for farseer and have a couple of ideas, but there is nothing definitive.  So, I registered and wrote a post asking for assistance.  Hopefully, someone who has already solved this problem will be able to guess at what is going on.

Duration: 00:21:51