Tuesday, 8 September 2020

Can’t Upgrade Delphi RADStudio from Embarcadero

Why I used to love Delphi – but not so much now…

So I loaded up Delphi (Community Edition) this morning and I saw an unhelpful dialog box telling me that the software had expired and prompting me to enter a valid serial. I found my serial number, entered it, but it wasn’t accepted. What was I to do? The damned dialog box didn’t give me any other options.

Time to Google. Lots of other people had the same problem. Advice was to go to the Embarcadero site and download a new copy of the software: https://www.embarcadero.com/products/delphi/starter/free-download 

I did that. Or tried to. Every effort I made to log in failed with a warning that my session had expired. Maybe my browser (Chrome) was the problem? OK, so I tried in Firefox. Same error. In desperation, I tried the Microsoft Edge web browser. Amazingly, this time I managed to log in.

I now had to download the latest version of the software, uninstall my old version, install the new one, wait for a new serial number, enter that… anyway, eventually the installation went again successfully.

Look, I like Delphi. I’ve used its Object Pascal language ever since Delphi was first launched and before that I used its predecessor, Turbo Pascal, since the early 1980s. But, come on, chaps, this download-and-install palaver is nuts. You provide a free edition of Delphi (good) but you make it bomb out after a year and then you go to some lengths to make the reinstallation as painful as possible. It’s a positive incitement to use the open source Object Pascal alternative, Lazarus instead: https://www.lazarus-ide.org/index.php?page=downloads

The history of the free edition of Delphi is an odd one. From the launch of Delphi 1, way back in 1995, I was the Delphi columnist for PC Plus Magazine in the UK. I wrote Delphi programming columns every month for over ten years and readers could follow along using the free copy of Delphi that its developers, Borland, supplied on the PC Plus cover disk. Whenever a new version of Delphi was released, we had a new free copy on the cover disk.

Then the Borland programming team split away to form a company called CodeGear and they were quickly bought up by another company called Embarcadero. Sadly, Embarcadero didn’t seem to understand the importance of providing a free edition. I asked for one so that I could teach a course on Delphi. And for the first time ever, my request was refused. So I based that course on Lazarus.

In the meantime, Microsoft had decided that it would be a jolly good idea to provide free copies of its IDE, Visual Studio, to anyone who wanted one. Visual Studio doesn’t support Pascal as standard but it does support C# – a very good language that was created by Anders Hejlsberg, the man who had previously been responsible for Delphi before Borland made the unfortunate error or losing him and other members of his team to Microsoft. 

Now let me be ruthlessly honest. Delphi/RADStudio is a fine programming environment. But it’s not as good as Visual Studio. Visual Studio is simply the best. Embarcadero must have noticed that the Delphi market was dwindling while C# was very much in the ascendant. Rather (too) late in the day they decided to release a free Community Edition of Delphi. OK, so better late than never.

But then they go and implement this incredibly infuriating expiry, download and update mechanism. This doesn’t stop you carrying on programming with Delphi after one year is up. All it does, is make you very annoyed with the software and the company for making the update process as inscrutable and infuriating as possible. I have no idea why they do that. It’s bad PR, it’s bad marketing, it’s just really bloody annoying.

OK, so I finally have Delphi reinstalled. But I now feel so ill disposed towards it that I think I’ll spend the rest of the day programming in Visual Studio!

Tuesday, 1 September 2020

Program Adventure Games with the BIFF Framework

As a passionate adventure game player and programmer, from the 1980s onwards, I’ve decided that the time has come to help other programmers embark on the noble quest of developing retro-style adventure games. I’ve already taught a course and written a book (available on Amazon US, Amazon UK and worldwide) on writing adventure games in C#. But if you’ve never written a game before you might still find it hard to implement all the features needed. Wouldn’t it be great if someone had already written a library of classes that encapsulated all the essential behaviour needed for a game – a parser to interpret text commands, Rooms to create a map, Treasures to create objects, actions to let the player look at objects, take, and drop them or put one object inside another one?

Welcome to BIFF!

BIFF is short for The Bitwise Interactive Fiction Framework. I’ve spent much of the last year writing this framework in Java and now I’m starting work on translating it into C#. The Java version of BIFF is currently more complete – it can handle reasonably complicated commands such as “Put the small golden egg into the big carved wooden box” or “Unlock the treasure chest with the magic brass key”. I will make BIFF for Java freely available later in the year.

Since many people have already read my C’# book or followed my course, I decided that, rather than wait until the C# release of BIFF has all the features in the Java version, I would release BIFF for C# in incremental stages so that existing readers and students can carry on developing their games using the new features. This necessarily means that the early releases will always be substantially incomplete. However, if you want to deepen your understanding of game programming, this is a great opportunity for you to try to modify the latest release by adding on additional features. You are free to modify BIFF as required as long as you leave my copyright notice in the comments of the source code.

To download the code of my C# adventure game book (whether or not you’ve actually bought it!) as well as the current release of BIFF for C#, juts sign up to my mailing list at www.bitwisebooks.com. Meanwhile, here is a short introduction to BIFF…