Friday, June 10, 2011

Data Driven Complete

Data Driven was complete as of 10-ish pm last night.  Lobby got done around 4-5am.  Currently working on getting the data networked and getting ships moving on opposite screens.  So tired...

Also, this song goes with anything: http://www.youtube.com/watch?v=U0qdaTTS53M

Thursday, June 9, 2011

Ugh

I think I got queues and stuff working, but there's some bugs I need to stamp out still.  I keep second-guessing myself and wondering if what I'm doing is correct.  This isn't as easy as the whole Data Driven practice homework we did.  While I understand we had more time to work on this, it sucks having my focus split in 4 different directions.  Speaking of which, I have two other papers to write up, as well as studying for my Java final to get done tonight.

I don't think I'm getting sleep.

Monday, June 6, 2011

...

I BROKE EVERYTHING

Why network games...

...when you can spend that bandwidth watching amazing videos like this:
http://endlessvideo.com/watch?v=f_7BVZOZ5DA

Getting back onto the data driven train.  I hope to get this done before the sun comes up.  That video shall help me tonight.

Sunday, June 5, 2011

And it's the SpacewarData that really Drives me Insa-a-aaane.

Alright, after scrapping my last attempt which was going horridly, I think I'm getting a good basis going for this current attempt.  I made data classes similar to the original classes are made.  There's a base ItemData that has position, velocity, rotation.  Then there's the ShipData, AsteroidData, ProjectileData that inherits from ItemData.  Not as far as I'd like to be, but I need a break;

SpaceWar Hell

Long absence is long.  Having 1 200-level + 3 300-level courses that all involve me programming on my final quarter in this university has been a whole lot of chaos.  Unfortunately this project got put on the back burner while I worked on finishing my capstone, but now that that's out of the way, it's time to steamroll this thing.

Looking at all of the SpaceWar code all at once was quite a head-ache.  Not knowing what is going on and having to insert breakpoints and wander the call stack to find out what's calling what.  I'm starting to get a hang of how this is working, but making the dataQueue has been not that easy.

Like my data driven practice, I made separate classes that hold the key data.  AsteroidData holds necessary data for an asteroid, ShipData holds necessary data for a ship, etc.  The problem I'm coming across in my mind is that once I enqueue the data, how do I tell exactly what object that is for?  Sure, let's say I have an asteroid data's position and velocity.  Which one is that for?  :s

It might help if I get a client-server architecture set up first, but not sure.  Today is gonna be a lot of trying to figure this out.  Finals week, ho!

Also, this has nothing to do with networking, but this has been stuck in my head ever since one of my friends posted it:  http://www.endlessvideo.com/watch?v=6b56jeNcxhU

Saturday, April 30, 2011

PA4 - Data Driven Practice

I am tired.  Calculator & FSM class were pretty simple (with the exception of Dump and DoWork at first).  Test functions were a bit annoying to copy over and get them to work for my specific functions.  Just a lot of extra typing.  The InterLeaved queue I had trouble with at the end, but then I reviewed what people had said on the GoogleGroup and so I pushed everything into one queue and did boxing and unboxing when I pulled it out of the queue.  It was fun times.

-TZ

Saturday, April 23, 2011

PA3 - Client feeds the server. The server vomits...

Well, I didn't want to push this back to the last minute, but too much stuff came up at once for me to get the Multiplayer Programming out of the way early.  I started out by trying to abide by the message that was send out by one of the students saying that one of the commands used in the demo was depreciated and to use another one.  I started out by trying to get that to work, but then it proved to be too difficult for the little amount of time I had left.

I started out by using the the Blocking Demo that was used in class as a base.  I then started by serializing and sending the data through an array of ints.  The server then received them, deserialized them, and put them into an array, which it then sorted.  I then sent back the sorted list and the client received them, deserialized them again, then pushed them back into the node list.

I also ran into the problem of my server outputing garbage values because the buffer it was using to write the messages from was filled with garbage.  I fixed this by memset-ing everything in the buffers to 0 when I started, and it ended up being fine.

Wednesday, April 6, 2011

PA2 End

Well, that took about as long as I thought it would (not very).

The concept seemed pretty simple in class.  Just rearranging the private variables so that they are allocated correctly, mem-copying to the buffer, then mem-copying from the buffer.  The only difficulty I had was with the pointers.  Ended up being not that bad.

I added in some printf statements that printed the value returned by the sizeof() function, just to be sure it was allocating correctly.

Glad I don't have to worry about this class until next week now.  :D

Tuesday, April 5, 2011

PA2 Beginning

So, I thought I'd get a headstart on the homework tonight.  It seems easy enough, and I thought I might as well get it out of the way.  Downloaded it, extracted it, submitted to perforce, then tried to build it.  Ran into an error that I thankfully have seen twice before.

If anyone gets an error after a successful build telling them the .exe won't launch, here's the fix for that:

  • Right click the project in the solution navigation.
  • Select "Properties"
  • Configuration Properties>Linker>Manifest File>Generate Manifest: (Change to) NO
  • Apply changes.
I'll probably post this again if it comes up in the Google Group Discussion.

Sunday, April 3, 2011

PA1 - Environment

Getting the environment set up wasn't that difficult.  I have had Perforce, Visual Studio 2010 Ultimate, and XNA installed on my machine because I'm working on a Capstone game for the Windows Phone 7.

The C++ program was a little confusing at first since I tried to just declare a char * and set it's value to a string of characters.  I then instead created a char [] and initialized it with a string.  Capitalization was just seeing what the int value of the character's were and subtracting them so that they were the indexes of the capital letters instead.  Spacewar game went smoothly until I tried to play it (not knowing what the controls were).  Then I found the readme.htm and everything was good.

I'd be lying if I said I wasn't intimidated by the class, but I hope to learn and get some really cool stuff that I can use for my future projects and possibly my job.