Freitag Software
The Joy of Writing Software
  • Home
    • Links
  • My Software
    • JavaScript Programs >
      • Dots
      • The Code Cracker
      • The Deserted Ship
      • Flying Text
    • Java Programs >
      • Dot Animation
      • Operation Rescue >
        • Mazes for Programmers
      • Battleship!
      • Blackjack
      • Draw Poker
      • State Pattern Demo
      • Falling Blocks
    • Android Programs >
      • The Oracle
      • RPSLS
      • Gemini Falcon: Asteroid Miner
      • Gemini Falcon: All Boxed In >
        • Gemini Falcon >
          • Privacy Policy
          • A Game Oddity
      • Ay Caramba
      • Dots vs Dots
      • Ants vs Ants
    • Twine Stories
  • Random Thoughts
  • Book Reviews
  • Teaching
    • Real-Life Stories
    • Flying Text
  • About
    • Contact

Game Design: with HTML5 & JavaScript

9/20/2017

 
Picture
I don't know if I'm lucky or if I'm just good at reading book descriptions before buying one, but I seem to consistently find great books to read. Here is another really good one:  Game Design with HTML5 and JavaScript by Rex van der Spuy. 
  
At the encouragement of a good friend I decided to try my hand with JavaScript. I don't think this book is for true beginners, but you have some experience under your belt, it's a great introduction to using JavaScript with HTML5 and CSS to create a variety of games. The writing style is easy to read and the author goes over every line of code in the book (sometimes it seems too much so, but it's better to have too much explanation than too little!). 

 Reading is not doing so the author encourages the reader to get their hands dirty in every chapter and write some code using the techniques just covered. From the code the author provides, I was able to quickly write some demonstration games that worked quite well. 

My plan is to continue reading this book with an eye towards how each technique can be used in a larger game. The small amusements I'm writing as I go are proof-of-concepts that will be folded into a bigger project that will use the programming techniques I am learning from the Artificial Intelligence for Game book I'm still reading (see below).

The author has published other other books on programming and I"m looking forward to reading them as well -- there is no higher praise I can give an author than that. 
Picture

Artificial Intelligence for Games

2/8/2017

 
Picture
Artificial Intelligence for Games, by Millington and Funge, is literally heavy and figuratively heavy with information, concepts and ideas. I love it! I've just started reading it and it's clear I will be spending most of the this year doing so.

The book is not hard to read, but I don't want to give this a quick read and move on to something else - I want to study it, understand it, savor it, and then write code using what I've learned. This is a book that begs to be used to write code. 

The book uses pseudocode to illustrate the  ideas, but you can download C++ code from this github repository. 

I'll update this review as I proceed through the book this year. 

Picture

Game Programming Patterns

1/13/2017

 
Picture
It was a pleasure to read this book by Robert Nystorm. His geeky humor while he describes his code was much appreciated. 

This is not a beginner book. You should have a few gaming projects under your belt before tackling this - and you should have already be familiar with Head First: Design Patterns. 
The sample code is written in C++, but if you are proficient in Java or C# or C, it should not be difficult to understand the intent. I enjoyed reading the book and thinking about how I could have improved my code in earlier projects. 

Reading this book is like having a totally geeky conversation with the author about software development. His thoughts on how things 'really' work in practice really helped me feel good about some short-cuts I've developed to get around problems he was describing. 

Note that this book is provided online by the author for free, or you can buy it electronically or dead-tree version. I bought the paper-book to support the author and the craft of writing books. And I'm old school... I like the look of real books on my shelf. 

I look forward to using the techniques described in this book! Thanks, Bob!
Picture

Head First: Design Patterns

12/26/2016

0 Comments

 
Picture
I enjoy the Head First series of books, but they may not be for everyone. This book, Head First: Design Patterns, is not for beginning programmers, but you won't become an advanced programmer without understanding the concepts that are covered in this book. 

Pick up 
this book after you have some experience under your belt. Depending on your interest and needs, I suggest starting with the Strategy Pattern, the Observer Pattern, the Singleton Pattern, and the State Pattern. Then follow up those with the patterns you skipped in the book. 

To use this book effectively you should have a good understanding of OOP principles and be ready for extending abstract classes and implementing interface classes. If you don't know that those are, that's OK, the authors give lots of examples and you should reference your other Java materials to get up to speed where you have to.

This is a book I review every year or so to remind myself about the concepts and to pick up what either went over my head the first time, or what was not meaningful to me at the time. Reading a book like this again gives me confidence that my Java understanding has grown since the last time I read the book. 

Definitely recommended for anyone who wants to program professionally or wants to program like a professional. ​

Picture
0 Comments

Mazes for Programmers: Code your own twisty little passages

10/24/2016

0 Comments

 
Picture
James Buck, the author of Mazes for Programmers: Code your own twisty little passages, asks on the back of his book, "Remember when programming used to be fun?" I do. And writing maze generation code IS fun.

The author describes the algorithms as well as providing code in Ruby. For fun I wrote the code in Java since I don't know Ruby. The author does a very good job of describing the purpose of each line of Ruby, along with a textual description what the algorithm does so it is not very difficult to keep up. At the same time I'm writing a maze game, Operation Rescue, that transverses the mazes I'm creating. 

This is a book I highly recommend for anyone who wants to have fun coding again!
Go buy it! ​

Picture
0 Comments

Dreaming in Code

9/23/2016

0 Comments

 
Any serious programmer has dreamed of code. A great day for me is a day when I don't want to go to sleep because I'm in the zone coding and in the morning I wake up early to get coding as soon as possible. Flowcharts, lines of code, and programming concepts all jump over the fence all night as my brain solves whatever puzzle I'm working on. 

Programming is solving problems. Programmers have been solving problems for more than 50 years now, but there is still no consensus on how to do software development. I've been in the computer software industry for more than 30 years and I keep hearing the same complaints and ideas being recycled again and again. 

The book Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 bugs and One Quest for Transcendent Software chronicles a software development project in the early 2000s. I found it all very familiar and sighed deeply many times as I followed a team face the same hurtles and obstacles I faced during my career in software development. I'm proud that as Director of Release Delivery, Architecture, and Portals, the company I worked for delivered every release on time while I was on the job for more than 4 years (4 to 6 releases a year).

I was mostly a project manager but also an advocate for repeatable processes and systemic attitudes towards delivering software. When everyone was on board, it was great. Software flowed out the door on time and on budget. But every time new management arrived I had to justify why it took so many people to get software out the door. "Why can't we just zip up the development libraries?" I was asked more than once. Arrrrrrg! 

After I left the company they didn't ship another release for more than 2 years. Should I feel bad about that? I don't. 

Dreaming in Code shows the non-technical reader why it is so difficult to create and deliver software on time and on budget. I encourage all people interested in software development to read pages 239 through 269 to get a high-level overview of the methods that have been tried to produce solid software. It's a good read.
0 Comments

The Master Algorithm

5/14/2016

0 Comments

 
The full title is The Master Algorithm: How the Quest for the Ultimate Learning Machine will remake our World, by Pedro Domingos. This book provides a good overview and historical view of what machine learning is and what the various types of machine learning are good at. 

I'm enjoying reading the book, going slowly through it, savoring it, and understanding and learning what I can. This is not a book to blow through.

This book is helping me pull together bits and pieces of AI knowledge I've gained over the years. Now I'm looking forward to learning more about machine learning and its relationship to AI. ​
0 Comments

All Your Base Are Belong To Us

1/18/2016

 
This book follows the history of video games from the 1950's to the emergence of the Wii. I enjoyed reading about the behind-the-scenes development problems and triumphs and that occurred while I was playing some of the games mentioned in the book. The characters are a who's-who of creators and who-published it of gaming: Miyamota, Will Wright, Blizzard Entertainment, Nintendio, Electronic Arts, RockStar Games, Sega, Sierra Online, Sony, X-Box, Playstation, Mario, Donkey Kong, EverQuest, Tetris, Sims, Grand Theft Auto, Bejeweled, World of Warcraft, and many, many more people, games, and companies. 

It was inspiring to read about the people who kept imagining better and more innovative games and the almost insurmountable obstacles they had to overcome to bring their games to the public to play. 

Here's a tongue-in-cheek summary of just about every story: developer/programmer has new idea for a game; nobody thinks it will sell or is impossible to develop; developer finds/begs for enough money to create the game; developers run out of money/time; developers show game to someone with deep pockets who now believes in them; game is delivered; hard-core gamers are wow'ed; suits arrive to continue milking the cash cow; original developer leaves company (sometimes with FU money, sometimes not); suits ruin/run-into-the-ground the original idea. Repeat with new players. 

Introduction to Java Programming: Comprehensive Version by Y. Daniel Liang

12/27/2015

 
Picture
I used this Java textbook in the Programming II class I taught this semester and I found it to be very useful and enjoyable to read. There are many, many coding examples along beside the text that explains the concepts. Many times I couldn't wait to try out the code in my own programs. ​

Picture

Level Up! The Guide to Great Video Game Design

1/1/2015

 
Picture
Level Up! The Guide to Great Video Game Design by Scott Rogers is a classic of video game design. This book contains a huge amount of great information along with very useful appendices containing sample design documents, lists of story themes and environments, and templates for designing enemies and bosses. 

Much of the book focuses on the knowledge required to develop large multi-level video games, but the concepts of developing such games are still useful for developing smaller games for phones and tablets created by smaller teams of even individuals (like me!). 


If you are designing video games and apps, this book is a must read if only to provide you the necessary background and history of the field. Don't reinvent the wheel -- you need to know this information to know what other games have done and how they did it. Get this book. Read it. And then design your next game! 
​

<<Previous

    Author

    David Freitag ​-
    ​Someone who enjoys reading about and studying software development

    Archives

    September 2017
    February 2017
    January 2017
    December 2016
    October 2016
    September 2016
    May 2016
    January 2016
    December 2015
    January 2015
    November 2014
    September 2014
    July 2014
    June 2014
    March 2014

    Categories

    All

    RSS Feed

This website documents my love of programming.  I hope it is useful and entertaining for you to read. 
An old programmer learning new tricks... 
(c) 2017 David A. Freitag, all rights reserved.