3/11/2021 at 23:48
Tiur, the Gnosis
Everyone
Where's Mining and Mirrors?
Let's talk these two projects and figure out why they're taking so long!
Mining -
A big part of mining is the water/gas system making sense. There needs to be a sense of danger other than just things that live below, so we thought to put in gasses and flooding. That's fine, but like Dwarf Fortress, we've learned there's a LOT more to this than expected. Honestly, it's just crept up. From adding torches, to what happens if you throw one into open gas, to how to fix the flooding. Also, with the response to hiring helpers, some necessary work for them has snuck in. Like stamina, endurance, and what happens when they all flood and die.
- Ready
* Map maker
* Encounters
* Lighting
* Veins and Mining
* Hiring Miners
* Added backend support to mobs and pathfinding to support movement and tracking on 2d overhead maps vs normal rooms
- Planned/Halfdone
* Gasses/liquids (halfway, a solid two weeks)
* alloys/ores (shouldn't be hard, just not sure of how far-reaching)
* Random Encounters (A good month of coding and building)
* Optimization (The Howling is LOOOONG when mines are open. Could take a few days of coding after everything else)
* Provisioning Tie-Ins (idea'd, but not made, could take a few weeks)
This joy is called 'feature creep', or in my old job, 'scope growth', though not quite the same thing. What we're doing now is stepping away from getting it to a complete state, which has become a rabbit hole, and instead focusing on it from a design perspective. We'll be sharing that with you as soon as the first two Mirrors are released, but basically, we're stopping to say things like "Is it worth the delay to make sure miners choke to death on gas." This should help us prune away what's making the project endless and get it ready to release. De-scoping. We'll look at the goal of the project, what ideas are met and what aren't, and how much is in excess of that. For example, we could do Random Encounters AFTER release, freeing us up a month! But without having sat down, we might have started coding it early anyway and wasted time.
On a neat note, if we released this right now, it would be the largest code project Aetolia has ever done.
Mirrors -
Our worst fears were true, and increasing the size of the defense/afflictions database is indeed a Bad Thing. So we're going back over things and adding new fields, source and mirror. So when you use an ability from classA, it gives the messaging for that class and tracks who gave it, so that someone using mirrorA can't build off your affliction/give you the same state twice. It also prevents us from having two defenses that do the same thing, yet take up two slots in the database, slowing down searching.
By having Razmael stop Mining until the de-scoping meeting is done, he's free to help me do things like the above. With that database fix, we're essentially done on the backend and can input the finished messages, then start events. That's all doable by the end of the month. Wardens are his baby anyway, so there were a few things that needed his direct attention, and he was too busy!
Ready -
* Most Backend Code
* Messages for Revenant and Warden
* Event Outlines, Boss for Revenant
* Event Outlines for Warden
* AB files
Needed -
* DB Upgrade (few days)
* Message cleanup for Warden (they usually need 2-3 iterations, so, give a weekish, concurrent with other tasks)
* Last messages input (few days, two coders)
* Event script (few days, like 5 people writing now! Sometimes we abandon them altogether, if the event is right)
* Boss for Wardens (A day. And Boss sometimes just means puzzle, or event)
-T
PS. I'll be doing this again in a week or so, to let you know how it's going.
PPS. Largely, you can tell it boils down to me overworking Razmael. I'm sorry, Raz!
PPPS. None of this is interfering with BL, that code is done and just needs the event. Razmael already coded it.
Penned by my hand on Kinsday, the 5th of Variach, in the year 494 MA.
10
Comments
On the subject of delayed projects, I was wondering about https://forums.aetolia.com/discussion/3709/announce-post-3136-question-thread#latest. Is this ever going to be reopened? Or is it just closed and the remaining questions are going to go unanswered?
Sorry if this isn't the place to ask about this!
Also, shout out to volunteers, who pulled a bit of late nights to finish a bunch of writing. They also brainstormed events and made them better!
So we're a bit ahead of what I expected.
Ready -
* Most Backend Code
* Messages for Revenant and Warden
* Event Outlines, Boss for Revenant
* Event Outlines for Warden
* AB files
* DB Upgrade
* Messages cleaned up.
Needed -
* Event script (few days, like 5 people writing now! Sometimes we abandon them altogether, if the event is right)
* Boss for Wardens (A day. And Boss sometimes just means puzzle, or event)
* A bit of testing added, because let's face it, something WILL break.
Because I'm a terrible pessimist I won't move the release date.. especially because I really like the idea of it.
E: God, reading my previous post, I feel like I dared fate to do this. Seriously.
Thank you for such a fast reply.
Life is mean as heck, but it's always recoverable. We even had an idea for a super seekrit experiment I can hide in Revenant that I wouldn't have done if i I hadn't been bemoaning the loss of my best computer.
i would have been working on a (or a few) feature branch(es) where there are only changes related to that one specific thing being worked on. I have a thing about pushing code with errors or, god forbid, that doesn’t compile/run but I also push every time an addition is tested so at worst I lose like... a function.
How does IRE, or Aetolia if it differs, handle version control?
IRE itself gets pretty cowboy. Everyone has their own ways of doing things. I know SM is usually less "branch per project" and more "concept per branch", which does make it easier, but I do find it harder to track down bigger picture when/how concepts.
"ENGAGE - You move in to engage $(target$)"
sigh.
Razmael had to code the database fix for afflictions as well as defenses, because some didn't make sense.
I ended up having to completely redo the verbage of Battlefury.
Righteousness really needed some rewrites.
I have small panic things, example to follow.
There still needs to be a lot of testing.
Overall we're on time for April 1st to be a cool day, I will just sleep for a week after it.
Example: subroutine righteous_pilgrimage(ply, skill, ver$) { global target$;
Pause to read documentation.
Etc. I am extremely tired. Anyway, the answer was to ignore it. Likely the exact same answer that the last person to code in skill_righteousness.r did. Somewhere down the line someone else will have the exact same meltdown.
(Web): Abhorash says, "Nerds."
(Web): Abhorash has left your web.
Alela's Affirmations
Experience Gained: 47720 (Special) [total: 2933660]
Needed for LVL: 122.00775356245
Also, I feel like... goodness. I have written like 700 lines of code and just now realized I was doing the same thing over and over and could have written a function to do it faster.
I'm looking forward to April 1st.
(Web): Abhorash says, "Nerds."
(Web): Abhorash has left your web.
Alela's Affirmations
It was a jack o lantern, so it's okay. But a near miss.
No joke, though, I am super excited. I have set aside so many credits to get all the things for mirrors and play with it and stuff. I'm super curious which guilds will get the drops, or if there will be some player consequence for where the new classes take up residence.
ALL THE EXCITE. Every time I decide to code something new or refine the code of something that works to work better, this how I feel. Or you know, kill mudlet in an infinite recursion cause you forgot to close a while loop. Good stuff.
Talk to me about mining. Where are we on that?