Review of Krylar's "Programming 2D Scrolling Games"

Everything else that doesn't fall into one of the other PB categories.
User avatar
GedB
Addict
Addict
Posts: 1312
Joined: Fri May 16, 2003 3:47 pm
Location: England
Contact:

Review of Krylar's "Programming 2D Scrolling Games"

Post by GedB »

When Krylar announced that he was writing the book for PureBasic my main concern was that this would be a quick 'port' of his existing BlitzBasic book. I've seen this happen before, where it looks like all they did was a quick search and replace and a crude debugging of the examples.

I'm pleased to say that my fears were misfounded. "Programming 2D Scrolling Games" is a pure PureBasic book that introduces the language, its features, its common idioms and its typical gotchas.

The book is divided into 3 sections: introducing first PureBasic, then the game specific libraries and finally the example game project "Migz Callo: Lazer Blazer".

The first section is an excellent introduction to the PureBasic language, which would be suitable to those entirely new to programming. Krylar has a great 'Just Enough Theory' approach that quickly introduces the concepts needed to understand the code. In the first few chapters the reader is introduced to binary, strings, bitmapping, cartesian co-ordinates and other important fundamentals.

These sections are short enough so that the experienced programmer can skim over and appreciate the refresher but complete enough to give the newcomer the necessary knowledge. The concepts are then illustrated with well commented code examples.

Important PureBasic specifics are also covered well. Arrays and Structures, and the subtle distinctions regarding Arrays within Structures, are given excellent coverage. The style of code is recognisable as the common style adopted by the majority of forum posters. The typical pitfalls encountered by the newbie programmer are all dealt with before they can cause any problems.

I found Section 2 far more beneficial because I haven't done much with the game libraries. Again, 'Just Enough Theory' is introduced to help the understanding. I found the chapters on collission detection and ensuring consistant timing to be excellent and personally beneficial.

Section 3 goes beyond just the language, and discusses the other important aspects of game design. The Game Design for the demo gives a valuable insight into the activites that must preceed the writing of any code. Important concepts such as tile mapping, screen scrolling, z-ordering and computer character behaviour are then discussed.

This final section is the most practical, with lots of code listings and screen shots. Any experienced programmer who is new to writing games will benefit from reading this section.

The accompanying CD includes a demo version of PureBasic and the full code for examples and the "Migz Callo" game. It also includes Krylar's useful KNet-Lib and K-2D map maker and some demos of Idigicon's other products.

There are a few ways the book could be improved. A little extra formatting could have made the examples much easier to read. Bolding the keywords, putting the comments in a lighter shade, that type of thing. It is also a shame that only a small subset of the language is introduced. PureBasic's GUI libraries are only mentioned in passing.

Potential purchasers may be put off that the book is only available from Idigicon direct. As far as I can see, it isn't possible to order it from Amazon. Don't worry about this, since Idigicon show a clear commitment to customer service. For example, when the book was slightly delayed because of a printing error those who had pre-ordered were compensated with some free software.

I would whole heartedly recommened this book to anybody new to programming or PureBasic. Working through this book will give you a solid foundation.

Those who can program, but are not familiar with 2D games coding, will also find much of benefit here.

This book deserves to do well. I hope it does, so that other volumes covering PureBasic's other features, might be released in future.
Last edited by GedB on Tue Aug 09, 2005 6:27 pm, edited 2 times in total.
Intrigued
Enthusiast
Enthusiast
Posts: 501
Joined: Thu Jun 02, 2005 3:55 am
Location: U.S.A.

Post by Intrigued »

Thanks for the review... being that I'm from the "states" (USA) it seems the book is taking a tad longer to get to my home. But, I'm looking forward to reading such book.
Intrigued - Registered PureBasic, lifetime updates user
mlwhitt
User
User
Posts: 67
Joined: Sat Jun 11, 2005 3:38 am
Location: Western Kentucky
Contact:

Post by mlwhitt »

Thanks GedB. I am planning to order this soon. I was wanting to read your review first and it sounds very good. Quick question, I know that this book is geared towards 2D game development, but can a good portion of it be applied to general app development with PureBasic? I plan on getting it ASAP, but I would be even faster about it if I knew it would help me learn more than just the gaming side of PureBasic.

By the way anyone reading this that is considering putting out a book covering overall PureBasic development, please do, you have a reader here!
PB and PureVision XP Registered.
www.michaelwhitt.com
User avatar
GedB
Addict
Addict
Posts: 1312
Joined: Fri May 16, 2003 3:47 pm
Location: England
Contact:

Post by GedB »

Mlwhitt,

The book focuses very strongly on game development. There is nothing about GUIs or databases.

The first section, covering the core langauge, is generally applicable with a strong gaming slant. The rest, however, is not.
Intrigued
Enthusiast
Enthusiast
Posts: 501
Joined: Thu Jun 02, 2005 3:55 am
Location: U.S.A.

Post by Intrigued »

By the way anyone reading this that is considering putting out a book covering overall PureBasic development, please do, you have a reader here!
Ditto!
Intrigued - Registered PureBasic, lifetime updates user
User avatar
blueznl
PureBasic Expert
PureBasic Expert
Posts: 6161
Joined: Sat May 17, 2003 11:31 am
Contact:

Post by blueznl »

isbn number?
( PB6.00 LTS Win11 x64 Asrock AB350 Pro4 Ryzen 5 3600 32GB GTX1060 6GB)
( The path to enlightenment and the PureBasic Survival Guide right here... )
User avatar
GedB
Addict
Addict
Posts: 1312
Joined: Fri May 16, 2003 3:47 pm
Location: England
Contact:

Post by GedB »

The ISBN is 1-894752-34-1, but I think the only way to order the book is direct from Idigicon.
theNerd
Enthusiast
Enthusiast
Posts: 131
Joined: Sun Mar 20, 2005 11:43 pm

Post by theNerd »

You wrote a good review, GebB. I am still going through the book and have found it to be excellent. I am fairly new to PureBasic so most everything regarding the PureBasic commandset has been extremely helpful.

If I had one *little* disappointment it would be the lack of GUI information. I realize that this is primarily a game development book but I do think learning how to make GUI's in PureBasic can be game related. For example, if I wanted to make a map editor or a game configuration screen for my game I would use a standard Window's interface (similar to the map editor Kylar used for his example game.) So, just as some of you said, if someone would like to write a book on PureBasic covering DB's, GUI's and other advanced topics, I am customer.

That being said, I think the book is very well written and was definately worth the money! I am really enjoying it and highly recommend it to everybody! (including Fred :lol: )

(Krylar, if you are reading this, it would be awesome if you wrote a downloadable additonal chapter that covers some GUI information. Doesn't hurt to ask. :P )
Intrigued
Enthusiast
Enthusiast
Posts: 501
Joined: Thu Jun 02, 2005 3:55 am
Location: U.S.A.

Code Error?

Post by Intrigued »

Check page 200, half way down.

Under ;Initialize the pitch to the highest and set

Check the variable created and then what was used as an agrument.
Intrigued - Registered PureBasic, lifetime updates user
Post Reply