Friday, April 30, 2010

More performance issues....

We have narrowed down the performance issues to being isolated to the Ship classes of our hierarchy. Brad made a simple game state to hunt this down and we kept putting in one thing at a time, then removing it and trying another, etc., to isolate this. He then disabled bits of code inside the ship to further isolate the things that aren't causing the problem.

So we can say that the problem is not in rendering the ship model, it's not in moving a ship's position around, it's not in checking for player input, and it's not in shooting or collision detection. There really isn't anything else that a ship does.

Basically, the performance problem, which is very slightly noticeable on a crappy laptop and is pretty much unplayably bad on the Xbox, is isolated to the Ship classes, and is not being caused by anything at all in the Ship classes. Our game runs like crap on one of the most powerful pieces of gaming hardware ever made, for no apparent reason whatsoever.

In other news, more features have been implemented and crossed off the list.

Wednesday, April 28, 2010

Performance issues cont'd

So, continuing the performance issues note from before, here's a post Brad just made on the project wave regarding performance on the Xbox:
I've been incrementally disabling everything trying to isolate the efficiency problem and I found something very surprising. Even disabling most things in drawables manager it's still not smooth. In the dm I disabled add so nothing can be added, I disabled collision detection, and basically everything except the playerShip stuff. I dissabled the background manager, level manager, viewport switcher. No matter what, it's still not smooth. I have no idea where it's hanging up. Player ship maybe? Any ideas?
So... when we have a game that does NOTHING it still doesn't run well. No enemies, no background graphics, just a player ship with a few dozen polygons. This is on the same Xbox 360 that runs Halo 3 and Gears of War and whatnot.

I'm starting to wonder if it's actually possible to make a game run well at all with XNA. I mean, we've pretty much got an NES game level of computation going on here. With everything disabled, it's pretty much on the level of pong.

Tuesday, April 27, 2010

Xbox 360: now powered by a hamster spinning a wheel

We've been trying to track down and smooth out some weird performance issues. With some things, C# makes the Xbox 360 run worse than my old Apple IIe. Our game runs quite smoothly, except when something has scrolled down out of game world bounds and needs to get taken out. Then it snags. Well, ok, it's not just anything, it's only enemy ships, but they're no different from anything else. Everything's in a hash set, so chopping them out should be just as cheap as adding them, but adding them is smooth and removing them sucks. Remove 20 ships? Yup, that can cost you a good fifth of a second apparently. Wtf.

Monday, April 26, 2010

Just to make things interesting

Now that we're in the final push for the project and actually have really good momentum again.... in just over 36 hours my girlfriend is getting into town from Vancouver. I haven't seen her in just about 6 months. I'd say my motivation and willpower to work on this project are about to be sorely tested, but that would imply that some part of me actually wants to fight for it. I shall be distracted to the highest degree possible, happily and shamelessly.

Once again, the perfect programming week gets struck down while the week is still young. Total semester count of PPW's: zero.

Good productive day

Met up with Brad today and hashed out what more we need to do before we can show this thing off. Kept things pretty focused and got a lot worked out in about an hour. Got home, hacked for six hours. Cleaned up a bunch of crap, fixed some bugs, added new features. Things are coming together with making the level manager; I think I can start actually making playable game levels now.

We've got a lot of tasks left on the list, but I think we're in good shape.

Saturday, April 24, 2010

Moving along

Things are moving along. I'm not sure what more to say about it; everyone's now attacking the project pretty seriously. There have been 15 SVN commits since class yesterday morning, and each one has added a feature or fixed something that was wrong. We're at revision #111. We're in the final stages before we're left with content creation--more enemy types and models, more weapons, more sound effects, putting in more graphics.

I am concerned with the game's performance though. It doesn't run very smoothly right now; it snags frequently. I'm not sure how to track down the cause of that.

Thursday, April 15, 2010

External stresses and project motivation

I'm dead broke. I have been for quite a while. I haven't gotten a proper job since getting back into the country last August, and I came back quite broke. Then I played the tuition game, etc. This made me even more broke. It hasn't gotten much better this semester; I've got two jobs at UNM that, between the two of them, don't keep up with weekly gas/food expenses, and add a whole lot of irritation and stress. I still have to take fall classes and am no longer eligible for financial aid, and my girlfriend, who I haven't seen in six months, is coming to visit in less than two weeks. I've been stressing about how I'm going to actually pay for school next semester, and stressing that I won't be able to afford to do anything with my girlfriend that involves anything more expensive than sitting at home.

Today I sold the last of the stocks that I still had from happier times. I walked out of the broker's office feeling pretty crushed: I now have just over $200 in liquid assets, no more non-liquid assets that I can sell, and about $22,000 in student loans. I earn about $75 a week. Nothing I have tried to get a useful job since entering school four years ago has led to anything at all, and all things put together, despite any knowledge and respect I may have earned, I'm far worse off now than when I was grinding away at a low-paying retail job.

This is very bad for motivation when it comes to working on programming projects.

Fortunately, at the last minute I decided to actually thoroughly do my tax return, even though I wasn't required to file for the 2009 tax year. My gross income for the year was $12, from dividends from the stocks I sold today. Thanks to the American Opportunity Tax Credit, though, $1000 of the tuition that I paid last year is refundable. That means I get it back despite not having paid or owing any taxes. Additionally, I caught something with my dad's taxes that got him an extra $1200 back; he says he'll give me a chunk of it for my fall tuition.

Looks like the visit and my fall semester are both saved and I can stop panicking about them. Now I actually feel like working on the project.