Announce post #3171: Where's Mining and Mirrors?

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.
IesidLegynArchelausAlelaGavramelLinDrystinTeaniSaltzNaos
«13

Comments

  • Good to know how things are going. Thanks for the update! Mining sounds really cool! Looks like the long wait is gonna be worth it. Can't wait to see how the flooding works!

    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!
    [Insert annoying gif here]
  • This type of transparency is deeply appreciated. Very excited to see the first pair of mirrors on the horizon!
    BenedictoMjollSibattiGavramelDrystinLinJhura
  • AeryxAeryx Docking Nipsy's pay
    I know I've been absent for the past 8 months or so but I've been keeping up with peeking in every now and again with the phone app and this update was very much appreciated. I'm glad you guys are still plugging along and fighting the good fight. Keep up the good work!
    Childhood's over the moment you know you're gonna die.
    Callidora
  • edited March 2021
    I'm largely burned out on Aetolia at the moment, but out of pure curiosity how does something slated for an original release date of over a year ago now I believe have like roughly half of the stuff for it done at this point? Largely just curious, also gasses and liquids seem extremely ambitious from what my knowledge of rapture is.

  • Ehtias said:

    I'm largely burned out on Aetolia at the moment, but out of pure curiosity how does something slated for an original release date of over a year ago now I believe have like roughly half of the stuff for it done at this point? Largely just curious, also gasses and liquids seem extremely ambitious from what my knowledge of rapture is.

    Probably some combination of feature creep, staff turnover, and real life getting in the way.

  • With what sounds like responsibility for mirrors and mining on his back, I sure hope you're paying that Razmael guy enough.
    AlelaKxrachusTetchta
  • TiurTiur Producer
    He gets a bonus the moment he solves P = NP.
    Drystin
  • TiurTiur Producer
    Razmael switching over to Mirrors is a godsend, and I love him. He has already fixed the database problem, and come up with a way to do things 100% faster than what I was doing. In fact, I'll explain. I was copying volunteer written messages, converting them to codespeak, then modifying the old code to split the messages. Raz figured out a way to just link the place the awesome ones were writing messages in to the code, and he just clicks import when he's ready. The difference between skill and training, folks.

    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.
    IesidBenedictoGavramelDrystinMairaAlela
  • Just poking my head in; do you still feel it is in your best interest not to move the release date closer?  :)
  • TiurTiur Producer
    edited March 2021
    100% would have regretted the decision to move things up. Last Friday my motherboard burnt and I lost like 4 days of work. Which is TOTALLY recoverable... using the time I would have given up. REMEMBER: Always remember to push your work, even if it won't compile. Better to have Raz yell at you for uncompilable code than to lose it outright.

    E: God, reading my previous post, I feel like I dared fate to do this. Seriously.
    Iesid
  • Damn, T, what did you do wrong in your past life? As long as I’ve known you, disaster sucker punches you more than anyone else I’ve met. Thankfully it’s recoverable though! 
    IesidStineRihrinBulrokKxrachusTetchta
  • 'He was born beneath a star of ill omen.' should def be a Tiur honors line.

    Thank you for such a fast reply.
    Rihrin
  • LinLin Blackbird The Moonglade
    Tiur said:

    100% would have regretted the decision to move things up. Last Friday my motherboard burnt and I lost like 4 days of work. Which is TOTALLY recoverable... using the time I would have given up. REMEMBER: Always remember to push your work, even if it won't compile. Better to have Raz yell at you for uncompilable code than to lose it outright.

    E: God, reading my previous post, I feel like I dared fate to do this. Seriously.

    noooooo you gotta keep your work backed up on your branch aaaaaaaa
    Seurimas
  • TiurTiur Producer
    He stole my branch to upgrade it, and now we're sharing!

    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.
  • yay sharing and progress
    Aeryx
  • Tiur said:
    He stole my branch to upgrade it, and now we're sharing! 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 just really need to know what you guys do for version control

    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? 

  • TiurTiur Producer
    Normally everything has multiple branches and we test things on test servers for compiling, then move it into master. Aetolia itself can update live. The problem we have here is that I did a ton of prep work for Revenant, and so when Raz came to fix things, it was easier just to build on top of that, so we ended up sharing the branch. If I were smart, I'd have branched off again, but I forgot. As a not formal coder, I make oopsies like that. I also don't always check code for compiling... because I'm weird and like to get all my errors in a chunk and fix them. That's... that's bad, I should stop doing that.

    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.
    AlmolIesid
  • TiurTiur Producer
    Apologies in advance, there are a number of messages from old skills I just can't abide, so I switched them x_x

    "ENGAGE - You move in to engage $(target$)"

    sigh.
    Iesid
  • TiurTiur Producer
    Here's a quick update!

    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$;

    What the heck is global target$? Nothing uses it. We don't like to use globals, and stripped them out. How did this one survive? What does it even do? Pilgrimage aura doesn't even use a target! It looks for the person you've protected. Or where you left the aura. Not only that, it's a string! Those other things are numbers! WHY ARE YOU THERE? Can I cut it out? Do I need to duplicate it for Revenant? The other pilgrimage doesn't use it either.


    Pause to read documentation.

    WHY DOESN'T RAPTURE DOCUMENTATION INCLUDE GLOBALS?! Where are globals even set? Oh my god, do I need to track down where target$ is set? That's like, the third most commonly used string, I can't search for target$, what search terms find you the origin of a global variable?


    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.
    MoxieIesidLinBenedictoDrystinLegyn
  • Tiur said:

    Overall we're on time for April 1st to be a cool day

    Everyone knows that patience is not among my virtues, but... April 1st? Maybe wait one more day so it's both on Friday evening and not April Fool's day (i.e. not likely to be received as a prank)? <.<
    (Web): Abhorash has joined your web.
    (Web): Abhorash says, "Nerds."
    (Web): Abhorash has left your web.



    Alela's Affirmations
    LinDrystinTetchtaNonatea
  • Nooo, April 1st is the anniversary of the original post. It's 100% a must!
    Didi has expressed her esteem of you for the following reason: Smart organized leader.
    Experience Gained: 47720 (Special) [total: 2933660]
    Needed for LVL: 122.00775356245
    Drystin
  • SaritaSarita Empress of Bahir'an The Pillars of the Earth
    If this one is as cool as last year's April 1st event, maybe we're starting a tradition of April Fool's being less about pranks and more about things that genuinely make people play want to play more and/or return to the game to see new content.
    NaosDrystin
  • TiurTiur Producer
    That's basically the idea. We want April 1st to be about trying weird things and having fun. I wanted to release, or at least start release, that day also because @Seurimas is absolutely correct.

    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.
    Almol
  • edited March 2021
    That is basically how I feel, looking at my inefficient Mudlet code and comparing it to the elegance of seasoned coders, say... Haven's. 😂 It works, but the coding is overly complicated.

    I'm looking forward to April 1st.
    DrystinTetchta
  • My code is held together with duct tape and old chewing gum. What matters is that it's holding together though! I second @Elene, I'm unreasonably excited for this. At first I wasn't in favor of mirror classes but I think it's going to be a good thing overall for the game.
  • Hey, if this is what the people want, far be it from me to stand in the way! I assumed wrongly.
    (Web): Abhorash has joined your web.
    (Web): Abhorash says, "Nerds."
    (Web): Abhorash has left your web.



    Alela's Affirmations
    Seurimas
  • TetchtaTetchta The Innocent
    Alela said:

    Hey, if this is what the people want, far be it from me to stand in the way! I assumed wrongly.

    Nah, I thought the same thing when I read "April 1st" but at the same time, I wouldn't complain having Mirrors sooner.

    Alela
  • TiurTiur Producer
    It was a close thing. While searching for the mechanism behind Retribution's special body after instakill, I found a thing. Death doesn't have a lot of special options, so it's an easy list to search. And I found it. A death option, JACKO_BEHEAD. In a rage, I thought... "That had better not be Jack in the Box from Jesters.." and furiously searched the code, ready to burn the taint from our code. I would have burned it ALL DOWN if I had to.

    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.
    Tiur said:

    That's basically the idea. We want April 1st to be about trying weird things and having fun. I wanted to release, or at least start release, that day also because @Seurimas is absolutely correct.

    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.

    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.
    Drystin
  • RhyotRhyot Bloodloch
    All this talk about mirrors like it's the best thing in the world.

    Talk to me about mining. Where are we on that?


    TetchtaAeryx
Sign In or Register to comment.