Friday, 29 November 2019

Learn To Program A Text Adventure Game

Looking for the perfect Christmas present for the programmer who “has everything”?  May I suggest my newest book, The Little Book Of Adventure Game Programming.

The Little Book Of Adventure Game Programming provides a step-by-step guide to creating a game in C#, which is one of the most important languages on Windows and is also available on macOS and Linux. The programming principles and techniques explained in the book can also be used to write adventure games in other languages such as Java, Ruby or Object Pascal. Short examples (source code also available for download) are provided in those languages. As well as teaching adventure games specifically, this book can also be used as a tutorial to writing C# programs. It covers all the most important features of the C# language.

This book explains...

  • How to write Interactive Fiction (IF) games
  • Creating class hierarchies
  • How to create a map of linked 'rooms'
  • Moving the player around the map
  • Adding treasures to rooms
  • How to take and drop treasures
  • Putting objects into containers (sacks, treasure chests etc.)
  • Using lists and dictionaries
  • Overridden methods
  • Overloaded methods
  • How to save and load games
  • Designing a game with a user interface
  • Designing a command-line game to run at the system prompt
  • ...and much more

Available in paperback or for Kindle from Amazon (US): and (UK):

Tuesday, 26 November 2019

Customize the Colours of the Visual Studio Code Terminal

I love Microsoft's free multi-language programming editor but I've never found the perfect colour scheme because I'm a traditionalist and like the Terminal to have a black background with green text. In fact, you can change the Terminal to use any colours you like - as I show in this video.

Tuesday, 12 November 2019

Learn to Program Ruby FREE

I'm starting a new Ruby programming series on YouTube. The first video went online today. More to follow soon. Be sure to subscribe to my YouTube channel to get notification of new lessons.

Monday, 11 November 2019

Arrays, Addresses and Pointers in C Programming

What's the difference between this:

char s[] = "Hello";

and this...?

char *s = "Hello";

Aren't they just two ways of doing the same thing? That is, of assigning the string "Hello" to the string variable s? Well, no. In fact, these two assignments are very different things. If you have moved to C from another language such as Java, Python, C# or Ruby, making sense of arrays, strings, pointers and addresses is likely to be one of the biggest challenges you'll face. Here's a video I made that should help out.

For a more in depth guide to C programming, see my book, The Little Book Of C:
Amazon (US):
Amazon (UK):

For a full explanation of pointers, see The Little Book Of Pointers:
Amazon (US):
Amazon (UK):

Friday, 8 November 2019

Use the Delphi TreeView to Program a Collapsible Outliner

Here is the latest lesson on creating an outlining tool with Object Pascal and Delphi:

Be sure to subscribe to my YouTube channel in order to be notified whenever a new lesson is uploaded:

Wednesday, 16 October 2019

Learn To Program Delphi and Object Pascal

I'm starting a new YouTube series on Delphi programming. In the course of the series I will explain how to design and code a collapsible outliner utility (for brainstorming, TODO lists, password management, project planning and so on).

Eventually my outliner will let you create trees of headings and subheadings, you will be able to drag and drop branches to reposition them and even attach formatted notes to each branch. If you’ve never programmed Delphi before this will be a great way to discover this wonderful development tool for Object Pascal programming. If you already program in Delphi, it will give you an insight into using the TreeView component and saving and loading complex data to and from disk. And, best of all, you’ll end up creating a genuinely valuable tool.

In this first lesson, I give an overview of Delphi and tell you how you can download a free copy.

Be sure to subscribe to my YouTube channel in order to be notified whenever a new lesson is uploaded:

Monday, 7 October 2019

What are C# Generic Collections?

Baffled by generic lists and dictionaries in C# (C-Sharp)? I hope this short video may help.