Rogue is a dungeon crawling video game first developed by Michael Toy and Glenn Wichman around 1980. It is generally credited with being the first "graphical" adventure game, and was a favorite on college Unix systems in the early to mid-1980s, in part due to the procedural generation of game content.

-- http://en.wikipedia.org/wiki/Rogue_(computer_game)
Showing posts with label Review. Show all posts
Showing posts with label Review. Show all posts

Tuesday, June 15, 2010

It is all about Choice

This weekend I finished my first play though of Alpha Protocol. Suffice to say it was a short story. However, it is not really a short game. One of the big things touted about this game was that it is all about choice, and their are no bad decisions. Most RPGs that have any moral choices tend to favor "Good" over "Evil" choices. The Knights of the Old Republic series had a really big distinction between light and dark side. And it seems that Dark Side characters had fewer options in the long run then Light Side characters.

However, in Alpha Protocol there is very few (if any) really good v evil choices. I think the only good/evil choice I had to made was the level of lethal force to use on civilian guards that are shooting at you.

Still I think I may do something that I rarely get to do with a RPG and that is play it all the way though twice. I am already over halfway though the second run. And I am seeing enough differences to still make it fresh and exciting.

All in all it delivers as promise. An excellent Spy Base RPG. And anyone who enjoyed the Deus Ex series or the Mass Effect series will very much enjoy Alpha Protocol.

Now the But... :)

My criticisms of the game are general and to an extent would also apply to Deus Ex and Mass Effect as well. I have been of mixed mind on the FPS style RPGs. I personally prefer third person "turn-based" games in the vein of the old Fallout and Baldur's Gate games. Yes, I enjoyed Fallout 3, but I preferred the style of Fallout 1&2. I would consider Dragon Age: Origins also to be "turn-based." Loosely speaking any game where you can pause and queue up orders/actions is what I would consider "turn-based."

Second, as much as it makes perfect sense and was executed as well, I am also not a big fan of Hub-Based missions. It lacks the open exploration that I always enjoy. The mission maps are still fairly linear in that there is a start point and an end point even if there are a few different routes though the level.

These are part of the reasons why I am developing YAR the way I am. It will have the elements that I enjoy the most.

Sunday, May 23, 2010

They Say it is one of The Books

So I finished Code Complete and I did enjoy it.

I started writing this on Friday (it is now Sunday morning for those that do not want to do date math from the archives) and I did something I like to do often but in the end turned out to be a bad idea. I have a slightly masochistic habit of reading the low rating reviews of products that I liked. Although I enjoy doing this, it made the first draft more of a defense of the book then a review of the book and its use to me.

This book comes highly recommended from various sources. So I don't really need to promote this book myself. Though personally I would still recommend people to read it at least once. Or make sure you know about all the topics covered in the book.

The book is an overview of many topics in Code Construction and some discussion on software project management. As I mentioned earlier, I have seen most of these topics before from other sources. Working even as UNIX systems administrator, I worked with software developers and I have had my share of design reviews. Also being a PMP, I kind of know a little bit about project management.

What the book does is it gives the reader a concise overview and connection between all the topics covered. It does it all at a high level and for the most part language independent. So if you are trying to get some tips on tuning your C++ source code, this book does not offer any specific advice. However, if you don't know where to start with code tuning, this book will help you think about what to address.

Personally, this book has been very useful. All the random collections of information I had on programing is now better organized in my head. I now have a clearer understanding of what I was doing "instinctively" and now I can modify my methods to produce more useful code.

My major take way for use on the YAR-Project is to not worry too much about making the most efficiently running code at start, and error on the side of readability and clear logic.

Thursday, May 20, 2010

Another View of SDL

I am the type of person who likes to read different sources on the same topic just so I can see the topic from different angles. At times I will even even jump to similar topics just to gain a better understanding in general. For example, I read up on Java and play with it for a while to get a better idea of Object Programing.

To that end, I still like to look at other SDL Tutorials even though the topics are all the same as before. Just seeing a different set of code that does the same thing can offer new insights. So, without too much more preamble, I offer you Dev Hub's SDL Tutorials

This site does require a bit of understanding of C++ and object oriented design as the coding examples heavily use class structures. On a personal note, the author is a member of the "One-Line Main" school of thought. That is main has one command to call another class the runs the show. I am not particularly fond of this school of thought, but it is a valid coding style and has its purpose.

