Welcome!

Linux Containers Authors: Mehdi Daoudi, Elizabeth White, Liz McMillan, Yeshim Deniz, XebiaLabs Blog

Related Topics: Linux Containers

Linux Containers: Article

Linux & Gaming: HLA Adventure - An Adventure in Learning a New Programming Language

Linux & Gaming: HLA Adventure - An Adventure in Learning a New Programming Language

I originally wrote HLA Adventure to learn assembly language programming. Years ago, I started out on a Commodore 64 (programming in BASIC). Since then, I have moved on to both Windows and Linux programming. I discovered Randall Hyde's High Level Assembly (HLA) while searching for a freeware BASIC interpreter. That's how I learned about HLA and assembly language.

I have been writing for most of my free time, and adventure games have always been a pastime of mine. Ever since I played Zork in 1982, I have loved solving adventure games. I began writing them starting in 1994, and since then have written well over 30 adventure games on a variety of computing platforms.

"HLA Adventure" evolved out of an idea of mine to create an open source text adventure game. I had played MUDs previously, and loved the interface and writing style of LP-MUDs. When I wrote my first large adventure game (Westfront PC: The Trials of Guilder), I learned that writing a good adventure takes more patience than actually playing one.

In May of 2003, I began working on HLA Adventure after learning of HLA on Mr. Hyde's website. Both Frank Kotler and Mr. Hyde really helped me put together the parser and data routines used in HLA Adventure. Since my previous programming experience was Qbasic, I had to learn how to program in a distinctly different style unique to that language. But the blessing was that I learned a useful programming language in the process.

The benefit of writing in a new programming language is in increasing programming skills over time. The more languages learned, the more a person learns about programming efficiently. For instance, when I first learned to program (in 1982), I was learning a programming language that required line numbers. Today, however, most programming languages seldom require line numbers (although some do require labels).

HLA Adventure is a game that will work under either Windows or Linux (thanks to HLA). The game itself is not complete, but it is moving ahead in a direction that suggests well of the project. There are bugs to work out, of course, but anyone may contribute to the project because it is open source.

My journey into the world of Linux began last summer, although I really didn't get started fullbore until April 2004. I learned of Fedora Core from the Red Hat Linux web site, and installed it on my second hard drive. Since then, I have purchased a large book on learning Linux. I am slowly getting accustomed to "xterm" and GNOME, which I consider vastly superior to other applications running under Windows. The stability of Linux is far and away the most impressive that I have ever seen.

I think Linux and HLA are two very positive influences in my work right now. I can't imagine not working with either.

[Editor's note: HLA Adventure's home page is here.]

More Stories By Paul Panks

Paul Panks is the author of "HLA Adventure," an adventure game written in Randall Hyde's HLA (High Level Assembly) language. His ultimate intention was for others to eventually contribute to this project, so in May 2003 he released it into public domain, including the source
code, so others could add to the game over time. Paul is a native of Phoenix, Arizona, an avid fan of pro football and creative writing, and became
interested in Linux programming through Red Hat Linux and Fedora Core.

Comments (9) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Zoue 12/19/04 10:40:39 AM EST

Best Wishes!

Paul Panks 06/20/04 08:17:12 PM EDT

I believe Konsole (via Gnome) has a transparent console ability, but I'm not 100% certain.

Paul

Eric 06/20/04 07:05:37 PM EDT

I know some people flame you because they don't like your games. I think they are interesting and funny and I like the "old-fashion" in them. It's good you turned to linux.

About the critics, I think you should add more synonyms in your game (for ex. take = get etc.)
I found the blue colour of the console too aggressive for my eyes, but I managed to change this in the source code and recompile it. Do you know if it's possible to get a transparent console for your game (on linux) ?

Paul Panks 06/12/04 06:17:50 PM EDT

As of June 12, 2004, "HLA Adventure" is released into the Public Domain.

The Creative Commons License for "HLA Adventure" is listed on the HLA Adventure website below:

http://members.tripod.com/~panks/hlaadv.html

This means that:

1) "HLA Adventure" is free to distribute, modify, make derivative works thereof, and otherwise use.

2) "Mippy the Dragon" is also free to distribute, modify, make derivative works thereof, and otherwise use.

3) "HLA Adventure" and "Mippy the Dragon" are no longer Copyrighted works, as of June 12, 2004.

I, Paul Allen Panks, being the author ("The Author of HLA Adventure and Mippy the Dragon") hereby grant "HLA Adventure" and "Mippy the Dragon" into the collective works of the Public ("Public Domain").

Additionally, I, Paul Allen Panks, being the author ("The author of HLA Adventure and Mippy the Dragon") grant a royalty-free permission of distribution, modification, copying and otherwise use of "HLA Adventure" and "Mippy the Dragon". This includes all "HLA Adventure" source code, derivative works of "HLA Adventure", and any and all images or works relating to or derivative of "Mippy the Dragon".

