The RP Client - A Client For RPIs and Armageddon

Started by deskoft, October 06, 2022, 02:18:56 PM

October 06, 2022, 02:18:56 PM Last Edit: September 11, 2023, 03:36:07 PM by deskoft
This project is the spiritual successor of the Unofficial Armageddon Client. It is a web client which you can find here.

Features

  • Optimized I/O for ArmageddonMUD.
  • XTERM and ANSI colors.
  • Visual bars to show you vital information about your character (such as health, stun, mana, focus).
  • Character side bar that shows you other information about your PC (such as their name, if they are armed, etc).
  • An AI-powered utility to help you translate text, find words through a thesaurus and explain concepts for you (such as the parts of an object for crafting).
  • A robust time-of-day utility for Armageddon which shows the current time of day, month, year, etc, as well as lets you navigate a card-based menu to figure out more things about the current time of day.

What are the odds of this ever being available for android/chrome OS? I am stuck with duckclient as the best client usable on my chromebook and I hate it so much.

I'll be honest and say it's definitely not in my plans right now, but I could see myself doing that project in the future once this one is done.

While Angular (the framework I am using to build this app) does have wrappers for mobile, the tech stack it would use is vastly different on mobile, so it would require different logic sadly.

That's fair, it was worth asking. But for anyone else stuck on android/chrome os, duckclient is infinitely better than blowtorch so I would recommend that instead. blowtorch is an absolute nightmare. I figured it had to be complicated as hell otherwise there would probably be a decent client for the platform by now. Thank you for the time you're putting into making the client in any case.

Just lazy-coded a length warning, still gotta test if this is actually the length that is the limit. It is white if you're ok, orange if you're getting close, red if you're over the top. Not sure if it's actually 248, my last test showed that. Only one way to find out! By playing!


You must install something on your computer for this, right?

For people who do not have administrator rights on their computers, you cannot use this?
New Players Guide: http://gdb.armageddon.org/index.php/topic,33512.0.html


Quote from: Morgenes on April 01, 2011, 10:33:11 PM
You win Armageddon, congratulations!  Type 'credits', then store your character and make a new one

The deployment strategy is bound to change, but so far this is just going to be an executable. An EXE for Windows, an APP for MacOS and an app you execute with ./app for Linux.

Once this is ready for deployment, I'll also put it up on github and if anyone wants to contribute to it, that'd be cool.

October 06, 2022, 05:48:32 PM #8 Last Edit: October 06, 2022, 06:48:08 PM by James de Monet
In talking about sending info from your prompt to a GUI, there probably isn't a need to create this out of whole cloth if you don't want to.  I know I've done some work on a GUI before, and others have also (my brain says Trieste, Nathvaan, and maybe Codemaster, but I could be way off)

Here's the forum page about the GUI panel I created and a link to a YouTube video of it in action.


I do like the idea of building the GUI right into the client.  Makes it neat and easy.
Quote from: Lizzie on February 10, 2016, 09:37:57 PM
You know I think if James simply retitled his thread "Cheese" and apologized for his first post being off-topic, all problems would be solved.

Quote from: James de Monet on October 06, 2022, 05:48:32 PM
In talking about sending info from your prompt to a GUI, there probably isn't a need to create this out of whole cloth if you don't want to.  I know I've done some work on a GUI before, and others have also (my brain says Trieste, Nathvaan, and maybe Codemaster, but I could be way off)

Here's the forum page about the GUI panel I created and a link to a YouTube video of it in action.


I do like the idea of building the GUI right into the client.  Makes it neat and easy.

Yeah, this is probably going to be heavily inspired on that! That said, I think there's a benefit to this using web technologies, so it might lead hopefully to a very neat integration of it all.

There's a lot of things that can be done with a client that is designed for Armageddon in my opinion, and I have many ideas but the list above is what I deem necessary for the first decent version. That said, a lot of the more advanced features should be optional in my opinion, and there's design decisions that will need to be done about where to position the GUI elements.

Above all, this is an attempt to create a client that feels similar to booting a game up, helping you play the game without having to make too many choices. I believe that to be one of the main barriers of entry to a MUD game. You'll get questions such as 'How do I add a server to this MUD client?', 'What are these numbers being shown on my screen next to the text?' etc. The goal is to streamline that a bit.

I've been trying out the input length warning system and it's been really cool so far. To get a warning like 10 characters before you hit a limit saves up a lot of times. It actually feels like it makes me more effective, because I can add the ... myself and keep writing what I want to write in the next input.

Here is a very WIP image of the side bar. There's still a LOT of information to add to it (such as hunger and thirst, most importantly), but any feedback appreciated.

Unfortunately, the first censored line is the character name, and there's no way yet I can show that. Maybe I implement a screenshot mode that puts dummy text in it.

I am happy about the health, mana, etc. bars. I am undecided yet on the time of day, position & language ones. There could be more interesting ways to present time of day, including a crazy ass clock? Any ideas appreciated!

As for positions, I am using material icons (can use any of these icon packages). The icons for position & time of day change. In the case of position, you have the chair, a bed, a standing man. In the case of time of day, you have icons for night, dusk/dawn, and day.


I see you with your used mana points and northern accent.  Unless the mana bar is somehow smaller than the other bars because of a lower integer value?

*points to eyes and points to deskoft*

But honestly this is pretty cool already.

The bars do all look like different lengths.

I'd rather normalize them, so they are all the same length when full.
21sters Unite!

