Activity

Joelbu

I have started working on a plugin system.
This took me a lot of time however, since I previously had no idea on how to work with DLLs, and what I need to do to make a functional plugin system. In addition: It’s not really working yet, the plugins can’t access most of the game, so there is not much a plugin can do.

I also made some optimizations etc. to the code.

Attachment
0
Joelbu
  • Fixed the help page being displayed without fitting the console window, which would result in scrolling being enabled making Console.Clear() useless, making everything look bad. This unwanted behaviour can still be triggered in other ways, but at least this one is fixed.

  • Bugs/Thrown Exceptions now get properly caught and reported to the user, featuring an automatic bug report feature, where you can automatically send a bug report containing error type, message and stack trace to me.

  • Changed some colors in the inventory. (Colors are optimized for windows, might look bad on other OS)

Attachment
0
Joelbu

Today’s Coding Session is over:

Doing things in the inventory now displays a message telling the Player what happened (See screenshot). So if you use a healing item, you are told that your character got healed by xx HP.

Killing enemies gives you some money now.

Some minor improvements to the code were also made.

Attachment
0
Joelbu

Again, a huge devlog. I had a huge accident with Git/GitHub. Long story short: Merge conflict, git pull –rebase didn’t work, some deleted files came back to life. Had to manually clean it all up.

New Features:

You can now attack, kill, and (try to) talk to hostile NPCs (before they beat you to death).
I also rewrote some old code and made use of events, which allow me to do more flexible stuff when the Player enters a room for the first time or kills special enemies.

Oh and like 4 hours of the logged time belong to a devlog I made a week ago, since WakaTime apparrently tracks Time per machine, and I wrote my code on a different one last week… anyways, I got my time logged, so that’s taken care of :)

Attachment
0
Joelbu

I implemented the trading and selling of items with NPCs.
Also, small code cleanup.

Attachment
0
Joelbu

I spent some time improving the Readme.md, and tried to make some badges so the page looks like a “serious, professional” project :P. I still have not understood how badges work, but they are being displayed and look nice, so that’s good enough for me.

Also, I created an organization and moved the project over to it, and I set up a self hosted runner on my very own Ubuntu server, so now I can run as many GitHub Actions as I want =)

Attachment
0
Joelbu

A lot of things have changed. As you can see. 14 Hours. Wow
For some reason, Flavortown just stopped logging my time to the original repo, so now I have two different Hackatime-projects that are the same thing, and it took me a long time to figure that out. And after that, the “Create Devlog” Button did not work. Thats why this is one single 14-Hour Devlog. The game itself has not changed that much for 14 hours, so I am just going to list a few things:

  • New Item type that increases you Max HP
  • New Items
  • Huge Code cleanup, including dealing with possible Null-References that would never occur but the compiler would still warn me of them which really annoyed me since looking at like 200 warnings seems really weird.
  • A new way to deal with ANSI Escape Sequences in strings, which previously made the Length of a string useless, since it did not represent the length in visible chars anymore, but I built an extension method to simply filter them out.
  • A class that does stuff to help me create “Windows” in the console (You know, the ║╚ Border things)
  • Much more that I can’t think of right now.

Thats it for now.

Attachment
0
Joelbu

More improvements. I added a debug command “kys” to test damaging the player. I have also added more functionality to the inventory, though its still shit.
TLDR:
Lots of small improvements.

Attachment
0
Joelbu

I started implementing a inventory system where you can go through your inventory item by item, inspecting, dropping or using them. However, as of right now, it does NOT work yet and I have to call it a day. Heres a screenshot of some random “gameplay” (You can’t really call it that at this stage of development).

Attachment
0
Joelbu

Moving from area to area / room to room is now possible!
I have also decided to rebuild the RoomDefinitions Class, since I ran into NullReferenceExceptions.
I also added another room, and a lot of small things.
I think that most of these devlogs will feature game mechanic updats, and that the story is going to be built in parallel.

Attachment
0
Joelbu

It is now possible to pick up Items from Rooms.
Had to change some things, the biggest issue was that item names contained ANSI escape sequences to make their names appear in color, but I found a simple workaround.

Attachment
0
Joelbu

So far, I have run into several issues with Java. It does not let me do the things C# can do, for example:
I can’t intercept Key Inputs in the native console, and Scanner.next() and nextLine() are not doing what I want to do. That’s why I am going to continue development in C#.

Attachment
0
Joelbu

I wanted to make the diary password protected, so the first thing I did after fiddeling arround with avalonia was creating a login dialog.
Most of the time logged in this devlog was spent finding out how Avalonia works. Tunrs out it’s a lot like MAUI.

Attachment
0
Joelbu

I tried implementing dark mode.
I was hoping that if I applied the dark colors to the parent (Form), all of the children (Controls) would inherit them. But they don’t.
So for now, its a messy, hard to expand if-statement that manually changes the colors of all individual elements.

Attachment
0
Joelbu

The Video Viewer now has a proper pause button that displays the corresponding icon depending on the players state.
I also fixed a null assignment error in the password verification process and added a checkbox in the settings to toggle dark mode, which I am going to work on in the future.

Attachment
0