Planning TBRPG

Being in the early stages of planning TBRPG has me thinking about a lot of interesting things regarding building a game engine. While this isn’t a graphical endeavor and therefore a lot more simple in nature, there are a lot of elements used in RPGs that I didn’t really think about until I had to think about them. I figured I would share some thoughts on what I am currently working on and the direction I am going with the project.

One of the first things I did was thought about the limitations I had with previous projects. As a result, I have been rewriting a lot of the aliases that I generally use during development to make them easier to use and easier to understand. I am essentially building a framework first to start developing the game on and then starting to delve into specifics of the game such as how encounters work, how questing works, inventory management, and other functions.

Since I am using mIRC as the base engine for this project, there are both some benefits and limitations to this approach. While it is possible to run mIRC within Wine, it is not something I am interested in exploring at this point since I don’t know what kinds of issues I could encounter given that I am generally using the latest version of the IRC client. mIRC has its own scripting language and therefore could run into some issues with the scripts that I write if I try to run them in a Linux environment.

This essentially means that hosting the bot is going to be a bit more complicated since I cannot just get a cheap Linux VPS for the project.

How mIRC Works

In case someone reading this doesn’t have a background in coding in mIRC, I figure I would give a quick rundown of how scripting works. You can break it down into the following types of scripts:

Aliases – These are commands you can create which you can use by typing them with a forward slash in the chat window or reference it within code.

Remotes – These scripts generally have some sort of trigger for them to activate, such as a user joining a channel or a specific text being posted in the channel or in a private message.

Popups – This is the drop-down interfaces found in the mIRC client.

In essence, I will use Aliases as the core of the framework and use remotes to allow for users to interact with the bot. The popups will be used for administrative purposes such as enabling and disabling the bot or making changes to a character or NPC.

Data Management

Since mIRC doesn’t have a built-in means of communicating with a database, data is handled in configuration files and individual data files. There is a plug-in for mIRC to give you access to MySQL databases, but it is out-of-date and may not work well with newer revisions of either MySQL or MariaDB, therefore I want to avoid a database implementation.

Data management will be as simple as storing all of the information in either local variables (temporary variables only accessible to those specific scripts), global variables, and files stored on the hard drive. There will be data files which contain information about every element of the game including items, spells, skills, quests, and NPCs as well as individual files for player characters. The storage is a simple format.

[category]
element=true
otherelement=1

[category2]
element=false
otherelement=1

This format allows for me to easily access and ready information in a variety of different ways. I have built aliases that will be commonly used to fetch this information. For example, the ‘readvalue’ alias is being used as a way to retrieve a particular value for a character (both player-controlled and NPCs). Different aliases will be made to make it easy to retrieve specific types of information including a specific value for an item or returning the enabled/disabled state of a specific feature.

Class System

Previous projects I have worked on have focused on having different playable characters. In this case, I am planning on having different classes to choose from which will influence a number of different aspects including the skills/spells the character has access to and how their stats are affected as they level up.

Each class will have it’s own focuses and optimal strategies, though I want to provide a level of control for players to be able to approach their character in different ways. For example, one of the classes will be your standard magic user, but will be able to choose which elements they employ and which spells are most important to them.

Character System

Each playable character will have its own unique stats and will be able to level up as they play the game. I am using a standard experience system, although the experience curve is defined on a per-level basis right now in order to prevent the experience requirements from going out of whack. I may try using a formula to determine the experience on a per-level basis, but right now I am quite happy with how I determined the totals for now.

 

 

Niantic + Harry Potter = Why?

Note: I am not at all against them using the Harry Potter IP. I am mostly perplexed why the Harry Potter IP holders would choose to partner with Niantic giving their track record.

Niantic, the developer behind Pokemon Go and Ingress, have announced that they are working on a new title based on the Harry Potter IP. This comes at a time when their most recent product, Pokemon Go, is still plagued by major issues with new features launched months prior and after the failed real-life events caused outrage by the Pokemon fandom. This makes me ask the following question:

Who thought this would be a good idea?

On paper I could see this being a compelling project that could bring fans of Harry Potter together around the world just as Pokemon Go did at its launch, but Niantic does not have any positive track record with any of the projects they have released. Releases are usually lacking key features which were used as the main selling points for the respective titles and even at this point both of their games seem to be in a state of disrepair.

