Activity

Snxhit_

Deleted the files that were on the repo since ~2023, added some basic stuff, and then tried designing a little bit. I’m not very good at designing stuff so it looks weird. Well, here’s what the website looks like right now. Byebye.
(The bar at the top has a blur filter on it but since I took the screenshot with Firefox’s screenshot tool the filter isn’t visible)

Attachment
1

Comments

prachitiwary08
prachitiwary08 about 3 hours ago

Cool picture :)

Snxhit_

Short devlog because yes. Getting start on the actual combat system like I mentioned before, currently researching combat systems. I have no idea how to calculate damage. Mainly because there’s no actual base attack or base defense system in place. I just added a base damage to all items. But I’m still a little confused about how to go about this. Welp, gonna get back to researching and refactoring, byebye!
What the hell is that?

Attachment
0
Snxhit_

Entities, just like items, are now derived from templates! The templates store name, stats, other data like maximum hp, et cetera. and the entities point to the templates, and store state data like current hp, location, et cetera. This wasn’t exactly hard, having been through this before, it didn’t take a lot of effort, it did take time though. The most troublesome part is fixing bugs in the database schema and logic. Added three new tables. Rooms are now also stored in the database. Entities now also have drop tables, but the logic for those is not yet implemented. Next up is implementing said logic and using the stats of entities in battle. Ciao!
Here is what my workspace looks like, because I don’t know what else to use.

Attachment
2

Comments

Snxhit_
Snxhit_ 1 day ago

Curse flavortown for compressing my screenshots.

prachitiwary08
prachitiwary08 about 3 hours ago

Curse flavortown for compressing Snxhit’s screenshots.

Snxhit_

Heya beeches! I’m back after getting side tracked for an entire day, by the shiny world of self hosting… Well, regardless, I’m back now, and I just tidied the code more, fixed MORE edge cases, moved rooms to the database, and items now stack as well! Productivity 100. It’s only been an hour though. I keep being unable to find time to add colors… Well, its okay. For now, I’ll go with giving mobs stats so not every fight is the same. With that though, the revamp of the fighting system would have to follow, because right now, only the player’s stats are taken into consideration. So yeah, I have a LOT of work to do. I’ve been thinking about making some kind of a tool to customize the game for everyone. Perhaps a website that directly modifies the database to add whatever custom shit you want? We’ll see. For now, I need to go bang my head against the wall while refactoring 50% of the logic.

Attachment
0
Snxhit_

Tidied up the code a little, still working on it, working on the formatting, handling edge cases, all of the stuff I neglected before I’m working on right now. It’s coming together nicely, I’m also gonna start adding color.

Attachment
0
Snxhit_

Someone should’ve told me sooner that all I had to do was put all the files in the same package to make Go recognize them as one… Clever and convenient, I love Go. No imports required is very nice. Well regardless, this short devlog is just to show you guys the image attached.
My exam papers look twice as red.

Attachment
1

Comments

Snxhit_
Snxhit_ 3 days ago

The photo I uploaded was NOT this low quality.

Snxhit_

Merchants, done! Added buy <id> <merchantname> and sell <id> <merchantname> commands! Next up, it’s time to restructure stuff, polish the game, add color maybe? I don’t know if I should focus on aesthetics first or fix the code management. Don’t get me wrong, there’s still a lot to be done. The game itself is FAR from done. I just feel like this would be a good change of pace. I have some thinking to do, goodbye!

Attachment
0
Snxhit_

Hello! Finally managed to get merchants working. Unbeknownst to the past me when I wrote the last devlog, there were quite a few problems with the merchants logic. But its okay because well, I fixed them all! Added a list <merchantname> command that lists the stock and details of the merchant (Still working on the buy and sell commands). Below is a peak. A rather short devlog because I’m in a hurry. Ciao!! Oh and, v0.0.6 soon!

Attachment
0
Snxhit_

Okay. Done. Refactored the entire item behavior. All items now inherit their data from templates, and they themselves only store their location. This was weird. A lot of statements are abnormally long, just to simply fetch the name of an item. The spaghetti is getting worse. I swear I’ll make it prettier before shipping, though. Again, like always, there’s still bugs remaining, I’m going after them right now. Ooh, and, merchants are (almost) implemented. Below is a sneak peak! Cya :D

Attachment
0
Snxhit_

I was trying to implement shops (merchants), and while doing so, I realized I should probably refactor the entirety of item behavior (I’m in pain.)… This is something I’ve been wanting to do for a while: Item templates. Basically, before, every item was unique, every item could have its own stats (although that can still be achieved, just with a little more pain), name, et cetera. But now, each item is created from a predefined preset. This allows the process of adding new items and spawning items in general to be easier. In the future I’ll add customisability to the template itself while making a new item so that unique items or items with varying stats can be created as well. This just felt like a wise design choice… Though, having to refactor half the database schema and the entirety of the codebase is… Not… Healthy… Please help. I’m gonna return to hell. Talk to you guys after I’m out of it.
I don’t even know where to begin. Send help.

Attachment
0
Snxhit_

Added a stats system! Players have stats now and they directly effect the course of battles. Equippable items now provide boosts to stats as well. The system itself is pretty robust so its easy to add new items, and make them provide any kind of buff. We’re almost at 900 lines of code, I’m tired of squinting. I like the pain. Uhhh, this update added a new database table too, there’s still a few bugs I’m working on fixing. I don’t know what else to say, so byebye!

Attachment
Attachment
0
Snxhit_

Hola. Added types to items, to make them equippable, consumable, et cetera. Items can now be equipped, consumables, and other types coming soon! In other news, I added coins which you can get from killing mobs, and also killing and looting other players (assuming the player in question has coins). With equippable items and coins added, shops/merchants aren’t far away. Every player now also has maxHp, which is pretty basic functionality. As more and more of the core systems are cemented down, I’ll start to add the more basic and concrete stuff. I don’t know why I wrote that in building terms but you get the idea. Three new commands: equip <item>, unequip <slot>, equipped, where the first two are obvious, and equipped allows you to view a list of all slots, with their equipped items. This marks TWENTY hours working on this project, in a span of just FOUR days! Though, now that I think about it, an average of five hours per day is not all that. Welp, back to tinkering I go. Ciao peeps!

Attachment
Attachment
0
Snxhit_

Fixed the bug shortly after posting the last devlog. Got lucky and spotted the problem! Well anyways, after that, I worked on improving the formatting of logs of combat. Looks more organized now. Also pushed v0.0.5, it’s a pretty huge update. Fixing the bug was exhausting, was stuck for half a day. Well, this was a rather uneventful hour and a half, byebye!

Attachment
0
Snxhit_

Bug. Big bug. Since the last devlog, there’s a situation where when PvP combat is initiated, only the player that initiated deals damage. Which is, obviously… Not how PvP works… And, I can’t figure out how to fix it. Going insane. I’m gonna beat my coffee mug. Domestic violence? Uhhh, I’m gonna do my best and well, f*ck around and find out, till I fix it. Ciao.

Attachment
0
Snxhit_

Entity combat system implemented! You can now fight mobs around rooms! With every new feature, the scope feels like its getting bigger and bigger. Well, I’m not complaining. Anyway, I’m also done with a PKing system. Yes, you can fight other players! Isn’t that cool. There’s still bugs in the PKing, the server keeps crashing, but I’m on it. Welp, anyways, the combat is resolved every world tick (around 5 seconds for now). Still dreading splitting the code into modules for more readability… I’m… Lazy. This was a rather short update, because I didn’t exactly do much… Ciao?
As you can see the formatting is a bit messed up, but it’ll be better soon, trust.

Attachment
0
Snxhit_

