|
A couple days on and off to have 130 or so packets (and the various entity updating blocks) supported.
For me it helped that I have a pretty heavily refactored 181 I had been working on for a couple months prior to use as reference.
If you reverse engineer some prior art (a server from a previous revision, for example) it’s not that difficult to identify packets and create your own reference material to help move forward. Generally speaking revision to revision there aren’t that many code changes, and its relatively easy to recognise and identify common code patterns used in particular areas of the code.
Point being, it’s fruitful to get familiar with an older more well understood client before diving in to the bleeding edge.
Very impressive Is there an ETA?
Morning
We're running lean on time but our intention is to begin alpha testing at the beginning of May (join our discord to take part). During the alpha phase we will add the remaining skills, populate the rest of the game world and refine the game using feedback collected from our alpha testers. Expect this period to last a couple of months, and at the end of this period we will hold a beta test.
For us, beta means the game is feature complete and we're seeking final feedback before going gold. Beta will only last for a short period - I think it's realistic to say that we will be feature complete (with lots of updates to come post-launch) during summer 2020 but don't hold me to that.
I've been working on a handful of core/engine features this week to support some upcoming content, and they're ready for prime time! I'm getting very excited.
World resource system
This feature allows us to make any world object stateful and it's very powerful. The system takes responsibility for the state and lifecycle of any "resource" in the world, and provides a really simple API for creating content where a player interacts with a stateful object and receives an item. A resource is defined as a world object which yields some kind of produce, and has a healthy and depleted state. All players simultaneously interacting with a resource will interact with the same instance of that world resource, which is very important for a lot of reasons!
Resources can have the following properties:
- produce (the rewarded item)
- yield (the finite amount of produce, held by the resource - can be fixed, a range or unlimited)
- healthy object id
- depleted object id
- cooldown (optional - time until it replenishes, back to healthy state)
- expiry (optional - time until it expires, to depleted state)
- challenge (lambda, the condition that the player must pass to "win" the produce)
Some examples of where this will be used:
- Mining rocks
- Thieving stalls, chests and wall-safes
- Fishing spots
- Woodcutting trees
- World events (where things spawn in the world for a limited amount of time, and contain some kind of produce)
Super obvious implementation example
In this example the system takes responsibility for despawn, respawn, chance roll and provision of the produce (ore) - it's awesome!
Weighted loot system
Our loot system (monster drops, and otherwise - barrows, etc) now generates loot rewards with consideration for their relative rarity within a rarity bracket. This level of accuracy in our loot system allows us to implement very authentic drop tables, exactly as they are on Runescape! In practice, we will improve the odds for rare items to make things more interesting but this is exciting overall because it means monsters which are known for providing a lot of a particular item (such as herbs, seeds, coins or other supplies) will also do so on Everrain, with 1:1 accuracy with Runescape.
Here's a drop table example:
Abyssal Demon drop table contains these items for "rare" and "very rare"
However, even though the first 4 fall into the "rare" category - obviously whip is significantly more rare than the rune equipment. We can reflect this in our new loot system. In-fact, we can use the odds straight from the wiki to configure our relative item rarity.
Nested drop tables
We can also nest common drop tables inside the drop table of any monster, as it is on Runescape. If a drop table is the result of your loot roll, we will roll again for loot from the nested drop table instead.
This means we can assign the rare drop table, seed drop table, herb drop table, gem drop table and so on to monsters with varying rarity as it is on Runescape. Your favourite monsters for farming herbs will work exactly as you expect!
Chance-based skills, scaling success with skill level & chance tweening
That's a load of technical jargon to say - as you get higher level, you get better at skills!
This is a huge pet peeve of mine in private servers, and I am very excited to begin showing off how we will be implementing chance-based skills with level scaling - Mining, Fishing, Woodcutting, Firemaking, Thieving, Agility & Hunter.
As you level, every single level provides you with a benefit - the higher level you are, the better you are at that skill. This is not a "rate based" system, it's all chance based and the chance scales with your level - exactly as it does on Runescape.
Mining (chance-based)
Mining now implements our chance scaling and world resource systems, and behaves very closely to how it does on Runescape. While the exact odds are not public, we can make some educated guesses about what they are thanks to the law of averages.
See some examples below, can't wait to show more!
Mining iron with 16 mining & steel pickaxe:
Mining iron with 63 mining & rune pickaxe:
Pure essence, 35 mining, adamant pickaxe:
Pure essence, 67 mining, rune pickaxe:
Coal, 59 mining:
Coal, 94 mining (and good rng haha):
Great progress boys!
« Previous Thread | Next Thread » |
Thread Information |
Users Browsing this ThreadThere are currently 1 users browsing this thread. (0 members and 1 guests) |
Tags for this Thread |