User Tag List

Page 3 of 3 FirstFirst 1 2 3
Results 21 to 30 of 30

Thread: Plans for the future, part 1: AngelScript

  1. #21
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,759
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.52%
    Quote Originally Posted by Gleeok View Post
    I probably just forgot. >_> ...Which is why you're in charge of the enemies anyway. They're such a mess in general it's pretty easy to get confused, in my defense.

    I mainly want to get a script processor in with some preprocessor support and allow ZC to compile scripts on the fly. The whole cycle of open zquest->compile scripts->save->load in zc->enter cheat->goto screen->test script->tweak script->repeat process is really annoying.

    After that I don't know. Maybe replace ffcs with screen scripts or something.
    I wouldn't replace ffcs, primarily because they could be very useful if implemented right. Really, they could be mini, self-contained global events that only run when referenced.

    Compilation never bothered me though. I'd think that true JIT compiling would be (1) problematic to fairly implement, (2) a deviation that lends toward incompatibility, (3) slow, and (4) prone to user-error.

    Frankly, ZQuest needs a proper IDE, built in to its interface. I sort of want to do that for ZScript, but it would be an insane amount of work, and I certainly wouldn't want to do it to a branch of code that is phasing out its scoped interface. :p

    Also, I pretty much realised that both you, and Saffit are doing your own things, and that the end-result is sort of mashed together. This mates, is why keeping logs, at least, is important, with light docs as to what you do, have done, will do, want to do, have planned, found impossible, and so forth. This project is pretty much going to require that sort of logging.

    That, or a never-ending Skype-group with all the coding participants in one place.

  2. #22
    Here lies mero. Died by his own dumbassitude.
    Join Date
    May 2011
    Posts
    929
    Mentioned
    102 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    5,527
    Level
    23
    vBActivity - Bars
    Lv. Percent
    13.96%
    we can't anyways Gleeok just hates ffcs period.

  3. #23
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,814
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,931
    Level
    33
    vBActivity - Bars
    Lv. Percent
    23.24%
    Quote Originally Posted by ZoriaRPG View Post
    I wouldn't replace ffcs, primarily because they could be very useful if implemented right. Really, they could be mini, self-contained global events that only run when referenced.

    Compilation never bothered me though. I'd think that true JIT compiling would be (1) problematic to fairly implement, (2) a deviation that lends toward incompatibility, (3) slow, and (4) prone to user-error.

    Frankly, ZQuest needs a proper IDE, built in to its interface. I sort of want to do that for ZScript, but it would be an insane amount of work, and I certainly wouldn't want to do it to a branch of code that is phasing out its scoped interface. :p

    Also, I pretty much realised that both you, and Saffit are doing your own things, and that the end-result is sort of mashed together. This mates, is why keeping logs, at least, is important, with light docs as to what you do, have done, will do, want to do, have planned, found impossible, and so forth. This project is pretty much going to require that sort of logging.

    That, or a never-ending Skype-group with all the coding participants in one place.
    When you have a project that multiple people work on you really don't want to be working on the same thing, or sometimes even the same files. It's already complicated enough without having conflicts that can create bugs. It's not like it's random or anything. We've thought about updating the scripting engine and removing allegro for a long time. It's mostly straight-forward except in this case where I kind of forgot what's going on with the enemies. My bad.

    When I say 'replace' ffcs I'm talking about a more general mechanism for scripts to create scripts and handle game related stuff. For example: How many times have you created an ffc that has NO COMBO data set because you just want a script to run. I'm guessing lots. Also there would not be 32-per screen limit and there would be no memory or runtime overhead for scripts that you do not create.

    As far as docs go I probably wouldn't read them anyway.
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  4. #24
    Here lies mero. Died by his own dumbassitude.
    Join Date
    May 2011
    Posts
    929
    Mentioned
    102 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    5,527
    Level
    23
    vBActivity - Bars
    Lv. Percent
    13.96%
    @ZoriaRPG
    Github is more then enough of a collaboration resource in itself. If you use it right that is.
    @Gleeok
    So he's the one who screwed me out of rewriting the enemy code you promised me. Good, now I know who to tie up in a spiderweb cocoon and feed to my babies tonight. Just kidding. Also open the ZC Dev forum to everyone already, my god what are you two waiting on, me to tell you to do it?
    @Saffith
    You should just put me in charge of angescript stuff if you don't care then.
    Last edited by Tamamo; 01-30-2016 at 02:47 PM.

  5. #25
    Username Kaiser SUCCESSOR's Avatar
    Join Date
    Jul 2000
    Location
    Winning.
    Age
    37
    Posts
    4,436
    Mentioned
    152 Post(s)
    Tagged
    7 Thread(s)
    vBActivity - Stats
    Points
    10,559
    Level
    30
    vBActivity - Bars
    Lv. Percent
    51.59%
    Quote Originally Posted by Tamamo View Post
    @ZoriaRPG
    No more Skype Talk, quit advertising that shit on agn ZoriaRPG or as an retired moderator I will have to slap your wrist. Github is more then enough of a collobaration resource in itself. If you use it right that is.
    @Gleeok
    So he's the one who screwed me out of rewriting the enemy code you promised me. Good, now I know who to tie up in a spiderweb cocoon and feed to my babies tonight. Just kidding. Also open the ZC Dev forum to everyone already, my god what are you two waiting on, me to tell you to do it?
    @Saffith
    You should just put me in charge of angescript stuff if you don't care then.
    Take it down a notch. Please do not presume to think how staff may or may not intervene. No one here has any right to restrict free speech that doesn't violate our TOS. Mentioning skype is no more advertising than you mentioning all your furry/anime crap.

    It goes along way in collaborating to be patient ad understanding. There will be a great deal of transition before there is a solid plan and smooth cooperation. Let's not make things harder than they already are.

  6. #26
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,759
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.52%
    Quote Originally Posted by Gleeok View Post
    When you have a project that multiple people work on you really don't want to be working on the same thing, or sometimes even the same files. It's already complicated enough without having conflicts that can create bugs. It's not like it's random or anything. We've thought about updating the scripting engine and removing allegro for a long time. It's mostly straight-forward except in this case where I kind of forgot what's going on with the enemies. My bad.

    When I say 'replace' ffcs I'm talking about a more general mechanism for scripts to create scripts and handle game related stuff. For example: How many times have you created an ffc that has NO COMBO data set because you just want a script to run. I'm guessing lots. Also there would not be 32-per screen limit and there would be no memory or runtime overhead for scripts that you do not create.

    As far as docs go I probably wouldn't read them anyway.
    I wholeheartedly agree, but I'm not sure where that came from... That applies most to closed projects though, as with open projects, especially on Git, you can compare changes submitted by multiple people, and utilise whatever parts of them you wish. It creates an ever-outward-spiralling changelog; and it is absolutely a pain in the arse.

    Anyhow, this is why I usually limit participants on projects that are extremely complex, or I make everything modular as hell. If you want to glimpse what I've been doing for the last three years...

    https://github.com/ZoriaRPG/RPG_zh/t...ha-Development

    Lots of files there. Thank goodness I have a documentation volunteer for all of that mess. Sort of like you do for this, except that I can never get a full, straight answer, when I need one to do any real work on internal code docs. :p

    No complaints about a new object that allows that kind of thing, as long as classic ffcs are retained. I'd also advise prebuffering the classic ffcs only on screen loads to solve the mem issue, but we both know how complex that would be. Warps are the real problem. I have ideas on how this could work, but it's not high priority for me.

    Between you and Saffith, you probably don't need such documentation, bur if you want people to contribute to this, we pretty much need those types of reports, to know what the flidd is going on. I glanced through some of the AngelScript stuff, but I have no idea how much is actually working, what works at all, or how much is in use, and not there as a placeholder, and what is next on the agenda.

    Really, a simple plain text file that lists wat's working, not working, planned, and paused, would be good. Some list of what aspects need assistant / contrib coders, would also be good. Otherwise, multiple people will be working on the same things, out of sheer ignorance.

    Quote Originally Posted by Tamamo View Post
    @ZoriaRPG
    No more Skype Talk, quit advertising that shit on agn ZoriaRPG or as an retired moderator I will have to slap your wrist. Github is more then enough of a collaboration resource in itself. If you use it
    Did I really need to put a <sarcasm> tag in my remark; because a Skype dev group would, while amusing, be so fundamentally flawed and impractical, as to be worthless, for something like this. That's why I said 'neverending'. Do you know how many messages you end up with, having only four, or five participants, after a month or two? It's flipping sickening.

    Sorry if you took that literally. Also, I know that neither Gleeok, nor Saffith use Skype, and I know that you don;t either...so, again, did I need a visible <sarcasm> tag, as i can always tack those on all over the place.

    On another note, if Microsloth keep ruining it, I may shift messaging paradigms too, or move to an open-source client for it. I already can't run it on any of the OSX systems that I use, or to which I have access, which ruined one nice feature of being able to run it on a remote machine, and use VNC to log in and chat. They're such a bunch of tossers...

    I do second the motion to make the dev forum public.

  7. #27
    Here lies mero. Died by his own dumbassitude.
    Join Date
    May 2011
    Posts
    929
    Mentioned
    102 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    5,527
    Level
    23
    vBActivity - Bars
    Lv. Percent
    13.96%
    @ZoriaRPG
    One facepalm away from the apocalypse hey chummer? But I'm with you we need a changelog before things spiral out of control and we start overwrite one anothers changes. I'll set one up in the New Dev Forums, by the way that's all we're getting. As those forums will always remain locked to Admins and ZC Devs only.
    Last edited by Tamamo; 01-31-2016 at 10:18 AM.

  8. #28
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,814
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,931
    Level
    33
    vBActivity - Bars
    Lv. Percent
    23.24%
    If it's hard to get definitive answers sometimes it's because we don't know or would have to go through files to find out. DN and some of the older devs knew a lot of the more obscure stuff.
    The angelscript on the c++ side is a lot of placeholders still. It mostly all works, unless you count the enemies always die after one frame as not working, in which case it doesn't. (I spent a minute looking into that but then I got distracted and optimized some stuff instead! roflcopter Fail. --whenever I see a misuse of std::map I turn into Mr.Furious from Mystery Men, which sucks because 99% of all use cases are misuses )

    If I sound grumpy it's just because I have a lot of personal stuff going on and I literally lost sleep trying to get the open source stuff together before I have to go out of town for a bit, is all.
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  9. #29
    Here lies mero. Died by his own dumbassitude.
    Join Date
    May 2011
    Posts
    929
    Mentioned
    102 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    5,527
    Level
    23
    vBActivity - Bars
    Lv. Percent
    13.96%
    I'm on it @Gleeok , you know I love enemies. And I know that code as well as saffith does. So yeah

  10. #30
    Here lies mero. Died by his own dumbassitude.
    Join Date
    May 2011
    Posts
    929
    Mentioned
    102 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    5,527
    Level
    23
    vBActivity - Bars
    Lv. Percent
    13.96%
    @Saffith
    Is there a reason the constructor for the ASEnemies doesn't reproduce this?

    Code:
    enemy::enemy(fix X,fix Y,int Id,int Clk):
        sprite()
    {
        d = guysbuf + (Id & 0xFFF);
        
        bgSFX=sfxMgr.getSFX(d->bgsfx);
        hitSFX=sfxMgr.getSFX(d->hitsfx);
        deathSFX=sfxMgr.getSFX(d->deadsfx);
        
        x=X;
        y=Y;
        id=Id;
        clk=Clk;
        floor_y=y;
        ceiling=false;
        fading = misc = clk2 = stunclk = hclk = sclk = superman = 0;
        grumble = 0;
        yofs = playing_field_offset - ((tmpscr->flags7&fSIDEVIEW) ? 0 : 2);
        did_armos=true;
        script_spawned=false;
        
        hp = d->hp;
    //  cs = d->cset;
    //d variables
    
        flags=d->flags;
        flags2=d->flags2;
        s_tile=d->s_tile; //secondary (additional) tile(s)
        family=d->family;
        dcset=d->cset;
        cs=dcset;
        anim=get_bit(quest_rules,qr_NEWENEMYTILES)?d->e_anim:d->anim;
        dp=d->dp;
        wdp=d->wdp;
        wpn=d->weapon;
        
        rate=d->rate;
        hrate=d->hrate;
        dstep=d->step;
        homing=d->homing;
        dmisc1=d->misc1;
        dmisc2=d->misc2;
        dmisc3=d->misc3;
        dmisc4=d->misc4;
        dmisc5=d->misc5;
        dmisc6=d->misc6;
        dmisc7=d->misc7;
        dmisc8=d->misc8;
        dmisc9=d->misc9;
        dmisc10=d->misc10;
        dmisc11=d->misc11;
        dmisc12=d->misc12;
        dmisc13=d->misc13;
        dmisc14=d->misc14;
        dmisc15=d->misc15;
        
        for(int i=0; i<edefLAST; i++)
            defense[i]=d->defense[i];
        
        bgsfx=d->bgsfx;
        bosspal=d->bosspal;
        
        if(bosspal>-1)
        {
            loadpalset(csBOSS,pSprite(bosspal));
        }
        
        bgSFX.startLooping();
        
        if(get_bit(quest_rules,qr_NEWENEMYTILES))
        {
            o_tile=d->e_tile;
            frate = d->e_frate;
        }
        else
        {
            o_tile=d->tile;
            frate = d->frate;
        }
        
        tile=0;
        
        // If they forgot the invisibility flag, here's another failsafe:
        if(o_tile==0 && family!=eeSPINTILE)
            flags |= guy_invisible;
            
    //  step = d->step/100.0;
        // To preserve the odd step values for Keese & Gleeok heads. -L
        if(dstep==62.0) dstep+=fix(0.5);
        else if(dstep==89) dstep-=fix(1)/fix(9);
        
        step = dstep/100.0;
        
        
        item_set = d->item_set;
        grumble = d->grumble;
        
        if(frate == 0)
            frate = 256;
            
        leader = itemguy = dying = scored = false;
        canfreeze = count_enemy = true;
        mainguy = !(flags & guy_doesntcount);
        dir = rand()&3;
        
        if((wpn==ewBomb || wpn==ewSBomb) && family!=eeOTHER && family!=eeFIRE && (family!=eeWALK || dmisc2 != e2tBOMBCHU))
            wpn = 0;
        
        dummy_int1=0;
    }

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Armageddon Games is a game development group founded in 1997. We are extremely passionate about our work and our inspirations are mostly drawn from games of the 8-bit and 16-bit era.
Social