Monday 31 May 2021

Program a C# Text Adventure with Free Source Code

I’ve just published a major update to my adventure game system for C# programmers. To get the code, sign up to my newsletter and I’ll send you the download link:

The new BIFF C# (‘Bitwise Interactive Fiction Framework’) adventure game system now has the same feature-set as my Java framework (also available for free download). These frameworks are developed from the codebase created for my two books on text adventure programming, ‘The Little Book Of Adventure Game Programming in C# (and other languages)’ and ‘The Little Java Book of Adventure Game Programming’. 

New features in the C# version of BIFF include:

Adjective matching

Parsed adjectives are compared with an optional list of adjectives stored in Thing objects so there might be three small rings, say, brass, gold and silver. If the player enters "take small ring" the game will ask whether the "small gold ring", the "small brass ring" or the "small silver ring" is intended. 

Mass is associated with each object. 

Here mass can be thought of as the combination of size and weight so that the player can only carry items up to a certain total mass. The mass of items is calculated recursively when things are in other things (so player can't ‘cheat’ by placing high-mass items into a low-mass container and then carrying the container). 

The Thing hierarchy is extended 

Descendants include generic things (non-interactive scenery such as trees, walls, dust etc.) and lockable things. A lockable thing can be opened using a designated object (e.g. a specific key object). 

Other changes include:

Objects now have a Container property which stores a reference either to Room or to the container (such as a sack or chest) in which they are contained. Both the map and the list of treasures in the game are implemented as dictionaries. Special actions are now easier to implement (say, to take certain actions when the gold coin is put into the slot but not when the silver coin is put into the slot). You will find more documentation in the file NOTES.txt supplied with the code.

BIFF includes a simple sample game to get you started. The essentials of adventure game programming are explained in my two books on the subject:

The Little Book of Adventure Game Programming in C#

 Amazon (US) 

 Amazon (UK) 

 The Little Java Book of Adventure Game Programming

 Amazon (US) 

 Amazon (UK) 

Have fun!

Friday 28 May 2021

Camtasia 2021 Review

Camtasia 2021 (Windows/Mac) £216


There are now so many different software packages for recording and editing screencasts (videos of activity on a computer screen) that I often wonder why I still use Camtasia? The answer, I think, is that it does the job it is designed to do – and no more. There are plenty of general-purpose video editors which provide basic screencasting as a small part of a huge feature-set for editing camera-recorded video. But Camtasia sticks to its original brief: while it can record webcam video, it remains fully focussed on screencasting. 

In recent years, TechSmith has released a new version of Camtasia once a year. The last few releases have each offered a range new and improved features but there have been no really gigantic changes. The same is true of the latest version. The new things in Camtasia 2021 are mainly expansions of, or improvements to, its existing feature set. That means that if you have used Camtasia before you will be able to get started with the new release with almost no learning curve. 

So, what are the new features?

Here the new 'exploding hexagon' transition merges two adjacent clips using an animation

Running the Windows version of the software, the first thing I noticed was the hugely expanded range of transitions. A transition is an effect that can be used to join together two video clips. In previous releases of Camtasia, the transitions were limited to fairly simple effects such as fades, slides and animated page-folds. In Camtasia 2021 there are over 75 transitions including bubbles, diamonds, waves, arcs and imploding hexagons. To use a transmission you select it in a side panel and then drop it onto the ‘join’ between two adjacent clips. When the video runs, the animation causes one clip to blend into the other using the selected animation.

A few visual effects have been added too. You can add motion blur to make fast action animations (text animations of headlines, for example) look more effective and you can round the corners of either the main recording or of a foreground element such as a video-clip superimposed over a screencast. You can also add background tints to clips to change the colour tone and you can add matte effects to (for example) create a silhouette or cut-out of a foreground element such as text or video. You could, for example, add a matte to a headline so that the background videos shows through the characters.

A matte has been applied to the text so that the animated background 'shows through' the letters

One new feature that I was looking forward to using was the Colour LUT (Lookup Table) capability. This lets you apply tonal effects to video clips to enhance the ‘warmness’ or apply subtle global lighting effects. You can see an example of this in the Camtasia demo video below. Sadly, when I looked for the LUT filters I couldn’t find them. On checking with TechSmith I discovered that Colour LUT is only provided in the Mac release of Camtasia, not in the Windows version that I’ve been using. I was assured, however, that it is coming to the Windows product and will be supplied in a forthcoming maintenance release.

Other new features in Camtasia include simplified creation of ‘assets’ such as titles and animations which can be stored for re-use in the Library panel; an ‘emphasize’ audio effect to make it easier to fade background music beneath a foreground narration; plus, various usability improvements have been made to help you work more easily with groups of clips and with multi-file projects. Once again, the demo video below provides more information.

In summary, as in the last few releases of Camtasia, the updates to this new version are mainly improvements to existing features or additions to the range of those features (particularly the hugely expanded number of transitions). The look, feel and core functionality of Camtasia are relatively little changed. This has the benefit that it will be immediately familiar to existing users while its straightforward user interface makes it simple for new users to learn too. Camtasia is still my screencast software of choice. However, as it increasingly faces competition from general-purpose video editing packages which often provide some screen-recording tools, at some time Camtasia will need to come up with a few more “must have” features if it is to distinguish itself from the competition. The addition of Colour LUT in the Mac Camtasia is certainly taking it in the right direction and I look forward to seeing that, as promised, in a forthcoming maintenance release for Windows.

For more on previous releases, refer to my reviews of Camtasia 2020 and Camtasia 2019.