Tuesday, August 24, 2010

About C / C++ / C#: A Week of Games Posts

If you can't see this email, click here

About.com

C / C++ / C#

Fundamentals

Tips & Tools

Going Pro



From David Bolton, your Guide to C / C++ / C#
Not by design but last week's blog entries seems a little top heavy with several games related posts on Game Maker, Frotz and Arimaa, but only two are included here. Some weeks are like that but it really does happen by chance. Next week might be about C# etc. I'm still feeling good because I found a bug at work last week that had been crashing a logging service for a very long time! If only every week were like that... Until next week, have fun!

Game Maker - Create/Prototype Windows/Mac Games
Game Maker Screen ShotGame Maker is actually a game creation system that lets you create a wide variety of game types from 2D board games, card games, adventure, arcade, puzzle, strategy through to 3D shootemups (though possibly not quite Call of Duty Standard!).It's now at version 8 and the basic system is free but the advanced Pro version costs just $25 and generates standalone exes that can be distributed free of charge. Given that it includes 3D (using Direct3D API), and networking, I think it's a really powerful package.It's got a very good "get you started" tutorial as well. Other official tutorials cover Creating a Scrolling Shooter, Maze Games, 3-Dimensional Games and a First Person Shooter. I wouldn't normally cover such systems but this one works well for C developers and so intrigued me and I took a closer look. There is a C like scripting programming language GML (Game Maker Language) with C like code blocks, function calls, variable assignments, and operator syntax. It has an extensive number of numeric and string functions. In additions sprite are mapped as objects with an event/action system but objects can be invisible and used to control game logic. They aren't created in code though, GML is not an OOP language. You can extend Game Maker with your own dlls, so for example AI could be controlled from a DLL but only doubles and strings can be passed in and out of DLLs. There is also a newer alternative way of packaging using the Extension Maker, a free download which bundles up dlls and scripts. For $25 you get a very usable game prototyping tool that also lets you create very playable games, ideal for the Indie game developer. It certainly has a lot of developed games and a large community behind it. What many programmers don't appreciate is the effort needed to create animations, sound effects, collision detection, game state, networking etc and lots more code that goes into every game. This provides all of that. Game making isn't easy, in fact it's a lot of hard work but this gets you into coding the game without worrying about learning to code all of the other stuff that's needed.

Free Network Programming Book
One area where I haven't done much is network programming, but if I'd had this free e-book I'm sure I would. You can download it as a 104 page PDF or view it online (it's big). Written by Brian Hall (aka Beej) it is a very good introduction to programming network code in C/C++. If you've ever wondered for instance how to write code that works with both ipV4 and iPv6 this will explain it. Programming with sockets can be a frustrating subject but this should give you a good basic grounding. There's a lot to get through but the author does it well with lots of humor.

Arimaa - like Chess But Harder for AI
As computers have become pretty good at brute forcing chess, a computer engineer Omar Syed devised Arimaa® to be a much more complex game that is easy for humans to learn but much much harder for computers to brute force. It is both trademarked and patented, and there's a $10,000 prize each year until 2020 for any program that can beat a top ranked human in 6 games. The game uses a chessboard and pieces (with different names. King is elephant, Queen is camel, rooks are horses, bishops are dogs, knights are cats, and pawns are rabbits. The rules are fairly easy and I'm not going to mention them all here but pieces can only be removed if trapped in one of four special squares. To win, just move a rabbit to the far side of the board. Needless to say it's a lot more complex than that as pieces can be pinned unable to move without help, (bit like Zone of Control in boardgames), and stronger pieces can push or pull weaker pieces. It's really quite intriguing. There's a fair bit of code with sample source code for bots in C, C++ and C# on the download . I've added a permanent link to the C# Chimaera Arimaa® engine.

Other Blogs You might find Interesting
This is a list of Blogs that you might find interesting.

 


C / C++ / C# Ads
Featured Articles
Never Programmed Before? Start Here
Welcome to the C Area with Articles about C Programming
Welcome to the C Sharp Area with Articles about C Sharp Development
Learn about Commercial Software Development
All about Games Programming
Code Library for C, Objective-C, C++ and C#

 

More from About.com

Plan a Unique Vegas Wedding
The minister, music and champagne are just the beginning -- why not get married aboard a helicopter or have a pirate swing in to deliver your rings? Arrrr! More>



Join About.com's User Panel!
Share your opinions and help us make About.com more relevant, informative and enjoyable to use. More>




This newsletter is written by:
David Bolton
C / C++ / C# Guide
Email Me | My Blog | My Forum
 
Sign up for more free newsletters on your favorite topics
You are receiving this newsletter because you subscribed to the About C / C++ / C# newsletter. If you wish to change your email address or unsubscribe, please click here.

About respects your privacy: Our Privacy Policy

Contact Information:
249 West 17th Street
New York, NY, 10011

© 2010 About.com
 


Must Reads
Programming Challenges
About C, C++ and C#
C++ for Beginners
C++ Programming
Intro to OOP

Advertisement

No comments: