Adventure Kernel
As a fun way to test out REST API Server development, I decided to port over my Adventure Kernel program over to the web using REST.
Developed Using: ObjectPascal
Project Page: Project Link
Project not currently Active or being Developed
The Adventure Kernel is a text adventure game engine I wrote a very long time ago, an extension to a record type I learned way back when I was about maybe 13 or so through an Applesoft BASIC book I had. The book described how to make a very basic text adventure engine which all the locations for the game were stored in traditional DATA statements within the program. It only had the 4 basic compass directions, and a very limited inventory system. The game engine allows the player to pick up items they find, which just appended a string variable in basic. The items were then usable in certain locations by provided the appropriate items in the DATA statement. It was very primitive in comparison to the likes of Infocom games, but it was a nice introduction for me.
Fast forward many years, and I'm now an early adult, and decided to update this game engine to make it more user-friendly, taking queues from learning how a typical Dungeons & Dragons session works. The basic data structure remained in this new version, however, rather than the player needing to type in any commands, they instead press the N,S,E,W keys to move in a certain compass direction, and the available directions are also displayed to the player. On top of the 4 compass directions, I also added 3 optional actions which the player. These actions are displayed in a simple menu below the location description, and the player can choose one using the arrow keys to move up and down the menu, and then hitting enter to make an option. This newer engine also supported a better inventory management system, allowing for items to be removed in certain moments of the story.
This REST application is a recreation of that game engine, but in a single page web application using REST as a backend server to drive the data itself. It also includes the ability for anyone to register an account, and then use basic forms to create their own epic text adventure using this engine, which will then run entirely through the web browser. The form is data-driven, and is a great example of the sort of web applications I can built, and uses a REST API to load and save objects.
- Welcome Game: Link
- Demo Fantasy Game: Link
- BBC BASIC Port: Link
- GitHub Repository: Link
