After open-sourcing the world server and core library, I thought it would be fitting to make this into a project thread as well where updates and development can be better tracked than prioritizing the advertisement thread.
Darkan's goal is to be a base that people can use to extend on that actually has a goal to complete the base Runescape game content rather than solely focusing on producing just another useless, empty framework with basic walking/combat that nobody is interested in using. We want to continuously refactor and build upon a long-standing project rather than repetitively re-invent the wheel to no avail. That being said, the design of the project is also meant to encourage contribution to the project rather than copy-pasting and hosting it. This means that the authentication service as well as lobby/social are closed source yet public-facing API pass-throughs to be able to spin up a world of your own with almost zero client effort at all. This means being actively involved in the community as either a player or developer.
We are interested in educating each other in programming and/or Runescape's game engine in general and have already helped several developers improve significantly in their skillsets.
I hope any aspiring and/or skilled developers will hop aboard and help with refactoring the client, improving the game engine itself, or just simply contributing to missing animations, spawns, drop tables, or sound effects. All levels are highly appreciated.
Trent (Makar)
- Huge amounts of client refactoring. Mainly engine related things and most of the work on the base itself. Manages and pays out-of-pocket for hosting, manages any deployment/ops related work too. Cody (Cody_)
- Client refacotring, cache tools work, Fishing Trawler and several other content-related releases. Devin (Durbin)
- Resident Runecrafting enthusiast, contributed to runespan, ZMI altar rates, tiara runecrafting, combination runecrafting, and other misc content-related releases and bug fixes. Jesse (Jawarrior)
- Significant content contributor in almost all quests and bug-fixes especially. Also has done a ton of missing spawns/animations, a huge overhaul to the music system including genres that play by-area once the region-mapped track is finished. Cloud (Old RuneMate operator, unknown Rune-Server alias)
- Significant QoL client refactor help such as restoring a lot of generics, removal of dummy stuff, restoring back @Override tags, etc.
Content Progress
Spoiler for Content Progress:
Game Engine
Spoiler for Game Engine:
-Separated JS5/Social/Lobby/World Servers
-Event-based plugin content development
-Tree-based dialogue system
-Entity-based action & interaction
-Plugin-based quest system
-Severe varbit object/npc/interface anti-cheat and option-click validation
-Routefinding and clipping checks using intended flags
-Tile-based event system built into routefinder (Ex: region guards, automatic gate bypasses, and ground traps)
-Projectile clipped, varied-distance interactions system (Ex: bankers behind booths)
-Extremely simple-to-use cutscene system
-Item metadata for degredation, charges, ancient effigies, etc
Lobby
Spoiler for Lobby:
-World select auto populating based on connected worlds
-Updating player count in world select
-Updating social settings
Social
Spoiler for Social:
-Private chat communication cross-world/lobby
-Friends chat communication cross-world/lobby
-Clan chat communication cross-world/lobby
-Friends chat setup/rankings
-Lootshare
-Clan setup
-Clan invitations
-Clan rankings
General Combat
Spoiler for General Combat:
-Highly accurate combat formula
-Extensions for formula modifications (silverlight accuracy, elemental spell weakness, etc)
-Hit calculation on animation rather than hit application
-Melee/ranged following
-Entity abstracted combat stats/bonuses for stat draining special attacks/effects
-Pickpocketing (all)
-Chest lockpicking
-Wilderness axe hut
-Stall thieving
-Blackjacking
Slayer
Spoiler for Slayer:
-All masters
-Accurate task weighting system
-Slayer point unlocks
-All tasks properly assigned by each master
-Task streaks and point boosts
-Boss reaper assignments from Death
-Kuradal's dungeon
Farming
Spoiler for Farming:
-Allotments
-Flowers
-Herbs
-Trees/Fruit trees
-Mushrooms
-Herblore habitat
Runecrafting
Spoiler for Runecrafting:
-All altars and runes
-Abyss runecrafting
-Wicked hood
-Runespan (identical to RS but disabled until I can think more about the positives it provides to the game rather than the negatives)
All Fired Up
Animal Magnetism
Another Slice of H.A.M.
As a First Resort
Back to my Roots
Between a Rock...
Big Chompy Bird Hunting
Biohazard
Black Knights' Fortress
Cabin Fever
Catapult Construction
Clock Tower
Cold War
Contact!
Cook's Assistant
Creature of Fenkenstrain
Darkness of Hallowvale
Dealing with Scabaras
Death Plateau
Death to the Dorgeshuun
Defender of Varrock
Demon Slayer
Desert Treasure
Devious Minds
Dig Site
Doric's Quest
Dragon Slayer
Dream Mentor
Druidic Ritual
Dwarf Cannon
Eadgar's Ruse
Eagles' Peak
Elemental Workshop I
Elemental Workshop II
Enakhra's Lament
Enlightened Journey
Ernest the Chicken
Eyes of Glouphrie
Fairy Tale I - Growing Pains
Fairy Tale II - Cure a Queen
Family Crest
Feud, The
Fight Arena
Fishing Contest
Forgettable Tale of a Drunken Dwarf
Fremennik Isles
Fremennik Trials
Garden of Tranquillity
Gertrude's Cat
Ghosts Ahoy
Giant Dwarf, The
Goblin Diplomacy
Golem, The
Grand Tree, The
Great Brain Robbery, The
Grim Tales
Hand in the Sand
Haunted Mine
Hazeel Cult
Heroes' Quest
Holy Grail
Horror from the Deep
Icthlarin's Little Helper
Imp Catcher
In Aid of the Myreque
In Pyre Need
In Search of the Myreque
Jungle Potion
Kennith's Concerns
King's Ransom
Knight's Sword, The
Land of the Goblins
Legacy of Seergaze
Legends' Quest
Lost City
Lost Tribe
Lunar Diplomacy
Making History
Meeting History
Merlin's Crystal
Monk's Friend
Monkey Madness
Mountain Daughter
Mourning's Ends I
Mourning's Ends II - Temple of Light
Murder Mystery
My Arm's Big Adventure
Myths of the White Lands
Nature Spirit, The
Observatory Quest
Olaf's Quest
One Small Favour
Path of Glouphrie, The
Perils of Ice Mountain
Pirate's Treasure
Plague City
Priest in Peril
Prince Ali Rescue
Rag and Bone Man
Rat Catchers
Recipe for Disaster
Recruitment Drive
Regicide
Restless Ghost, The
Rocking Out
Roving Elves
Royal Trouble
Rum Deal
Rune Mysteries
Scorpion Catcher
Sea Slug
Shades of Mort'ton
Shadow of the Storm
Sheep Herder
Shield of Arrav
Shilo Village
Slug Menace
Smoking Kills
Soul's Bane, A
Spirit of Summer
Spirits of the Elid
Summer's End
Swan Song
Swept Away
Tai Bwo Wannai Trio
Tail of Two Cats, A
Tears of Guthix
Temple of Ikov
Throne of Miscellania
TokTz-Ket-Dill
Tourist Trap, The
Tower of Life
Tree Gnome Village
Tribal Totem
Troll Romance
Troll Stronghold
Underground Pass
Vampyre Slayer
Wanted!
Watchtower
Waterfall Quest
What Lies Below
While Guthix Sleeps
Witch's House
Wolf Whistle
Zogre Flesh Eaters
Chosen Commander, The
Glorious Memories
Tale of the Muspah, The
Missing My Mummy
Hunt for Red Raktuber
Curse of Arrav, The
Fur 'n' Seek
Forgiveness of a Chaos Dwarf
Within the Light
Temple at Senntisten, The
Blood Runs Deep
Nomad's Requiem
Rune Mechanics
Blood Pact, The
Clockwork Syringe, A
Fairy Tale III - Battle at Orks Rift
Buyers and Cellars
Elemental Workshop III
Quiet Before the Swarm
Love Story
Void Dance, A
Gunnar's Ground
Void Stares Back, The
Do No Evil
King of the Dwarves
Prisoner of Glouphrie
Elemental Workshop IV
Deadliest Catch
Salt in the Wound
Branches of Darkmeyer, The
Ritual of the Mahjarrat
One Piercing Note
A Towering Feast
The Firemaker's Curse
Let Them Eat Pie
Song from the Depths
Carnillean Rising
Last edited by Makar; 01-08-2024 at 06:39 PM.
The best open-source pre-eoc remake project that isn't in its early stages for once Darkan Client (727 Client Refactor) Darkan World Server
“It would not be impossible to prove with sufficient repetition and a psychological understanding of the people concerned that a square is in fact a circle. They are mere words, and words can be molded until they clothe ideas and disguise.”
Best of luck! I totally felt that when you mention that about frameworks. I can certainly relate to getting sidetracked doing novel implementations of systems that ultimately are useless and not actually the content/game.
However, I do think that it is super weird that you are relicensing matrix as gpl. Did you get approval from the authors to do that?
Best of luck! I totally felt that when you mention that about frameworks. I can certainly relate to getting sidetracked doing novel implementations of systems that ultimately are useless and not actually the content/game.
However, I do think that it is super weird that you are relicensing matrix as gpl. Did you get approval from the authors to do that?
Relicensing is a strange way to put it considering there wasn't an initial license to begin with and the code is 10 years old. If someone goes through and finds the files that are verbatim Matrix and list them for me, I will rewrite that small percentage of files or remove the licensing from them. A very, very, very large portion has been entirely deleted and rewritten anyways as it is. Only things I can think of are maybe some legacy dialogues which I am working on entirely deleting in the first place as well as maybe the basic file io parts of the cache library that are more Jagex's property than anyone else's and most of the code has been copied directly from the client for that.
To suggest Darkan is even over 5% Matrix at this point in development would be extremely ignorant in my opinion and aside from the similar Player/NPC/Entity syntax that I decided to keep due to liking the method-naming, it's utterly unrecognizeable. Probably only seems that way to people who are familiar with Matrix just because I didn't decide to arbitrarily change every method name and class name despite deleting almost all of the contents within and rewriting it. I'd encourage a good test to be copy and pasting any content file in the entire project into a clean 718 base of matrix and seeing if there are compilation errors aside from things like packaging/imports. I'd bet that almost anything wouldn't work aside from some unused files that I have forgotten to delete after replacing or possibly some of the cache library files that would be verbatim Jagex code from the client as I explained earlier.
Last edited by Makar; 05-10-2022 at 11:36 PM.
The best open-source pre-eoc remake project that isn't in its early stages for once Darkan Client (727 Client Refactor) Darkan World Server
“It would not be impossible to prove with sufficient repetition and a psychological understanding of the people concerned that a square is in fact a circle. They are mere words, and words can be molded until they clothe ideas and disguise.”
Relicensing is a strange way to put it considering there wasn't an initial license to begin with and the code is 10 years old. If someone goes through and finds the files that are verbatim Matrix and list them for me, I will rewrite that small percentage of files or remove the licensing from them. A very, very, very large portion has been entirely deleted and rewritten anyways as it is.
I didnt mean anything bad by it, but for example: https://github.com/DarkanRS/world-se...iewingOrb.java
is nearly identical to stock matrix. The matrix release was mainly a public domain thing so it isnt a deal to me personally. I was just curious.
I didnt mean anything bad by it, but for example: https://github.com/DarkanRS/world-se...iewingOrb.java
is nearly identical to stock matrix. The matrix release was mainly a public domain thing so it isnt a deal to me personally. I was just curious.
I didn't think you were meaning any ill-will by it since it was a public domain thing released by mostly 12 year olds over 10 years ago (which is what the base is originally of). I'd say that file is a good example yes and I would agree with you on it. I do plan on entirely rewriting those things the way I have with almost every other skill at this point. I am just currently held up by this project right now: https://github.com/DarkanRS/world-se...alogue-removal.
Removing the dead/unused dialogues that are remnants of private server stuff and using my Conversation system instead since it is immensely easier to read. It'll incentivise people to write readable code instead of falling into one of the last legacy Matrix systems in there purely due to backward-compatibility laziness on my part.
As you can see by the progress list, minigames are going to likely be my next big project provided I can get these engine requests in place for people who are writing quests.
The best open-source pre-eoc remake project that isn't in its early stages for once Darkan Client (727 Client Refactor) Darkan World Server
“It would not be impossible to prove with sufficient repetition and a psychological understanding of the people concerned that a square is in fact a circle. They are mere words, and words can be molded until they clothe ideas and disguise.”