A quick glance at the /r/pokemongo subreddit showcases the ongoing frustrations their dedicated player base has with the game. Reading through many of the complaints, it makes you wonder just how out of touch the game developer is with their user base. Some of the mistakes just seem to be issues caused by carelessness in planning out a game that is available all around the world. The game, which requires real-life interaction with the world around the player, doesn’t take into consideration environmental factors or factors relating to the location of the player in terms of time zones. Given that they have access to resources from their affiliation with Google, one would think this is all information they could easily tap into to provide a better experience for the player.

While only time can tell how the new project is going to fare, it is quite clear that customers of Niantic are quite skeptical all over the Internet citing concerns that the new game will have the same pitfalls and limitations as both of their previous projects. Personally, I don’t expect much from the project at all and don’t expect it to launch any time soon given the amount of time it took for Pokemon Go to get released in a horribly unfinished state.

 

Logitech Abandoning Its Customers

Recent revelations about Logitech’s line of “Harmony Link” home entertainment remotes have revealed that Logitech fully intends to abandon the old product line, effectively barring their paying customers from being able to use the hardware they have already invested in. While Logitech did offer their customers the ability to trade in their hardware for the new version that will be supported if they were under warranty, those outside of the warranty were given little consolation for them being abandoned by the peripheral giant.

Logitech is a company which, for a long time, has been synonymous with the words “mouse” and “keyboard” in the computer peripherals business. They’ve been one of the largest manufacturers of peripherals for the longest time, being a popular brand in both brick-and-mortar stores and online. Logitech has a rather strong following by the average computer user, an audience that is more interested in using the brand names rather than exploring other options to determine which will work the best for them. Logitech has certainly branched out into different directions, even delving into the home automation market.

The Cloud Culture

One of the most distressing patterns in the current technological climate lies in everything moving to the “cloud”. With more products storing their information on servers rather than keeping them local to the device, many customers are becoming uncomfortable with the idea of losing access to the product they paid for if they lose their Internet connection or if the company goes out of business. The Revolv hub served as a warning to those investing in cloud-based devices to consider other devices. While I think most would think about online games when thinking about “always online”, but a lot of devices require an Internet connectivity for them to work even if the actual function of the device doesn’t require an internet connection to operate correctly.

Product Abandonment

Let’s face it. When a device can no longer be used due to its discontinuation, that is a customer being abandoned. Logitech has effectively abandoned a portion of its customers to save money. With Logitech using the excuse of an expiring license preventing them from continuing operation of the device, why is Logitech not offering some sort of fix for the device to make it work without a connection to a specific server? Logitech should be held liable for any and all costs incurred due to customers having to switch from the Harmony Link to either Logitech’s newer offerings or competing products since they have created this issue to begin with. Logitech could either pony up the money for the license, or offer a firmware update that removes the requirement from the devices, giving their customers the ability to use the device even if it reduces some of the functionality.

There is no legal recourse for consumers buying these devices. These companies are offering a cloud-connected device without any explicitly implied warranty about the ability to use the device. This is more disturbing when you take into consideration that Logitech was selling these devices during a time when they were well aware that they would not continue to support them even as far as six months ago, offering a three-month warranty on refurbished versions of the device, ensuring that their customers would get minimal value for their cost only to be forced to buy a new product again.

Laws and regulations need to be set to force product manufacturers to support their devices for a specified amount of time and for any and all possibilities of a device becoming unusable disclosed in a warning directly placed on the box. This needs to be a risk that the customer is made aware of before they place their order for the device. There should be an agreement they must sign to understand that they could lose access, but the agreement needs to be clear and concise as to what they are agreeing to with it being made clear that after a specific date, there is no guarantee for the operation of the device. There needs to be clear financial and legal consequences for abandoning support for a device before a specified amount of time, ensuring that companies do not take advantage of their ability to abandon a product as a means to force their loyal customers to spend more money on newer versions of the hardware.

Planned obsolescence, which is what the Logitech Harmony Link is a victim of, should be a punishable offense and should be damned by the tech industry. There needs to be more transparency by device manufacturers and there needs to be more legal protections in place to allow for hardware purchases to make their money back when the product they have purchased is bricked by the manufacturer for financial reasons. This is theft at its core and is behavior unfitting of one of the leaders in computer peripherals.

Update: Logitech has backpeddled on this hard, publicly stating that they will offer free upgrades to all affected device owners. While this is great news for those device owners, I certainly wouldn’t want to stay within that ecosystem knowing that in the future they may choose to do this again and leave more people out in the dark. Consumers can only get outraged about something so many times before they just give up. Next time they might not be so fortunate.