Sunday, May 31, 2009

Development Tools

Depending how advanced you are with programming, you may not yet have determined the best tools to get the job done. I'm still kind of in that boat myself, but I am starting to get a feel for different tools and what their capabilities and limitations are. So, I figured it's probably a good idea to let everyone else in on what I am using (or plan to use) to program some of these games. By the way, they're all free.
  • Eclipse - I use Eclipse for all of my Java programming. There are also a bunch of plugins available if you wish to use it for other programming languages as well such as PHP, HTML, and I think there is even one for C++. I actually use the Aptana plugin quite often for web development and it seems to work quite well.
  • Dev-C++ - Alright, so I haven't used this yet really since I haven't ever really programmed in C++. I think Microsoft Visual Studio may be a better option for C++ (as well as C# and Basic) but Dev-C++ seems a little more basic and a better way to learn the language. Maybe I'll migrate to Visual Studio (or the free Express version) later when I am more experienced.
Alright, so those are basically the only tools I use so far. Maybe there'll be more to come eventually, and there are certainly more specifics I could go into about my use of these programs. However, if you have any questions or suggestions, just drop me a line or leave a comment.

Friday, May 29, 2009

Pong (Java) - Update 2

This is just a quick one to mention a couple things:
  1. I was a bit of a dummy and uploaded a zip file of the pong game, however I didn't include the background image, the new version has it.
  2. I've updated the game to have a winner (seems pretty important). The only thing is, I didn't know how to display it very well. I'd like to be able to remove the background, ball and paddles completely and have the text in the middle. Any ideas?
  3. Being able to restart the game would also be nice.
So, that's it for now with the Pong game. I'll continuously be updating it until it gets to a decent point, or boring. I am also thinking about starting another game, however, this time, using C++. I have very little experience with C++, so that should be interesting. Though, a simple game shouldn't be too bad. I'm thinking Breakout right now to get a feel for it, but that could change. I'll keep you posted. 

Wednesday, May 27, 2009

Pong (Java) - Update 1

It's been a few days since I last posted about the pong game, so I figured it is probably time for a little update. I've made a few changes to knock some items off the list. I added a background image, so it looks a little more like Pong and I've changed the way the score is displayed (and the right score is on the right side). I've come across a couple of new problems:
  1. The background image constantly repaints with the game. I don't know if this can be changed or not, but it seems rather inefficient, and may actually be slowing down the game some.
  2. The path to the image will probably change for others compiling the game. It would be nice if that weren't the case, however, I'd like to be able to keep images and the src code separate
However, other than that, things are pretty much the same. Check out the original post to see what else can be taken care of. I also smartened up and uploaded a zip file containing the src files. I don't know why that didn't occur to me before, but I'll do one for each update I make so people can see how the progress was made if interested. That's all at my Open Games for Beginners Google Site. Until next time...

Monday, May 25, 2009

Ideas

Here is a list of ideas for games that should be simple enough to accomplish in the near future:
Alright, so those ideas are pretty lame right now, but like I said they're simple, and at least that's what I need. I also think that maybe after those are completed, we will probably be ready to move on to some easy side scrollers or something.

Of course, if you have any other game ideas feel free to let me know. Even if you come up with the concept on your own, I'll certainly do a post detailing it. Who knows, maybe it will be the next blockbuster. 

Sunday, May 24, 2009

Pong (Java)

So, the first game will be Pong. It's a java game because I'm more familiar with Java than C++. Though if you want to try a C++ version (or any other language) go ahead and I can have a it posted. I've called it Paddle Ball because I don't know if I'm allowed to call it Pong, but the name is irrelevant, at least for now. It's the first game I've ever created, so it's quite simple, though there are many flaws. I don't have it posted up on Google Code yet simply because I'm waiting to see the interest in learning to make the game. Instead, you can go to my Google Site which has the java source files you'll need to compile and play with.

So, please have a look, if you have any comments or suggestions let me know. If you happen to make any improvements, let me know that as well. I'll keep a list of the contributers.

As for things I can think of to improve (or new features to create) here is a list:
  • background image
  • sound effects
  • intro screen with options
  • AI player
  • score positioned on correct side
  • smoother gameplay
  • nicer graphics
  • network gameplay
  • 3D graphics
**Feel free to add to this list!

Go to the Pong game here.

The Game Plan

I'm a beginner/intermediate programmer. I mean I've learned a lot about programming, but I haven't really applied it before, so that's why the beginner tag is still there. I also want to make video games and contribute to open source software, but I really don't know how. For some reason, I don't think I'm the only one in this boat. So, why not kill two birds with one stone and do both at the same time? I'm hoping others will want to do the same...

So, here's the plan (at least tentatively):
  • I'll start a game (they'll be simple at first) and post it to a Google code account. I've never done this before, so who knows how it will work out. The game may or may not be functional, but in any case, there'll be plenty of improvements that can be made... though some imagination may be required.
  • I'll try and list some ideas I have for improvements that can be made, but anyone can come up with their own ideas, who knows where it will take the game. I think that's the fun of open source.
  • Anyone can check out the game code, learn from it, make improvements to it, whatever. As I've mentioned before, I'm not professional, so everything may be totally wrong, but that's the point. I want to learn too, so constructive criticism is appreciated. Just don't be an ass about it... to me or anyone else. We're all here to learn.
  • I'm not sure how the check in process works, so we'll kind of have to figure that out as time goes on. Any info on that would be great.
  • If you have a game started that you want posted, let me know. You can create a Google code account too and put it there (SourceForge.net is another popular one which can be used). I'll make a post about it, link to it, and keep people updated.
  • Also, if you even have an idea for a game let me know. If it's within the scope of our abilities, I'll post it up in an ideas section, which will be updated regularly. This will give people an idea to work with if they'd like to attempt a game from scratch.
  • Commenting and documentation is also important (so I hear) but I hate doing it, like many others I'm sure. However, learning to do both properly is probably a good idea, so we should really focus on doing it as much as possible. I don't imagine they created Call of Duty or Crysis without at least a few UML diagrams and use cases. Search for that stuff on Google if you'd like to learn more.
  • I don't care what language is used. I've always learned Java throughout my education, but C++ is apparently the game programming language of choice. So, if you want to put up a C++ game (or even flash, C#, or some other language) that's cool. I don't think anyone is opposed to learning different languages and each language certainly has its followers.
  • Eventually, maybe we can end up with an open game community with regular contributers, articles and the whole works so I won't be the only one updating the site. Maybe we'll even end up with a decent 3D game out if it at some point. But, for now, a simple blog will do. Though if anyone is interested in developing a site, let me know.
  • Any suggestions, comments or questions are welcome. The plan will also be updated at times, so who knows what this will turn into, but input from others is what will enable everyone to learn and contribute even more.