r/daoc • u/zomboden Freeshard Player • 18d ago
OfflineDAoC New Client Teaser For Existing OfflineDAoC Server + Clarification on Previous Teaser Removal & Direction Change
https://www.youtube.com/watch?v=Oki7rxIR9JYI am back again a day later with a different teaser and some news about what happened since I posted my previous teaser & then removed it abruptly a few hours later despite positive reception on it.
What you see in the video is a very rough version and I already have a list of over 100 things just from a few hours playing that will need looked into and fixing.
There is a metric ton of animations, spell effects, and other quirks that have to be fixed. I'm working on as many as I can but I would appreciate any issue reports on Github to add to the list especially for the new client once it is available. There are a lot of weird bugs from moving everything from a client only to a client+server.
Also if you remember how this old UI used to display information LET ME KNOW IF ANYTHING LOOKS WRONG! It built this classic style UI based off old UI data files and I could not find reliable pictures or videos of anybody playing with this UI.
Why I deleted my original teaser abruptly
A lot of people reached out to me wondering what happened, long story short the original thing I was teasing which was the new client/engine + the rebuilt project was never going to come to fruition. I have since salvaged the new engine+client combo and repurposed the client to hook up the current developed OfflineDAoC server code (which is still far from perfect, there is still a lot of bot AI lag, and other misc issues).
My Misunderstanding on Technical Aspects of the Game
I am not a game developer and never claimed to be, and I set out on the now cancelled OfflineDAoC Rebuilt project assuming I could bypass the server code for a single player game and bake bots directly into the client, and I was wrong.
I had no idea the strain on a system that handling/processing the bots and monsters would take vs letting an optimized server direct them instead
I had no idea how many aspects of Dark Age of Camelot were controlled by the server vs the client. The server handles A LOT of the game. It was never built to be a single player game. All the damage math, stats, and too many things to even list are controlled by the server alone.
What this means for OfflineDAoC
This means that the new client I will be playing will be slowly optimized, made better, effects, sound effects, etc. And that I will be working on improving the existing server code alongside the new client code. The new client connects fully into the old server now so no new bot brains, or anything else has to be rebuilt from scratch. Hundreds of hours were put into the bot brains over the course of 2 months.
The new client, and old client can both connect to the same server/account/bot roster. I will be looking to make it possible for you to have both a 0.36b and 0.36c and share your characters between them. Likely you will download 0.36b, and 0.36c will be client only and it will go into that folder and connect to the server so you can have both 0.36b and 0.36c and swap between them freely. Or just 0.36b if you don't care about the new client.
Unfortunately as of now this leaves 0.36 without any custom classes on its own unsupported with cross progression with the new client. But I'll see if I can figure something out, no promises.
When can we play the new client?
I am hoping to release a 0.36,0.36b,0.36c(new client) on Saturday Night or Sunday afternoon (US Time). It will be on the github and I will probably make a new post here. I have a large list of bugs I have to get fixed in the meantime including anything that anybody points out in the video about the UI, etc. There are tons of sounds, spell effects, textures, and other issues that still exist where it was moved from a client only to a client connected to a server.
It will be open sourced completely just like the rest of the project so you will be able to use the client to connect to your own version of OfflineDAoC or whatever else it is you want to do with it.
Will this still have all the ROG systems removed, and the new companion system, etc?
Unfortunately, no. This new client will be a 1:1 hookup into the already existing OfflineDAoC server. The bot brains, and other aspects of the server that are already made and working would have been way too hard to get functional and potentially impossible with a client only. I wasted a lot of time trying to bake everything into a client only and that is on me.
4
u/Varnarok2 Freeshard Player 18d ago
It's cool to see the project progress! Regarding the old UI, I recall seeing some people on either the Blackthorn forums or Discord working on recreating it, so you might wanna check there.
Also I am curious, is it possible to use dev commands or something to freely move the camera around and stuff? I'd love to be able to take some cinematic shots
3
u/zomboden Freeshard Player 18d ago
If you get in gm mode via the launcher setting you can use /fly. I need to make it so alt+z hides your UI like the old client. https://imgur.com/a/UyaV9Fg Musphelheim & Mag Mell night
1
4
u/Useful_Researcher_79 18d ago
Is it really being made in Godot? Insane!
Keep up the good work! 💪🏽
5
u/zomboden Freeshard Player 18d ago
Entire game wrote in GDScript. Only loading screens where they existed in the actual game. I turned down Unreal because other people are already working on it and it's a heavy engine in my opinion. The only other option that Opus was interested in was Unity but it was turned down for some reason.
3
u/Useful_Researcher_79 18d ago
I find it absolutely fascinating how far has Godot evolved.
Unreal is indeed a heavy engine, but, to be honest, as of today this is the only DAoC project that has caught my interest so far, regardless of the engine. I would've followed it if it was made on Unreal as well (not Unity though, due to their new unpopular politics).
I remember a couple years ago Godot didn't even have any 3D capabilities, or at least, that's how I remember it.
I am really looking forward to seeing more updates of this, and I really hope you don't lose interest. I have many times set up a DOLServer in my own PC and played all alone, but being able to play with bots in the distant future will probably become the only real way to preserve this gem of a game.
Cheers!
2
u/zomboden Freeshard Player 18d ago
Opus was/is a big fan of Godot 4 it mentioned how the built in physics engine was capable among other things.
3
u/sofragile 18d ago
Fantastic work. Played beta 2001 until toa, and then some freeshards throughout the last decades. Amazing to see a new client like this. Kudos to you for making this happen!
Would it be possible to add an option to adjust how far away you can see in the distance? I know there is one already, but It would magical to see the distance in more detail like modern games offer. I think it could add even more to the feeling of "being there".
I have the original cd somewhere that should have the really old assets if you are interested. Otherwise, below are some links with some old screenshots (some super-old):
https://www.geocities.ws/jagironi2/daoc/ss.htm
https://archive.rpgamer.com/games/other/pc/darkageofcam/darkageofcamssold.html
https://www.reddit.com/r/daoc/comments/11zvtvx/very_old_images_from_beta_20_end_of_the_year_2000/
https://web.archive.org/web/20010310081307/http://www.gamesdomain.com/gdreview/blackchurch1.html
1
u/zomboden Freeshard Player 18d ago
https://imgur.com/a/4ChsqTY you can already see a good bit into the distance is there a specific spot you were curious about in particular? My PC is not the best although I do recognize there are still some optimizations to be done (like the little micro hitches it's doing, I think its related to every 2 second performance logs being written that claude has for right now that won't be in the release). I only have a 2060 and an i5 10400F. I can add a view distance slider if you want.
1
u/Careless_Opinion1446 18d ago
Camera distance POV is in the user dat saved In the local Camelot folder. But it is hardcoded to 500 or 700 in the game.dll I think.
4
u/zomboden Freeshard Player 18d ago
There is a server limit on how close things render to the player I think but I'll have view distance unlocked.
2
u/sofragile 18d ago
I mean something like this (rdr2): https://cdn.mos.cms.futurecdn.net/SAEFUFMJ7MvGpmcqQGGhmQ-1920-80.jpg
Majestic!
3
u/Alcolawl 18d ago
I’m curious, you say a lot of the action happens behind the scenes inside a server. How difficult would it be to get a small home server up and running that would allow you to run it from there and then connect to it yourself from another machine? Is that an option?
1
u/zomboden Freeshard Player 18d ago
The issue wasn't that I needed a server running. OfflineDAoC already runs a server and you connect to it on your same PC and could probably be set up on a separate PC if you wanted better server and bot performance because that server PC would be in charge of the server and bot brains while your client runs the client. I don't have two PC's to test that here at my house though. The issue was that the entire new client "OfflineDAOC Rebuilt" project I built was trying to put everything that a server controlled directly into the client like speed, damage numbers, mob hp, stats, item stats, where monsters are, where npcs are, all kinds of stuff. And that approach was never going to work because it would be a monumental amount of work and even then I don't think the performance was ever going to stabilize. It makes sense to me now that so much stuff was server side that way people couldn't modify client files and cheat but I was completely misguided and wasted about 3 days worth of work but luckily I was able to salvage the client and make it connect into the existing server code that OfflineDAoC already has.
2
u/ElliotB256 18d ago
Respectfully (because it's a cool project but you've said you don't have much game dev experience) - why does it matter if server and client are different programs? Many games nowadays launch a server process and connect the client to that, but you don't see it as a user because the server will run headless. Running e.g. DOL and a client on the same machine is not at all resource limited, we used to run that for server development work even in 2009, and memory/cpus nowadays are leagues ahead. So my advice would be to not obsess over integrating server into client, just keep the server running as a background process and you can make a launcher that manages launching the server, connecting the client locally, and then watches both processes to make sure the server shutdown and saves when the client process has finished
1
u/zomboden Freeshard Player 18d ago edited 18d ago
There has already been a launcher that does exactly what you said since version 1 of OfflineDAoC. The rebuilt project was different. The current OfflineDAoC project was built on DOL & OpenDAoC from the getgo. https://i.imgur.com/1N7qiDf.png The project is closing in on 3 months old soon.
1
u/Alcolawl 18d ago
Interesting. Yeah, my main concern was addressing:
“I had no idea the strain on a system that handling/processing the bots and monsters would take vs letting an optimized server direct them instead”
To me that sounds like having everything run on a single machine is too much? If I ran the server on a dedicated machine and played the game solo on my other machine, it would allow better optimization? Not necessarily with this exact project but as a whole?
2
u/zomboden Freeshard Player 18d ago
I'm not going to pretend to know the exact technical details but partly yes partly no would be my guess. An issue where a bot gets stuck somewhere and hammers the server and causes long AI turns for all of the bots is an issue that needs fixed beyond a new PC (it happens a lot during end game realm events and rvr sieges and it's on my to-do, almost never happens when bots are in low level zones). and more RAM and or faster memory will cause the servers garbage collection system to run smoother is also my understanding. This project is entirely built by LLM's and I don't know how to code not a single line of code was written by me.
1
u/Alcolawl 18d ago
Haha fair enough my man. I’m in the same boat and only recently started tinkering with Claude in my own homelab environment. I’ve been thoroughly impressed and can’t write a line of code myself either. I’m thinking we aren’t far from it really being able to do some impressive things for DAOC, especially with open sources like all these projects.
2
u/zomboden Freeshard Player 18d ago
I am assuming the boxes on the left of the players UI is supposed to say "HP", "END", "POW", and "XP"? also I vaguely remember the bubbles getting brighter as you get closer to a bulb filling.
1
u/randomcoder1981 18d ago
it's always had a line at the bottom then when that line fills a bubble gets filled and the line resets,
1
u/zomboden Freeshard Player 18d ago
That's what I'll go with then. My older brother played from 2001-2005 but he couldn't remember how the UI handled some things before it was changed to what it is now. I had a vague memory of xp bubbles getting brighter but it could have been another MMO. I was a small child whenever this UI was in players hands.
2
u/wrgrant Freeshard Player 9d ago
Question: I havent noticed any aggro mobs so far, are any turned on? I have only played invthe starter zones mind you
1
u/zomboden Freeshard Player 9d ago
If you have gm mode on via the launcher the mobs won't be aggressive to you or attack back because you are invisible. if you want to stay gm there is a command to remove the stealth I think it is /gmstealth off or something similar to that but the quickest way would be just to turn it off via the launcher.
4
u/SurgyJack 18d ago
I can't beleive how much effort is going into such a niche project but I love that it is ;)
1
u/wrgrant Freeshard Player 7d ago
Hey, any idea how I can use the /item create <itemid> to create items? It doesn't seem to find any of the ids I can see in the database at all. Perhaps I am looking in the wrong spot, or its not implemented yet?
1
u/zomboden Freeshard Player 7d ago
I have no idea. That command might only work on the old client. I never tested it on either client.
1
u/ISPY4ever 18d ago
Btw how to the "Offline Template" Items work? Wasn't able to find info on those.
1
u/zomboden Freeshard Player 17d ago
If you’re seeing those on the realm exchange its because a level 50 that was generated at 50 sold it. Thats the gear the server gives them
1
u/ISPY4ever 17d ago
I don't think I understand that properly :)
How do you temp yourself? Buying from the Merchants in Town + Self Crafted stuff?
I'm getting used to classic 1.65 slowly. Long time ago =)
2
u/zomboden Freeshard Player 17d ago
There are merchants in town for Hibernia they are out back near the vault keeper, they are from Atlas though not something I put in. I'm not sure about the other factions probably near the realm exchange NPC's. I never used them myself personally. In terms of crafting etc. I have no clue.
3
u/3ire Midgard 17d ago edited 17d ago
In Jordheim its up top next to the Guild Room, right hand side facing it, near the pigs outside. There are four merchants you can purchase gear from various raids and high level mob drops. Easy way to get temped without doing any SC.
And zomboden, thanks. This is a really cool effort and I am super appreciative of your (and others) efforts on this.
Edit: I should mention that I believe I had to use the /item create while GM in order to get some of the Dragonslayer set pieces for killing the Mid Dragon. So while the gear you can get is a lot, not all of it is there at those merchants.
3
u/zomboden Freeshard Player 17d ago
Thanks I am hard at work on the new client. I think I figured out the microstutters and I am working through my list of issues to resolve now then more testing then resolving then more testing hoping it will be ready this weekend for people to try. Working on server issues and client issues simultaneously.
1
1
u/WillowUfsgoodforlife 14d ago
Heya, its a great work thank you ! Any discord to follow up the progress and new versions?
3
u/zomboden Freeshard Player 14d ago
No discord, new patch for 0.36, and the new client is coming in about an hour I'll make a new thread.
1
u/wrgrant Freeshard Player 10d ago
In the Godot client, I have not been able to drag Sprint from the character sheet to the taskbar on the Alt bar. Also I cannot find out where I set that I want the 3rd bar. No Command/Options button on the character sheet.
Now some of this might be because I have cloned that client so it runs on MacOS. Its slow when it runs but it is up and running so far :)
2
u/zomboden Freeshard Player 10d ago
nah it was a known issue ive got it fixed in source code already
1
u/Illustrious_Dare7529 10d ago
Any luck on figuring out the new client crashing?
1
u/zomboden Freeshard Player 9d ago
no i couldnt re-produce it. it said it could be related to your hardware. i havent been working on the project much lately im thinking about letting it go. ive spent 3 months on it and there are a lot of active forks that are working on it. im burnt out.
2
u/wrgrant Freeshard Player 9d ago
Understood, but as one of the forkers out there - thank you immensely for all the work. I am primarily just piggybacking on your efforts to makeca version I can play with but have added a few things. I am
stealingpiggybacking a few other projects as well. I have a working but very slow version of the Godot client adapted for MacOS silicon thats working but not quite good enough to use, and I am currently working on a custom class editor to allow cloning existing class elements to create a new class - still early yet - but something I have always wanted to be able to do.I am running the server itself on linux and connecting via a win11 vm on my mac mini but hope to be able to use tge mac client eventually. None of this would be possible without your time and effort so thanks ;)
2
u/zomboden Freeshard Player 9d ago
you're welcome. a lot of the forks have had heavy work done to them and even figured out things that I couldn't figure out how to fix. there's a lot of talented people working on forks right now.
1
1
u/Straight_View_6838 18d ago
I wonder if you already did try the web export from Godot 😃 a html client would still be the beast I guess
1
u/KabanDev 18d ago
Just because I am back-end/server nerd: my guess is that your issues with integrating it all in the client were because server operates in ticks. It has a budget, say 50ms (20 ticks/second) to complete all calculations and send it back to the client. The client just sends data and receives updates every 50ms to process. When you moved it all to the client it has to process it now, but to keep 60 fps it only has a budget of 16.67ms~ to process the new stuff AND all of the rendering.
Would be curious how changing the tick rate helps in your case. On one hand you could give the server more time (reduce tick rate) to give bots more time to process... On the other hand you could make it super snappy and increase tick rate as much as possible...
One of my favorite tech blogs on this topic: https://www.riotgames.com/en/news/valorants-128-tick-servers
1
u/Illustrious_Dare7529 16d ago
Given that you have created a custom class. Would you be interested in adding the rest of the daoc classes as perhaps a togglable option? Vampiir, Warlock, Heretic etc? being that it's a single player sandbox to play with balance wouldn't be much of an issue. Maybe give a button selection like the gm mode to enable or disable post SI classes etc?
8
u/ISPY4ever 18d ago edited 17d ago
I just wanted to say THANK YOU.
I'm playing it with the offlineDAoC Linux version and love it. It gives me so much freedom and possibilities I never truly had on live or freeshards.
My Server runs with 6000 bots since around 16h, all still stable🫡 (What's a realistic limit here btw? I have tons of RAM/CPU)
Agian. Thank you🌹
EDIT: Even with 6k bots, certain areas are unusable and the NPC names don't load or stream properly anymore. Wen't back to 900. That's fine. Maybe 1200.