Sincerely,

Paul Allen Panks
[email protected]
ICQ# 12234336

Paul Panks 06/11/04 07:26:04 PM EDT

I chose HLA because it was a relatively new programming experience for me. I wrote adventure games in BASIC for so long, that I grew tired of the language.

HLA -- on the other hand -- seems like a very interesting programming language. BASIC teaches somewhat backward fundamentals, but those have carried over into a plethora of BASIC interpreters and compilers over the years.

Just look at PowerBASIC and Liberty BASIC, to name a few. Despite flaws, non-Dartmouth BASIC has thrived for a long time. Now it is on the wane.

Basically, HLA is at once the most curious and most interesting language I have ever come across. Is it the best for writing text adventures? No. Inform or TADS, in my opinion, fit the bill better. But does HLA serve a useful purpose? Absolutely.

It was a challenge to write HLA Adventure because I was (and still am) so new to the language. But I love challenges. I wrote a few text adventures in Sylvain Bizorre's Mini-BASIC. I even tried one in HLA Basic. In fact, I squeezed a version of my game "Westfront PC: The Trials of Guilder" into a 24K version for the Commodore 64, Commodore Plus/4 and Vic-20:

http://www.geocities.com/dunric/pauladv.html

Text adventures are great fun, even if they don't usually display graphics (Magnetic Scrolls "The Pawn" is a good exception to this). I believe adventure games (especially text adventures) allow users to explore inner worlds within the mind. Infocom and Zork used a similar ad in the early 1980's when discussing the "power" of the brain in generating graphics.

So, to recap, I believe HLA was a challenge to write an adventure game in and so I picked that challenge instead of using another language (such as BASIC, which I have used so often that I can code an adventure game the size of HLA Adventure in under two weeks).

I have a lot to learn about programming. I am a novice at C/C++, I don't know Python, and I am still very inexperienced at HLA. BASIC is about the only language I know by heart.

Sincerely,

Paul Panks
[email protected]

Paul Panks 06/10/04 09:21:22 PM EDT

Randy has always worked hard improving HLA. A professor at NAU (in computer science) taught C++, and always taught us to debug our own code (including code he produced sometimes). This taught us how to debug code, but while I don't always agree with some teaching methods, I do agree that learning to debug code is essential to good programming.

Paul

Bill Mason 06/10/04 09:12:26 PM EDT

High Level Assembly? Isn't that an oxymoron?

Hyde was the teacher for one of my classes. I was shocked by how bad he was both at teaching and coding. He spent most of class time talking about himself. He forced us to write our projects using his "RatC," which is basically C converted to Pascal using macros. It was bad. Really bad. I spent more debugging RatC than writing my projects. Never was I more offended when he actually said once in class: "I don't debug my code. That's what my students are for."

Paul Panks 06/10/04 03:24:23 PM EDT

It has everything to do with Linux. The game works on Linux, after all. Have a nice day. :)

Thomas Stearnes 06/10/04 02:55:13 PM EDT

What is this self-aggrandizing crap (which has nothing to do with Linux) doing in the pages of a respectable publication? Bad enough that we get this stuff on USENET; do we really need Panks's ego-grooming to be legitimized this way?