Currently working on a tick based combat system. I got just a tiny bit sidetracked and ended up implementing multiplayer stuff. There’s a command called look that allows you to look around in the room you’re in. It allows you to see the exits, entities, items on the ground. And if there’s another player in the same room, you can see them too. If they leave, you’re notified because you perceive them leaving, similarly, if someone comes into the room that you’re in, you’re notified. Added entities into database storage to save all the mobs. Picking up and dropping items now works properly as well. The codebase hit 500 lines! Not a lot but that’s not just 500 lines of code, it’s 500 lines of spaghetti code. Now that takes talent.
I also found a cool TUI based sqlite database viewer called squall-sql. Welp, until next time. Cya!
Sorry for the uncensored 2021 brainrot on the third slide.

Attachment
Attachment
Attachment
0
Snxhit_

The tick system is implemented. Had to learn about mutexes because like I mentioned in the previous devlog, one data structure kept being accessed by multiple things at the same time, causing races. Mutexes prevent exactly that. Now, I’m restructuring the data a little better. Previously, the items were owned by rooms, even if the player was supposed to have them. The items were part of a room, and the player could only see them in the inventory if it was in the room. Which is weird. Obviously not how inventory works. Now the world owns the items, and the rooms, players only share the item IDs. I’m a little worried about the optimization, but eh, I’m sure it’ll be better than Cyberpunk 2077 on launch day… Right? Well, I’m gonna get back to squinting. Ciao.
I’m gonna require more powerful glasses after this because my workspace looks like this currently. This is painful.

Attachment
0
Snxhit_

Currently fighting concurrency. The “server side tick” system is causing a sh1t ton of race conditions. Two things updating at once, and its weird. Looking into it, and I’m tired. The codebase is expanding, considering splitting it into files for better management. Time for another coffee. Cooking is fun. Be whimsy. Ciao.
P.S.: I promise I’ll write a proper devlog when I ship, if I don’t, sue me. On second thought, maybe not. Please don’t sue me.

Attachment
0
Snxhit_

Since the core systems are done, we’re progressing pretty fast. Just added movement, a location system for players, items AND entities! The player can move around and explore. The player can also pick up items that are in the same room as the player, they are then attached to the player.
This is an example with only two rooms, short descriptions, and random names. Rooms, items, entities, etc will be highly customizable, but for now, I need a proper working prototype.
PS: Colors will come after I have a base game, I just got distracted and added color to the room names
Next up, combat, server based tick system, and whatnot. Stay tuned, ciao!

Attachment
0
Snxhit_

v0.0.3 IS HERE!
I conquered SQL. That was fun, looking forward to more. Even if just a little, I learnt how to use SQL, which is a win to me. Also added actual authentication, with the database. Next, its time to move on to actually implementing the game, the world system, movement, interaction with the world, et cetera. Cya!
Special mention: My coffee cup.

Attachment
Attachment
Attachment
0
Snxhit_

Second devlog, for the past hour, I fixed a few bugs here and there, and then have been fighting SQL since then. Hear me out, I’ve never used MySQL, why? I don’t f*cking know. I always knew jumping straight to Supabase and Firebase would come back to bite me in the ass one day. Well here it is.
Okay jokes aside, I’m not actually struggling, that was an exaggeration. I have been learning SQL and learning how to use it with Go. Sweet ol’ state persistence, amiright? I’ve made progress. Perhaps, V0.0.3 soon! Cya peeps!
Again, another random image because I have no idea what to use.

Attachment
0
Snxhit_

First devlog on this project, I worked on the login and registering system, which is still absolutely very crude. There’s no authentication, but that’s coming up. The system feels decent, it can handle any amount of players at the same time. I spent most of this time looking into edge cases (found & fixed a funny bug: user interrupts their game and the ENTIRE server crashes). Next on the chopping block is probably a database. Ciao.
Have the photo of the bug because I don’t know what else to put there.

Attachment
1

Comments

Snxhit_
Snxhit_ 3 days ago

Yappity yap yap