The coding examples are very well laid out and for the most part I was able just to read the code itself most of the time to see how he implemented the topics covered. Also he has an Event Class that I will most likely appropriate in some form. It will have some modifications for my style, but once again, it is useful as is.

The approach of his basic tutorial is to end up with a fairly simple game structure. After finishing this tutorial you will have a strong skeleton of code to build some basic games. Each tutorial is fairly complex in terms of the amount of information presented, though the clear code and explanations help you along.

Another good thing about his site is that he has an active blog and offers additional resources there. There was recently a "Tetris" contest that just ended and it seems like he puts a contest together every few months. Not much in the way of a prize purse, but still could have been fun. I will have to keep an eye out for his next one.

Monday, May 10, 2010

It Is What Got Me Started

So now that I have finished with the tutorials, time to give a bit of a sum up of my experiences at Lazy Foo' Productions. I found the site though various iterations of google searches. Between "Game Design Tutorials" and "Game Graphic Programing" it seemed to pop up a few times. So with a few clicks and away I went.

My first hurdle was getting used to working with Visual Studio 2010. It just released and I decided to jump right in with the express version. So it took some time to figure out how best to download and configure the SDL libraries. But that was not a fault of the tutorials. If anything they did a good job of showing me where I would need to set things in Visual Studio.

So here I am ready to become a master game programmer and this site will tell me how to do it. Aside from his tutorials, he does have a nice set of article as well and from this one on Starting out in Game Development he had a very nice idea bout "Jumping In." It is worth the read so I will not quote it here. But I do still have a hint a fish about me.

The tutorials gave a very nice overview of basic gaming mechanics and how the SDL library can help solve them. The code provided is very useful and I have based a good deal of my personal libraries on his work. In his examples everything is in one large source file and he makes use of many of his structures being global. So as a personal exercise, I broke classes out to their own header and code files as well as relying more on passing information by reference then by using global variables.

At this point I have heavily modified most of what he presented for my own use. Though I do need to give him credit for the Timer class. I think I will be using that almost exactly as presented, except for a few typographical changes for my own personal style and variable notation.

The information presented definitely gave me enough tools get started on my own projects. It starts with just the quick basic screen drawing and image mapping. Then gets in to topics of collision detection, camera panning, scrolling and other basic gaming topics. There was some advanced items on multi-treading that I did not review since that is an advanced topic in general programing let alone game programing.

The tutorials gave me some context to start going though the various SDL documentation and see what else I will be able to do and create. I am at this point ready to start my first design project and see where I end up.

Thursday, May 6, 2010

The Old Masters

I finished a pass though the old classic The C Programing Language by Kernighan and Ritchie. It is a fairly small text coming in under 300 pages with index, prefaces and other such things. Even C for Dummies comes in over 400 pages and doubtfully has the same meaty-ness that is in good old K&R.

The second edition came out in 1988, and there has never been an update. My particular copy was acquired around my time in college in the early 1990s. Back in the day, it was the book. Well it was the only book. I would not recommend this book to learn C. In fact I had a very hard time making sense of it back in college as well. But now after 20 years of systems administration, study and practice in to the UNIX kernel and structure, the book is crystal clear, almost.

At this point in time, the book is very academic. It shows you how to do things if all you had was a small Swiss Army Knife. Now MacGyver has shown us that one can make great things with just a small Swiss Army Knife, but there are much better tools out today. For example, K&R shows you how you can make your own string library with nothing but character based I/O and pointers to characters. This is a very fine academic exercise. But even if you wrote your own, you should be using the standard string library from C++ since it is commonly used and well tested.

I was recommended this book with "it has the best treatment on pointers." And on that I would agree. I still plan to go back from time to time and re-read chapters 5 (Pointers) and 6 (Structures). The denseness of these two chapter alone take time to digest. I also read it because I still had my own copy from way back when.

C is a very powerful language, and K&R shows you all the fundamental tools that make it so powerful. But with great power comes great responsibility. Just because you can do something "very clever" in C does not mean you should.

In summary, any one who is serious about being a real C programmer, should be able to master the information in this book. But I would consider it an advanced text, and not for those that do not already have some understanding of programming, C, and even the UNIX operating system. It is still a good reference on the low level workings of the language.

As a bit of a side note, I suspect most of the books that I will use and review will be more "reference" in nature and not as much "tutorial." Or they will be in depth on particular topics, like Game AI design. Still, I will endeavor at least comment on the usefulness of any text for me on this project.