Quote from: Ammut on October 07, 2022, 10:09:18 AM
I see you with your used mana points and northern accent.  Unless the mana bar is somehow smaller than the other bars because of a lower integer value?

*points to eyes and points to deskoft*

But honestly this is pretty cool already.

They are all the same width! It is calculated based on the percentage (value/maxValue)x100. Thank you so much for the commentaries! Can't wait to get more into it.

Quote from: creeper386 on October 07, 2022, 12:11:22 PM
The bars do all look like different lengths.

I'd rather normalize them, so they are all the same length when full.


They are all the same length! The ones that are not full length are used.

Also just want to say that I have been testing this extensively and using this as my multi-hour-per-day client, both in combat and long scenes, and it's been so far pretty stable. I am extremely happy with that fact.

Ooh. Maybe have something darker around the bar that goes the full length so it's clear there is a "max bar" and the current visibility is how much it's full?
21sters Unite!

I am proud to comment that after extensive implementation, the client is now fueled by a local backend that creates a local SQLITE file. For those non-tech-savy, this means that we've got a powerful local database with equally powerful query mechanics.

Using this system, which was no easy feat because the way these apps work is never easy, I have a very tidy way to query and change items in the database, that uses a push-notification-like system (which means that it's extremely reactive!) Sorry, that was more techy talk.

I am currently working on a way to take notes. The note-taking system has a goal of being as complex as you want it to be. On the surface, you have a list of topics that you can create, delete, edit or view. For those simple enough, this is where you can write notes about what ever or whomever you want. You can write the name of a character and their sdesc, to quickly search them and also write notes on them. This is working already, although I am still working on the frontend (I share some WIP screenshots on the discord from time to time).

However, if you are like me and you really want to take better notes, you will be able to add on top of these notes, and I am planning to have some systems for this if you want to get complex. The way I envision it right now, and this is bound to change, is that you can label topics as different things (tag them, so to speak). For example, you could tag a topic as a craftable, and create recipes that link to other topics (other items) to define what you need to use to craft that recipe. Ergo, when you visited the item / one of the ingredients, you'd be getting cool notes about the crafting relationship. This vision is bound to change -- but this is how I like to take notes. As I said, if you don't want to trouble yourself too much, you basically have a notepad-file system for note taking. Also, if you don't care, or want to use your own tools, you can totally do that.

What else are topics going to be used for? If we implement an automapper or a solution for mapping your surroundings, rooms would be in essence topics, with an additional tag and additional fields. This would allow you to take notes about the room you're in. If we get complex, which right now we're nowhere near there, in the future maybe you could start seeing notes when you walk into those rooms (the tech isn't there right now).

Short term, expect to see screenshots of the basic file-like system and maybe I venture into the tag-based system for recipes in the next weeks. I mainly develop what I ever I need, and right now I need to take notes in my playthrough of Armageddon. I reject to use external tools; I want my client to give me the solutions.

Quote from: creeper386 on October 07, 2022, 03:36:00 PM
Ooh. Maybe have something darker around the bar that goes the full length so it's clear there is a "max bar" and the current visibility is how much it's full?

This has been implemented. I'll upload screenshots soon! Thanks for the suggestion, it looks much better.

I said I'd upload a screenshot soon. I lied. I'm posting one now.

Here is an EXTREMELY WIP of how this is looking. The buttons for adding and editing will change (get prettified). The rest probably won't.

You got a button you click that leads you to a form, where you can type the name of a topic and text. For example, I wrote the name of a testing character, Testchar, and the sdesc. This allows me to then query the sdesc and see my notes on them (or see what name I got for them, because I forgot). I can edit it too.



THE GUI SUCKS RIGHT NOW. I am going to be prettifying it.

If you click close, it takes you back to the terminal.

While you are using the notes editor, you can't see what is going on in the screen. I don't got any ideas on how to solve that. I imagine some people might not want to use the notes system because of that? It's fine, it's super opt-in. It will fill similar to being in a GTA V MP game and pressing ESC to check up the map -- at least that's how it does for me.

I'm open to ideas too.

October 10, 2022, 03:23:47 PM #19 Last Edit: October 10, 2022, 03:26:11 PM by deskoft
Here's the topic text editor I got going so far.



Going to be testing it with my own notes for now and probably giving it improvements based on my own experience.

I'd recommend maybe the notes can be just docked on the side of the screen. On most modern monitors, even half screen I have a good amount of dead space on a mud client.
21sters Unite!

In MUSHClient, I've enjoyed hitting "Ctrl + Tab" to get to my generic notepad section, so its not always up and in my face.
Quote from: IAmJacksOpinion on May 20, 2013, 11:16:52 PM
Masks are the Armageddon equivalent of Ed Hardy shirts.

Yeah, in the case of this client, so far, the idea is to make this an optional thing. Some players will not even use the notepad, or use basic functionality. So for now it'll be a dialog. I might add an option down the road to have it docked to the right!

Today I tested the client on Linux and I am happy to say it worked pretty well. We're probably pretty close to a release of a testing build.

The release will be on Github, probably, and I might even make it open source. If you got a github account, all I ask is that you give the repo a star :)

If you use Ubuntu or Windows and you want to help me test, message me on discord. I am deskoft.

The version I will send you still lacks:

- Reconnecting.
- Better UI for character notes.

Once that is finished and I've tested with some people, I'll release it to the public for Windows & Linux, and then MacOS.