Flashpoint: Gotham



  • EDIT: Hey everyone! Placing the edit up here to be noticed first thing. My original post is still down below.

    Things have been going great! Our wiki is almost fully complete and can be found here:

    flashpointgotham.tk

    Also, our game's opening date is now slated for November 20th.

    ORIGINAL:

    Hey everyone!

    I'm new to the forums so I just thought I'd post a lil thingie here about my current project.

    My team and I are hard at work at a game based off the WW Aberrant System, set in the DC universe during the Flashpoint series. The story will be based in Gotham solely, and dealing with the effects of a world at war.

    Currently, it's under construction with just a few more coding hurtles to get over before we can officially open.

    I was pointed this way thanks to @faraday , and am looking for some final code to help progress out opening. Namely, I'm in search of a fluid and full CG (which I've spoken to @Thenomain about already, so here's hoping that goes well!)

    If you're interested in helping in the project, let me know! We're in need of another Coder, and probably Staff that are located in the States. Myself, and my other Staffers, are all based in Australia.

    Good luck, everyone, on your projects as well!



  • Welp. Back to the drawing board. For whatever reason, I didn't read that @Thenomain's code was for TinyMux. So, I spent a few hours customizing it for my game, only to later realize it wouldn't work on my system :(.

    So! Tomorrow is a fresh start. At least I'm getting a better handle are recognizing how some code talks to one another!


  • Coder

    What codebase are you using?


  • Pitcrew

    Yeah, that's a critical question to answer. No reason for us to give coding advice for PennMUSH when you are using Evennia or something.


  • Coder

    They started off with my system on PennMUSH, but since it was a WW-based game I suggested @Thenomain's codebase might have been a better fit. That would, as mentioned, require switching over to TinyMUX though.


  • Coder

    @faraday Yeah I've coded an Aberrant CharGen but it was on Tiny, I don't do Penn myself. I could see if I have it laying around somewhere but I wouldn't even know how to go about converting it for penn.



  • @Lithium
    Unless it uses any crazy MUX-specific functions (and I wouldn't think a chargen would, unless you're like me and use custom registers a shit ton), it might just flat out install. A few things like map() and align() and such function differently between MUX and Penn, but if it's a basic-ish system, it would probably plug and play with minimal issue.


  • Coder

    @Bobotron Well I never built a sheet for it (I am still learning formatting for +sheet code). So it would need that for it, if I still have it. It might be on my missing flash drive, am still looking.


  • Coder

    @faraday said in Flashpoint: Gotham:

    They started off with my system on PennMUSH, but since it was a WW-based game I suggested @Thenomain's codebase might have been a better fit. That would, as mentioned, require switching over to TinyMUX though.

    I haven't tested, but I can't imagine my system has much of anything that's not also on Penn. But if you're used to Penn, then yeah, I wouldn't throw all that without knowing that you might have to find what's breaking the code and fixing that.

    edit: I didn't even know about 'align()' and 'map()' breaks my ability to process code so I don't use it.



  • @Thenomain
    To be fair, align() may not even exist in MUX, but it's a timesaver in Penn 'cause you can make columns with align super easily.


  • Coder

    @Bobotron said in Flashpoint: Gotham:

    @Thenomain
    To be fair, align() may not even exist in MUX, but it's a timesaver in Penn 'cause you can make columns with align super easily.

    ... I use columns().



  • @Thenomain
    Which is probably the MUX-equivalent to align(), honestly. I don't code in MUX much anymore (I haven't since I was updating stuff on Millennium Heroes MUX a decade ago), just Penn, so...

    ETA: Because I have continued the topic drift. I like the Flashpoint mini-series, and I think it would work well as an alternate superhero MU*. Focusing on one location is also good. So we've got Batman, Joker, Yoyo... how open are you going to be for 'Flashpoint-versions' created by players, of prominent DC Bat-Family characters? Or are those being pre-created.



  • Whew! That's a lot to take in. Thanks for all the interest/input, guys!

    So, yes, we're using PennMush as a base system, just as @faraday mentioned. When I first started trying to install the setup and core, it gave me a couple of things in my inventory, but mostly, the kick back just said 'huh' and 'I can't see that here', so I'm thinking something is broken that I just don't understand.

    Stated as before, I am /not/ a Coder, but I'm trying to work with whatever I can get my hands on.

    @faraday has a great lil CG for oWoD, but she said it wasn't supported, so I needed to find something else.

    Now, to the questions:

    @Lithium Having anything CG that's Aberrant related would be /amazing/. If you find it, and are willing to toss it my way, I'd be eternally grateful.

    @Bobotron We're pretty much open to FCs, but we have a hope that OCs will be predominantly featured on the game. We have a list of Banned and Restricted Characters at this time. Here's the snippet of that a-la my wiki:

    For now, a few characters will not be allowed to be claimed, or processed, through Character Gen. Some of these characters are simply non-existent in the setting, or are set aside as NPCs only. This restriction is more due to story, as these characters are massive plot points in the overall arch of the game. Please note that this restriction is temporary and once the world arch is complete, these characters may be open for play. Any of these characters can be requested by players should they need/want interaction with them.

    We also have a few concepts that are restricted in this setting.

    Currently Restricted Characters:

    Superman
    The Dark Knight
    Joker
    The Penguin
    Wonder Woman
    Aquaman
    The Flash
    Zoom/Reverse Flash
    Captain Atom
    Pantheon (Zeus, Ares, Athena)
    Darkseid
    Mira
    Doomsday
    Trigon
    

    Currently Restricted Concepts:

    Time Travelers or anything related to Time Travel
    Kryptonians
    Martians
    

    Banned Concepts:

    OC Relatives of Feature Characters
    Child characters or anyone under the age of 18
    

    WE DO, however, plan on opening with Humans, Metas, Amazons and Atlantians open for play.



  • So you're making a Gotham game, with the conceptual setting of the alt-U stuff, and NOT letting people play the 'big players' of Gotham during that setting? That will turn off a lot of people, I think. People play superhero MU*s to play those characters, and unless they are off screen acting out the events of Flashpoint (which then gives your game a limited lifespan, I would think), you'll need to explain very well to prospective players.

    Also, Queen Mera, not Mira.



  • @Bobotron We know it'll turn off some players initially, but all big players are

    A) Not part of the city at all
    B) Too powerful, even by universe standards
    or
    C) Being NPCed for character/play interactions as needed by the players.

    This decision was made by staff due to a number of other Super based games where people grab big namers and do little to nothing with them. Though we don't allow char bits to be taken up and just sat with, we're hoping that this helps people feel more comfortable with the slew of other FCs still up for grabs, or playing their own OCs.

    Just because there is no Superman in this universe (not technically, anyway), doesn't mean you can't play a build like him.

    Also, thanks! Edited the name.



  • @RizBunz
    As long as you explain it like that I'm sure it'll go over okay. And I wasn't meaning superman. WHen you say 'Gotham focused' I'm picturing it weird not to allow someone to play Batman, for example. HEll, I fully expect the response to something like, say, playing Shazam to be 'It's a lot overpowered for Gotham's standard villains'. Assuming, again, going by Batman Family villain 'ratings', as it were.



  • @Bobotron To those we've spoken to about it already, they seem pretty keen on the game. Thus me being really eager to get a cg/+sheet/xp system in so we can actually open the game.

    I was just using Supes as an example there, but I get what you're saying. We do have one SHAZAM type character in the works, however, he'll be classified as a Meta human, and the way we're setting up stats and XP allows people to be more on the same footing with each other with room for advancement. That's why we liked the idea of actively using stats and xp systems instead of just writing up a CG with 'abilities' out the gate.

    Each class/race will get their own specific perks.

    Granted, though, depending on what I can actually get to work, we may have to reshuffle a few things around :/



  • !!!SPAM WARNING!!!

    Below, I'm going to go ahead and post what I tried installing on my game last night. Perhaps the visual changes might help to tell me (or you guys) what's broken in my code and how I may, or may not, be able to fix it?

    @create Data Dictionary <dd>
    @set Data Dictionary <dd>=inherit safe
    @fo me=&d.dd me=search( name=Data Dictionary <dd> )
    @parent Data Dictionary <dd>=codp
    &prefix.functions Data Dictionary <dd>=.
    &prefix.attributes Data Dictionary <dd>=attribute.
    &prefix.mega-attributes Data Dictionary <dd>=mega-attribute.
    &prefix.skills Data Dictionary <dd>=skill.
    &prefix.merits Data Dictionary <dd>=merit.
    &prefix.flaws Data Dictionary <dd>=flaw.
    &prefix.backgrounds Data Dictionary <dd>=background.
    &prefix.advantages Data Dictionary <dd>=advantage.
    &prefix.bio Data Dictionary <dd>=bio.
    &prefix.specials Data Dictionary <dd>=special.
    &prefix.health Data Dictionary <dd>=health.
    &prefix.specials Data Dictionary <dd>=special.
    @create Data Tags <d:t>
    @set Data Tags <d:t>=inherit safe
    @fo me=&d.dt me=search( name=Data Tags <d:t> )
    @fo me=&d.dt [v( d.dd )]=search( name=Data Tags <d:t> )
    @fo me=@parent [v( d.dt )]=[v( d.codp )]
    &prefix.attributes [v( d.dt )]=tags.attribute.
    &prefix.mega-attributes [v( d.dt )]=tags.mega-attribute.
    &prefix.skills [v( d.dt )]=tags.skill.
    &prefix.merits [v( d.dt )]=tags.merit.
    &prefix.flaws [v( d.dt )]=tags.flaw.
    &prefix.backgrounds [v( d.dt )]=tags.background.
    &prefix.advantages [v( d.dt )]=tags.advantage.
    &prefix.bio [v( d.dt )]=tags.bio.
    &prefix.specials [v( d.dt )]=tags.special.
    &prefix.health [v( d.dt )]=tags.health.
    &prefix.specials [v( d.dt )]=tags.special.
    &.Class [v( d.dd )]=u( [u( d.sfp )]/f.get-class, %0 )
    &.Value [v( d.dd )]=case( u( .class, %1 ), numeric, first( u( .value_full, %0, %1 ), . ), u( .value_full, %0, %1 ))
    &.Value_Full [v( d.dd )]=udefault( [u( d.sfp )]/f.getstat.workhorse.[u( .class, %1 )], u( %0/_%1 ), %0, %1 )
    &.Value_Stats [v( d.dd )]=ladd( iter( %1 , u( .value_full, %0, %i0 ), , . ), . )
    &.At_Least [v( d.dd )]=gte( add( u( .value, %0, %1 ), %3 ), %2 )
    &.At_Least_All [v( d.dd )]=land( iter( %1, u( .at_least, %0, first( %i0, : ), rest( %i0, : ))))
    &.At_Least_One [v( d.dd )]=lor( iter( %1, u( .at_least, %0, first( %i0, : ), rest( %i0, : ))))
    &.At_Least_Stat [v( d.dd )]=localize( [setq( t, trim( first( edit( %2, -, +- ), + )))][setq( a, iter( rest( edit( edit( %2, -%b, - ), -, %b+- ), + ), %i0, + ))][u( .at_least, %0, %1, ladd( [u( .value, %0, %qt )] %qa ), %3 )] )
    &.At_Most [v( d.dd )]=lte( add( u( .value, %0, %1 ), %3 ), %2 )
    &.At_Most_All [v( d.dd )]=land( iter( %1, u( .at_most, %0, first( %i0, : ), rest( %i0, : ))))
    &.At_Most_One [v( d.dd )]=lor( iter( %1, u( .at_most, %0, first( %i0, : ), rest( %i0, : ))))
    &.At_Most_Stat [v( d.dd )]=localize( [setq( t, trim( first( edit( %2, -, +- ), + )))][setq( a, iter( rest( edit( edit( %2, -%b, - ), -, %b+- ), + ), %i0, + ))][u( .at_most, %0, %1, ladd( [u( .value, %0, %qt )] %qa ), %3 )] )
    &.Between [v( d.dd )]=cand( u( .at_least, %0, %1, %2, %4 ), u( .at_most, %0, %1, %3, %4 ))
    &.Is [v( d.dd )]=strmatch( %2, if( t( %3 ), %3, u( .value, %0, %1 )))
    &.Is_Full [v( d.dd )]=strmatch( %2, if( t( %3 ), %3, u( .value_full, %0, %1 )))
    &.Is_Not [v( d.dd )]=not( u( .is, %0, %1, %2, %3 ))
    &.Is_One_Of [v( d.dd )]=t( match(%2, first( u( %0/
    %1 ), . ), . ))
    &.Is_None_Of [v( d.dd )]=not( u( .is_one_of, %0, %1, %2 ))
    &.Has [v( d.dd )]=t( u( .value, %0, %1 ))
    &.Has_Not [v( d.dd )]=not( u( .value, %0, %1 ))
    &.Has_One_Of [v( d.dd )]=lor( iter( %1, u( .has, %0, %i0 )))
    &.Has_All_Of [v( d.dd )]=land( iter( %1, u( .has, %0, %i0 )))
    &.Has_None_Of [v( d.dd )]=not( u( .has_one_of, %0, %1 ))
    &.Min_Of [v( d.dd )]=min( u( .value, %0, first( %1 )), if( dec( words( rest( %1 ))), u( .min_of, %0, rest( %1 )), u( .value, %0, rest( %1 ))))
    &.Max_Of [v( d.dd )]=max( u( .value, %0, first( %1 )), if( dec( words( rest( %1 ))), u( .max_of, %0, rest( %1 )), u( .value, %0, rest( %1 ))))
    &.List_Has [v( d.dd )]=t( match( u( .value_full, %0, %1 ), %2, . ))
    &.List_Has_All [v( d.dd )]=eq( words( setinter( u( .value_full, %0, %1 ), %2, . ), . ), words( %2, . ))
    &.List_Has_None [v( d.dd )]=eq( words( setinter( u( .value_full, %0, %1 ), %2, . ), . ), 0 )
    &.List_At_Least [v( d.dd )]=gte( lmax( u( .value, %0, %1 ), . ), %2 )
    &.class_translate_list [v( d.dd )]=case( 1, isnum( %1 ), elements( rest( v( %0 ), | ), %1, . ), t( match( first( v( %0 ), | ), %1, . )), elements( rest( v( %0 ), | ), match( first( v( %0 ), | ), %1, . ), . ), elements( first( v( %0 ), | ), match( rest( v( %0 ), | ), %1*, .), . ))
    &.sphere [v( d.dd )]=localize( strcat( setq( s, lcstr( last( grepi( %!, .sphere., edit( u( .value_full, %0, bio.template ), %b, _ )), . ))), if( t( %qs ), %qs )))
    &.sphere.mortal [v( d.dd )]=Mortal
    &.sphere.meta [v( d.dd )]=Meta
    &.sphere.amazon [v( d.dd )]=Amazon
    &.sphere.atlantian [v( d.dd )]=Atlantian&bio.template [v( d.dd )]=[iter( lattr( %!/bio.template.
    ), v( %i0 ), , . )]&bio.template.mortal [v( d.dd )]=Mortal&bio.template.meta [v( d.dd )]=Meta&bio.template.amazon [v( d.dd )]=Amazon&bio.template.atlantian [v( d.dd )]=Atlantian&sphere [v( d.dd )]=lcstr( last( grepi( %!, bio.template., u( .value_full, %0, bio.template )), . ))
    &.Specialty_For [v( d.dd )]=lcstr( rest( first( sort( iter( lattr( %0/_skill..%1 ), elements( %i0, 1 2, . )))), _ ))
    &.Specialty_Has [v( d.dd )]=gt( words( iter( %1, lattr( %0/_skill.%i0.%2 ))), 0 )
    &.instanced_once [v( d.dd )]=localize( strcat( setq( p, first( %1 ), _%(%) ), setq( i, before( rest( %1, (, )), ) ), not( setdiff( lattr( %0/%qp(
    ) ), %qp(%qi) ))))



  • @RizBunz
    I'll wish you luck. I don't have time to help with coding, but I figured I'd throw out some common things you'll probably encounter as you butt up against 'BUT GOTHAM. WHERE'S MY PC BATMAN'.
    It sounds interesting. Maybe check on the PennMUSH dev site and see if there are any coders willing to help out.



  • @Bobotron Thanks a bunch!!!


Log in to reply
 

Looks like your connection to MU Soapbox was lost, please wait while we try to reconnect.