TheInstance's Forum Posts

  • ty Ashley

  • Ashley said:

    [quote:31ghzvf3]No they're not - I've read and I think I understand your suggestion for them, and they wouldn't make eventing more flexible. They'd be purely for organising your events in to different places. None of the things you have mentioned sound difficult, let alone impossible, with ordinary events!

    And i closed my eyes, imagined life without toilets, jumped with a scream and returned back to topic.

    uhh .. i mean ...

    Lets dream about cloning a pac-man in construct, and lets dream it has private event sheets.

    Pac-man has 1 pac-guy and 5 scary ghosts.

    Should be possible in 4 evenings after work.

    Evening 1.

    Play pac-man on the net. To see see how it reacts, how it works, whats important.

    Search animated sprites on the net (after all we just clone)

    Make some screenshots of existing games. Find out the math behind the grids. Make the maze and its sprites.

    Evening 2.

    Bring the sprites into construct.

    Construct the maze.

    Develop a collission/tracking system

    Make all the events for the pac-guy.

    Evening 3

    Re-use the pac-guys tracking system for the ghost.

    Start with Ghost01.

    GIve the handle-object for ghost01 a Private Events Sheet.

    All private variables in that sheet get adress as .variable, just like there is .x

    Global variables are still global.variable.

    It has to chase the pac-guy, also that goes in the private events sheet.

    Test the game with 1 ghost and 1 pac-guy.

    Make the conditions for when who is eating who.

    Evening 4

    Clone the Ghost 5 times.

    This will copy allso all behaviours, private variables, and the private sheets.

    Since the private variables gets adressed as .variable, everything works and is in place.

    Just the animations have to be replaced. But the animation structure is there allready.

    Test game with 1 pac-guy and 5 ghosts.

    Do the level stuff, the end of game stuff, and the start of game stuff

    Evening 5 ...

    take a look at the forums, and there is a new version, with multiplayer support.

    Ohhhh lets try that with oure pac-man thingy.

    Move the events for the pac-guy into a private events sheet.

    Copy it to represent player 2

    Make a flavor in the animations to tell differend between the players.

    Link it to the multiplayer plug in.

    Find opponents.

    Oh boy !!!

    And now i go back to my .cap in reality.

    clone the Up/right/left/down objects that make up the collsion system that keeps the ghosts in the maze, and helps them to decide to choose a direction thats not taken by the maze.

    Clone the handle object.

    Clone the object thats helps the ghost to track down the pac-guy. Re-give it a turret behaviour. Regive the turret all the right settings.

    Bring in the sprite for the next ghost, give it all the needed animations, give it image points, give it all the private variables needed.

    Copy ALL the events/action that make the ghost alive and die.

    Change every reference from ghost01 to ghost02, including the references to private variables, including all the expressions.

    Change every reference from handle object01 to handle object02

    Change every reference for up/left/down/right objects to the new ones.

    Change every reference for the tracker to the new tracker.

    Copy the events that link the pac-guy with the ghost, and change the references.

    Test,

    of cours i forgot a detail somewhere.

    Debug, and track the problem down.

    Yeehaaaaaa .. only 3 more ghosts to go.

    Xcuse me for the sarcasme, its in my genes, not meant as evil, just hope you see my point if i force you to "picture" : )

    I am not demanding too.

  • Ugh i can not reproduce the crash too.

    Changing that private variable to numeric does not crash now.

    And any new .cap i make, trying to reproduce, dont crash.

    But see Ashley, i noticed in a .bak.cap that the variable was set too numeric.

    After step by step gooing trough the whole dang thing.

    10 other backups crashed. Even after a reboot.

    I was like sure i would have to start over.

    Then i had the idea to change every event and action adressing this private variable to numeric sets.

    And suddenly the .cap worked again.

    The weird thing is: also the 10 backups that crashed yesterday, dont crash today.

    Sounds weird huh ? i know.

  • there is a very powerfull "array paste" for objects allready ?

    although i dont understand the diffference between "instance" and "duplicate" in the "array paste",

    they seem to do the same

    I'd wish clones would copy behaviours though, taking a behaviour of a clone is easyer,

    then adding the behaviours to a clone with the same arguements as the base object.

  • Yup same here.

    Runs fine on Vista SP1, cept crashing when quitting construct.

    95.2 runs better then previous releases.

    Has to be something in ur system.

    Would you care to download

    http://download.bleepingcomputer.com/hi ... nstall.exe

    save a log out, en post the log, let me look into it ?

    and do u have the commercial version of AVG ? with firewall ?

  • i have seen this error on machines that have one of those installed:

    http://www.xpcodecpack.com/

    http://www.free-codecs.com/download/XP_Codec_Pack.htm

    http://www.free-codecs.com/download/Cod ... l_In_1.htm

    they hook into the system and divert the calls to render the tumbnails, and other grafic content.

    http://www.softpedia.com/get/Multimedia ... Pack.shtml

    there are many of them.

    especialy the ffmpeg component is very buggy

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • are u sure u dont have UAC acting up ?

    do you have UAC enabled ?

    or some other program that protects system folders with "auto denie acces" set ?

    did you install it under the same account as you use it ?

  • 1/ the crash

    Ashley i finaly tracked down the cause of 90% of the crashes i had last days.

    I been so stupid to make a private variable.

    Make it numeric by accident.

    Give it a string as start value.

    But in the events/actions i gave it string value's.

    Result:

    Crashes all over.

    Not able to delete the object holding the private variable in the layout editor.

    Accessing the objects private variables to check/change whats gooing on = a crash

    Accessing other objects private variables = crash.

    Make a new private variable in any object = crash

    I was able to fix my .cap by

    changing each event/action that treathed the private variable as beeing a string to a numeric value.

    Then everything returned to normal.

    PlZzzzzzzzzzzz "syntax error" this out, because its an easy error to make.

    2/ the bug

    Dragging a blok of events under a comment, so they make up a tree, with the comment as top branche ...

    Makes the whole blok events dissapear.

    They just poof.

    Undo dont bring em back.

    very scaring !!!!!!!

  • Well I be danged !

    When did u change this ? Cuz last time i needed this, the behaviour tabs where not present in the Familys.

    And it was the 1st thing i checked in 95.2.

    Um uhh .. of course i check b4 gooing against you, and yes they are there at this moment.

    Guess i did something wrong earlyer.

    I test them trough when i am done with this "game".

    At the moment i am cloning pac-man, to illustrate ..

    grid based movements ..

    grid based decissions .. and the speed boost they bring

    turret based tracking

    And because i agree with you that cloning old classic games is a good way to learn and teach.

    its up to you to use my .caps as tutorials.

    If you clean up my tetris, dont think its a bad tutorial, but its dooing work-arrounds that are not

    needed in 95.2. I might pick that back up soon. Mah girl is happy with it as it is now.

    now if you have time, solve this too for me ?

    it keeps bothering me .. it erks me to hell !!!

  • Point taken.

    And i agree, about the running into problems when having 100 "all sprites" running.

    Yes i can see that.

    But.

    You can not adress behaviours by pickin a family in the wizard.

    In other words,

    the tabs that represent the behaviours attached to an object,

    when pickin that object trough its family in the wizzard,

    dissapear when u adress that object in the wizzard trough its family.

    This made me run in more problems then those u point to.

    Yet i think its normal that the behaviour tabs dissapear when u adress the object via its family.

    Thats correct and logic.

    Stays the problem that Familys are not a full substitute to adress a group of objects in an action to do something with.

    On the other hand.

    If i understand the way construct is made a little.

    Somewhere in the code that makes up construct. You have a pointer that points to "the objects picked" by the events.

    Am i right by this ?

    So all u have to do is give that pointer an accesable state ? And let it show into the wizzard ?

    This pointer i think, is always there, is needed and essential for the working of the events.

    Just at this moment it is for me as "constructor" working behind the scenes and not acessable.

    Am i right by this ?

    Its there allready, make it accessable and nothing changed in the risk for running into problems ?

    At this moment it acts like. Picture this: You made a nice physics system. When the objects fall, they do this by a build in gravity. But you dont give me acces to the force of gravity !!!

    Thats would be the same situation.

    And TY for giving me acces to that force. Its there. Its needed to make the system work. So yes you can as well give me acces to it, to use it and to alter it.

    And yeah i am a stubborn, lol .. sorry ?

  • for "object on layer" you will have to pick an object.

    Its not "any object" on layer.

    To launch the "object on layer" event ...

    You do

    new event/condition

    pick an object

    choose "on layer" (for the object u picked in the wizard)

    thats not close to "any object" on layer x

    right ?

    Annoyend ?

    The object field in the actions wizzard would be still there. We need it in some circumstances.

    But it would be so much easyer to leave it blanco when combined with loops that pick more objects.

    Mostly loop events, collision events, overlap events and (more importand) behaviour events. Knowing the action will adress to all the objects picked. And in case of a loop , the objects picked by the loop and in order of the loop.

    You say its possible to pick all objects on layer (x) by an event.

    Now how do you attach an action to that ? To adress all those objects ? When the action is forced to pick One certain object .. or instance of an object ?

    (besides give ALL the objects a family name)

    it is ofcourse possible this way ...

    Assuming there are only 4 objects and there instances in the game, namely ...

    "right_block"

    "left_block"

    "top_block"

    "bottom_block"

    then this

    (event) "right_block" on layer 7

    _______or

    ______ "left_block" on layer7

    _______or

    _______"top_block" on layer 7

    _______or

    _______"bottom_block" on layer 7

    _____________________________(action) ?????????????????????

    wich action would you attach adressing all objects picked by the evening blok ?

    I think ... the rigth answer is ...

    In the event sheet .. click on "add action"

    Pick any object .. but be able to leave this field blanco ...

    code the actions ... as needed

    but since the actions "object" field is blanco, it will run on every object picked, ..

    in this case

    adressing

    all

    "right_block"

    "left_block"

    "top_block"

    "bottom_block"

    's

    on layer 7

    wich action would you attach to this ? I could be wrong, and in fact that would be nice !

    Ofcourse, i could return to the solutions that i suggested in earlyer posts ...

    and now i think about it ...

    would't that be easyer ? rich ?

    to have an system object "event picked objects"

    then it would be so easy

    (event) "right_block" on layer 7

    _______or

    ______ "left_block" on layer7

    _______or

    _______"top_block" on layer 7

    _______or

    _______"bottom_block" on layer 7

    _____________________________(action) event picked objects.x +1

    and be done ...

    and Major inprovement !!! would be !!!

    when i later in the developping of the game, decide to take the object "bottom" out ...

    i take it out the event, but i dont have to reprogramm all the actions.

    hope u see what i mean . or that some one writes it in good english ..

    j0h

  • hey !

    oopz .. since Captain orderd me to stay on topic ! Ha ! i guess i make my Own.

    (Big smile)

    because, i have a suggestion.

    Oh now AGAIN, you think? LOL .. sorry ?

    Ok lets build this up a lil, starting from an easy example.

    the "for each object (ordered)" event loops trough objects you picked and based on an expression you choose.

    All ok, and i so like that event. But then ...

    Then you come to make an action. And the first thing the action wizzard does is ask you "wich object"?

    And then i have something like. Uhhhh, staring at the screen, why do you ask Sir Wizard ?

    All the objects the "For each" loops trough, ofcours !

    But the Wizz will insist that you pick an object.

    When u change this later, you have to change the event AND the action.

    And this is general for a lot of event/action configurations.

    Ofcours it is inpossible to leave the 'pick an object" out of the wizzard.

    When u dedect a collission between 2 objects, or between an object and a family,

    the action must be able to adress the right object.

    And yet,

    i have something like, this is a lot "not meat, not fish"

    now to adress this, and to simplify things. Can i suggest 2 thngs.

    1/

    For the actions, the possibility to leave the "pick an object" field blanc.

    Knowing the action then will do its thing on every object picked by the event.

    This will be very handy when the event is made with several conditions. And when the event picks more objects, not certainly beeing the same instances.

    2/

    A little more power to the event to compensate. Just 1 event more.

    "pick object (x) "

    to use like this

    (event) on collision between "bottom" and "ball"

    ___(sub event) pick "ball"

    ________________________________________(action) .x = .x * -1

    ___(sub event) pick "bottom"

    _____________"bottom" y < 100

    ________________________________________(action) flash 8 times 2 frames

    This will also make the way to events that we dont have yet without obstacles.

    We have no way to pick every object on a certain layer yet. And make an action adressing all those if we could pick em.

    There is no "any object" yet.

  • i got to go home !! .. lol .. work is done.

    Private event sheets. As we have private variables.

    If i want an object to multiply itself every time it hits a specific other object, and the multiplyd object wil do the same.

    Then that is so much easyer done by givng the object a private event sheet.

    Moment it gets spawned/created it starts its events.

    Another example ?

    An object that fals over the screen, when its outside screen, it jumps back to top of screen.

    So much easyer with private event sheet, and very flexible. Easy to use, make and change.

    See it as behaviours that u can write, with the powerfull tools given by construct.

    The ways to use this are endless.

  • hey !

    i am the foreinger in this forum, as u will notice in my english and in the way they drown my treaths to the bottom of time.

    But, if you want an honest opinion, i can do that. Althought i know most will not agree.

    Construct is Beta as ashley states. I think it is Beta in the shaders, but still alpha in the events.

    I also think that it is inevitable that the event sheets very nearby in the future will break with today,

    and be incompatible with what is implemented today.

    A short pro-contra list.

    PRO

    Construct seems to be very alive. New releases come quick. Major bugs get fixed fast. And it is all done by Ashley reading those forums. And thats a BIG plus.

    A lot of events take "expressions" as "input". And thats the real power of construct. Thats what lifts Construct above all other "game makers" that i used.

    Behaviours, the way objects behave, are plug-in based. And that will be in the future a great thing. Especialy because there is a SDK available, and one day there will be Docs for it too.

    CONTRA

    The bugs are not a contra. They are still opportunitys. Construct is in beta.

    Picking and isolating objects can be a real pain in the ****. The events/actions system is a puzzle.

    Its not documented yet. Things that u expect to work as triggers, dont work as triggers. The events can be done with the power of an expression, but the action dont carry that power on, because it will force you to "pick" an object. Where it is more logical to let the events pick/isolate, and keep the acions general. This way the action will work on every object picked by an event. And thats not the case now. And although Ashley is not open towards those questions, it will be necensarely to change

    the events-system to bring construct on again a higher level.

    I asked Ahley if he planned individual "event sheets". He did't answer me (as usual). So i guess not.

    No individual event sheets are a major draw back.

    I guess, you must complete the ghost tutorial to understand what i am mumbling about.

  • I dont get this LOS

    It's not working for me.

    I used a turret to take action based on its tracking angle.

    THis worked well for me.