This quarter I'm in two Programming Classes, Concurrency and Game Programming. Should be very exciting, first game I have to create is a basic 2D game in Gamemaker, mostly to study the different features that Gamemaker has to offer to give us an idea of what we might want to implement in our second project which is much more code heavy and is in Python.
I've come up with some good ideas so far, and I'm excited to go all out for this class.
English
-
Over Winter Break I also attempted to program an AI who played Connect 4. I still need to finish that, I completed a lot of the design, but I have yet to actually code anything beyond the structure that keeps track of the pieces and some methods to make moves. Maybe I'll post the results if I finish?
-
A Connect-4 game was actually one of the things that helped me get my job. Doing UI, AI, and networking was incredibly educational, and gave me some great things to talk about during my interview. (Doing UI from scratch is really great, because you quickly learn a lot of tough lessons about smart class design, state machines, and race conditions).
-
UI from scratch does seem rather daunting, I'm very used to C# or Console based interfaces. It's something I'll have to sit down and try at some point, but first I've gotta tackle this AI from scratch :D
-
I should clairify that I had access to the following via the API I was using: - Font management, and writing fonts to screen (this can be somewhat nasty to do from scratch, but is possible). - Full input detection (mouse, mouseclicks and releases, keyboard input) - Drawing images to the screen from a texture in memory. What I did from scratch was things like buttons with press & release animation, animated sprites (falling game peices, spinning gears, lightning when you win), checkboxes, text entry boxes, settings screen, etc. For AI, you might want to check out the alpha-beta trees mentioned below.
-
I appreciate the advice :)
-
That could be a good application for artificial neural networks.
-
Edited by RocketMoose: 1/12/2013 2:23:56 AMNeural networks can be a ton of fun to play with, but might be challenging in this context, given the number of inputs required. I'd reccomend taking a look at [url=http://en.wikipedia.org/wiki/Alpha%E2%80%93beta_pruning]Alpha-beta pruning[/url] for a relativly easy-to-implement AI that will give you decent results. The nice thing is that once you get the basic AI going, you can layer on some extra checking for dangerous moves (like 3-in-a-row with 2 open sides) to give it extra look-ahead.