@ThingsExpo Stories
To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. Jack Norris reviews best practices to show how companies develop, deploy, and dynamically update these applications and how this data-first...
Intelligent Automation is now one of the key business imperatives for CIOs and CISOs impacting all areas of business today. In his session at 21st Cloud Expo, Brian Boeggeman, VP Alliances & Partnerships at Ayehu, will talk about how business value is created and delivered through intelligent automation to today’s enterprises. The open ecosystem platform approach toward Intelligent Automation that Ayehu delivers to the market is core to enabling the creation of the self-driving enterprise.
In his session at @ThingsExpo, Dr. Robert Cohen, an economist and senior fellow at the Economic Strategy Institute, presented the findings of a series of six detailed case studies of how large corporations are implementing IoT. The session explored how IoT has improved their economic performance, had major impacts on business models and resulted in impressive ROIs. The companies covered span manufacturing and services firms. He also explored servicification, how manufacturing firms shift from se...
The question before companies today is not whether to become intelligent, it’s a question of how and how fast. The key is to adopt and deploy an intelligent application strategy while simultaneously preparing to scale that intelligence. In her session at 21st Cloud Expo, Sangeeta Chakraborty, Chief Customer Officer at Ayasdi, will provide a tactical framework to become a truly intelligent enterprise, including how to identify the right applications for AI, how to build a Center of Excellence to ...
SYS-CON Events announced today that Massive Networks will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Massive Networks mission is simple. To help your business operate seamlessly with fast, reliable, and secure internet and network solutions. Improve your customer's experience with outstanding connections to your cloud.
SYS-CON Events announced today that CAST Software will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CAST was founded more than 25 years ago to make the invisible visible. Built around the idea that even the best analytics on the market still leave blind spots for technical teams looking to deliver better software and prevent outages, CAST provides the software intelligence that matter ...
Because IoT devices are deployed in mission-critical environments more than ever before, it’s increasingly imperative they be truly smart. IoT sensors simply stockpiling data isn’t useful. IoT must be artificially and naturally intelligent in order to provide more value In his session at @ThingsExpo, John Crupi, Vice President and Engineering System Architect at Greenwave Systems, will discuss how IoT artificial intelligence (AI) can be carried out via edge analytics and machine learning techn...
Everything run by electricity will eventually be connected to the Internet. Get ahead of the Internet of Things revolution and join Akvelon expert and IoT industry leader, Sergey Grebnov, in his session at @ThingsExpo, for an educational dive into the world of managing your home, workplace and all the devices they contain with the power of machine-based AI and intelligent Bot services for a completely streamlined experience.
SYS-CON Events announced today that Datera, that offers a radically new data management architecture, has been named "Exhibitor" of SYS-CON's 21st International Cloud Expo ®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Datera is transforming the traditional datacenter model through modern cloud simplicity. The technology industry is at another major inflection point. The rise of mobile, the Internet of Things, data storage and Big...
In his session at @ThingsExpo, Arvind Radhakrishnen discussed how IoT offers new business models in banking and financial services organizations with the capability to revolutionize products, payments, channels, business processes and asset management built on strong architectural foundation. The following topics were covered: How IoT stands to impact various business parameters including customer experience, cost and risk management within BFS organizations.
SYS-CON Events announced today that CA Technologies has been named "Platinum Sponsor" of SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business - from apparel to energy - is being rewritten by software. From planning to development to management to security, CA creates software that fuels transformation for companies in the applic...
SYS-CON Events announced today that Pulzze Systems will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Pulzze Systems Inc, provides the software product "The Interactor" that uniquely simplifies building IoT, Web and Smart Enterprise Solutions. It is a Silicon Valley startup funded by US government agencies, NSF and DHS to bring innovative solutions to market.
From 2013, NTT Communications has been providing cPaaS service, SkyWay. Its customer’s expectations for leveraging WebRTC technology are not only typical real-time communication use cases such as Web conference, remote education, but also IoT use cases such as remote camera monitoring, smart-glass, and robotic. Because of this, NTT Communications has numerous IoT business use-cases that its customers are developing on top of PaaS. WebRTC will lead IoT businesses to be more innovative and address...
WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, will introduce two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a...
When shopping for a new data processing platform for IoT solutions, many development teams want to be able to test-drive options before making a choice. Yet when evaluating an IoT solution, it’s simply not feasible to do so at scale with physical devices. Building a sensor simulator is the next best choice; however, generating a realistic simulation at very high TPS with ease of configurability is a formidable challenge. When dealing with multiple application or transport protocols, you would be...
SYS-CON Events announced today that CA Technologies has been named “Platinum Sponsor” of SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business – from apparel to energy – is being rewritten by software. From planning to development to management to security, CA creates software that fuels transformation for companies in the applic...
SYS-CON Events announced today that Elastifile will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Elastifile Cloud File System (ECFS) is software-defined data infrastructure designed for seamless and efficient management of dynamic workloads across heterogeneous environments. Elastifile provides the architecture needed to optimize your hybrid cloud environment, by facilitating efficient...
SYS-CON Events announced today that Golden Gate University will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Since 1901, non-profit Golden Gate University (GGU) has been helping adults achieve their professional goals by providing high quality, practice-based undergraduate and graduate educational programs in law, taxation, business and related professions. Many of its courses are taug...
Recently, WebRTC has a lot of eyes from market. The use cases of WebRTC are expanding - video chat, online education, online health care etc. Not only for human-to-human communication, but also IoT use cases such as machine to human use cases can be seen recently. One of the typical use-case is remote camera monitoring. With WebRTC, people can have interoperability and flexibility for deploying monitoring service. However, the benefit of WebRTC for IoT is not only its convenience and interopera...
When shopping for a new data processing platform for IoT solutions, many development teams want to be able to test-drive options before making a choice. Yet when evaluating an IoT solution, it’s simply not feasible to do so at scale with physical devices. Building a sensor simulator is the next best choice; however, generating a realistic simulation at very high TPS with ease of configurability is a formidable challenge. When dealing with multiple application or transport protocols, you would be...