Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Friday, March 14, 2008

Team Project Update

Sorry about the delay on this, by the way. The original meeting never took place, scheduling issues I suppose on part of the other programmer. I sort of anticipated that, but it's a busy time of the year, so no hard feelings. In the mean time I've been thinking about various game design ideas and some of the basic utility classes that any game may need, and how I may implement them.

I had planned on coding the game in C++ because, well, it rocks, I love it, and C++ sits atop the Kingdom of Game Programming throne and shuns non-believers with it's 7ft scepter. The other programmer seemed fine with this, but now he's suggesting we use Java with some 2D graphics lib he's found online. Meh. I checked it out, seems alright I guess, but it is Java and that's usually a deal breaker for me. It does however offer us the ability of fast iteration of ideas and whatnot, so I'm willing to do it. I'm really not too stubborn on this stuff, but if I can use either C++ or Java, I'm almost always choosing C++, but I don't want to even get into that...

He didn't seem to have any details on how "involved" the girl from the Music department wanted to be, so we'll see how that unravels. Along that note (get it, note?) though I have thought more about my idea of a music-driven gameplay element.

The basic abstract concept is to have a simple 2D world which is very stage oriented such that you only see the current area until you complete all tasks or whatever it may be. The visuals would be very vivid. The vision I have for one stage is that of a very drab and dramatic village which is actually more like a small neighborhood. The view is behind the little character and it's viewing 3 or 4 huts. The huts would be very dark colored with really intense colors and the sky would share that sentiment. Just picture a sky before a really terrible storm. The music would coincide with this of course. The gameplay concept I've got in mind is that the music in each stage (coupled with the look of the scene) would lead the player to perform their tasks. Changes in tone, speed, etc... should be evident enough as the player moves or does something that ideally it would be apparent what they need to do. I've tossed around the idea of the character needing to save the inhabitants of these small villages, whether they be creatures or plants, or something. It would incorporate some sort of time incentive which would be pushed by the music, so as you were running out of time the music would get more dramatic sort of like in a movie. An image that comes to mind is as the clouds roll in for a storm more and more of an area is covered in shadow. I think something like that could work well with my idea.

Game design is a process, so I'll just have to keep working it out, but I welcome any comments. Oh, and sorry if I just described someones favorite game that they've played for 30 years, I don't exactly "get out much". Oh, and, don't steal my idea =p

Monday, March 3, 2008

How sweet the sound...

I recently contacted a friend of mine here at school to get together and work on some games. He told me he'd definitely be interested, and not only that but he knew of a girl in the music department (student) that would probably love to get involved. Turns out, he was right. I must say, I'm really excited about the notion of sitting down with someone that isn't a programmer but still wants to be involved in the process by contributing their art form to the overall "product". This will definitely be my first experience of that sort.

I think what intrigues me most is the fact that sound is often ignored/overlooked in games, and I'm as guilty of that as anyone. The only game music that comes to mind that wasn't immediately replaced by my mp3 collection is Doom / Quake III Arena. Granted, I don't play a large variety of games, but the music in the ones I have played annoyed the hell out of me. It may seem weird to see a game developer (aspiring nonetheless) that doesn't play a large variety of games. Well, I guess you'd be right, it is. However, I've played games like Zelda and Sonic since I was just a tiny lad. Not to mention the fact that I learned my multiplication tables of 7 from Tecmo Super Bowl for the NES (great music, by the way) and Joe Montana's Football for the Sega Game Gear. More recently though, for the past 5 years I've been a competitive gamer on the Madden tournament circuit. I tend to stick to one group of things that I like in all aspects of life, not just games. I'm sort of backwards in the sense though that my love of programming has inspired me to play as many different games as possible. Most people are the opposite. They love games, they love computers, let's program games! I digress...

The part that really excites me about this is that I love music. I always have my music playing, and I honestly can't function without it. I'm huge into playing guitar as well. I'm really interested to see if/how she will propose a game idea based on something she wants to do with music. I think that would be so cool if she had an idea for something she wanted to do with music that would be instrumental (no pun intended) to the game itself, aside from just serving as a supplement. Of course, she may not have that idea, but now I have it, and anyone reading this does as well, and I'm sure someone else has already made a game like that, so go nuts!

I'll keep you posted and let you know how the first meeting goes on Thursday and hopefully I'll have a constant supply of updates related to the game we make.

Sunday, March 2, 2008

Checkers

I love Checkers. Chess is too complicated for my likes, but Checkers has just the right mix of fun and strategy for me. I'm currently working on my own version of the game. Basically, I'm taking Checkers and adding a few tweaks to the gameplay, and hopefully that will create a new realm for the game that will be as enjoyable as the original. The point of this post, however, is to discuss the underlying structure of the Checkers board.

Coding a Checkers board is similar to coding a deck of cards: there are countless ways you could go about doing it. I tend to like to find my own way of doing something like this without looking at how someone else did it first. I think Checkers is one of the most re-done games out there, or at least tile-based board games in general are, so I could be making life a lot easier for myself but where is the fun in that?

The current idea that I'm toying with on paper is that of a custom linked list that not only has links to the item in front/behind, but also left/right. It took about 20 minutes of staring at a checkerboard to come up with this due to the orientation of the board. Pieces in Checkers can only move in diagonal directions, so thinking of a traditional linked list doesn't work too well...but if you simply turn the board on it's corners, you'll see you have a linear path up each column. That's when it clicked that adding left/right linkages to a traditional linked list setup could be a neat way of representing a checkerboard.

The issue I'm working out now is the initial creation of the board and the subsequent management of the board when a new game is started or a saved game is loaded. Currently I'm thinking that I'd need an array that held 64 tile objects, and then I'd create each tile object in some init function. It would go through and setup the front/back/left/right links, the occupied flag, and the color of each tile on the board. As opposed to having 64 ctor calls in a row, I thought about storing tile data in a data file of some sort and then iterating over a vector to create each tile object. Then, that would also be the mechanism to save/load games. The game would simply write out each tile's data to the file and then upon resuming the game it would load them back in.

The objects would be fairly small, so I don't think this would be too terrible of an approach, but I'm sure I could do it better. I need to do it this way first, though. After all, if you sit around and think about how to make something better, you'll never end up making it AT ALL!

Intro

This blog will be dedicated to topics related to game programming. I'll discuss current projects I'm working on or thinking about, certain problems I'm having or solving, things that I have/want to do, things that I've seen others do, etc... I'm starting this so that I'll have something to refer back to in the future, and also so that others can possibly learn something about my experiences. I'll try to keep this sort of updated, no promises. I welcome any comments from anyone as long as they are semi-intelligent... Enjoy.