Arsonide's Recent Forum Activity

  • The deque expression "at" is not working, due to the word "at" being reserved by Construct for some other purpose. I'm going to upload a new version in a minute that fixes that expression by changing the word to something else.

    EDIT: Fixed. New version is up - at was changed to Deque.element - remember that particular expression is 0 indexed, and that accessing anything that doesn't exist (this also goes for stack tops, and queue front/backs - though the only time that would matter is if the stack or queue is empty), will always come up as 0.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • So I disappeared for a week or so, had to take care of some real life stuff. So to make up for it, I whipped up three quick and easy plugins that give Construct users access to some fairly basic programming concepts. The data structures included in this pack are stacks, queues, and deques. There is a fairly comprehensive tutorial cap included. These structures are all one dimensional and sound extremely basic at first, but they open up many more possibilities than they seem to at first glance. I have given them the ability to store integers, floating point decimal numbers, and strings.

    A stack is a simple structure that can be visualized as a stack of dinner plates. It is one dimensional, and when you add an element, it is added on top. When you remove an element, it is also removed from the top. Therefore the more elements you add, the more you bury your first element. Your first element will always be your last one out of the stack.

    A queue is just the opposite. It's kind of like a line of people at the movie theater. When an element is added, it is added to the back. As elements are added, they are pushed forward, and elements are removed from the front. The first element you add will be the first one removed. Just like a movie line - unless someone cut in front of you.

    A deque is just like a queue, except elements may be added from either end, and removed from either end. The word stands for "Double Ended QUEue". It's pronounced "deck". When an element is added it is pushed towards the center of the deque. Deques also have a special property that stacks and queues do not - a stack and a queue only give you access to the top element (in a stack), or the front and back elements (in a queue). All of the other elements are stored, but you can't access them, like you would an array. A deque gives you access to any element in the deque. So it's kind of like an array that you can add elements to on either end. It's complicated - but if you play around with the included cap file, you will understand in time.

    You add elements to these structures using the "push" action. You remove them using "pop" actions. Then you can access the structures via expressions to see what is inside them.

    The interactive cap file will explain these concepts more than I ever could with text. So have at it! And thank newt for the idea - he gave it to me. Now I will start finishing up with Muse.

    Download!

    Donate!

  • This is juuuust about done. I just have one kink to work out, and the release of Terraria set me back a day.

  • That tutorial is relevant to any plugin you decide to make regardless of the sprite coloring stuff.

    There's a lot of "grunt work" for every plugin you design, outside simply what the plugin does. You have to explain to Construct what your plugin does, and how to present it to the end user. That's what ADDEXP will do. ADDEXP will also link up with a function you write in Expressions.cpp. That's where you want to place your GetKey stuff. You'll also have to define your new expression function within Main.h.

    ADDEXP is known as an "ACE Table Entry", particularly in your case the "E" in ACE. You want to pay attention to that particular part of the tutorial.

  • > ...Then I'll be completely free of future projects (sans a bit of patching), and I'll pick up Online full time.

    >

    You're done with void runner?

    My artist is having some trouble with his eye, so for the moment I have time to work on other things. I was referring to my plugin projects.

    Sorry, but personaly im againts these extra dealings.

    I rather pay a license right on begining Once.

    I am not sure what the royalty percentage is. I don't even think that is in the license. They are pretty lax on the Raknet forums about that stuff, in fact I think you personally talk to Rakkar about it once you hit that point. I didn't choose Raknet - David did. I'm just continuing his work. However, after seeing the power of the library, I don't see why you would not want to use it. There are a lot of less powerful libraries out there with more restrictive licensing schemes.

  • Like I said in IRC a few times. It's been hard to focus on Online with so many projects on the table. So I made myself a timeline. What I'm going to do is finish up Muse, then do a small one or two night patch job on the dungeon plugin to enhance it a bit. Then I'll be completely free of future projects (sans a bit of patching), and I'll pick up Online full time.

  • I have found the Construct community to be friendly unless met with hostility, in which case they respond accordingly. Either way - this conversation is off topic and should either end or continue in private messages with the appropriate parties.

  • Moving a bit slower with this one, some real life stuff going on. Right now I am working on the advanced word generator. It is an expression that accepts a rule to create a word from word "pieces". Not syllables but smaller parts.

    For a good idea how this will work check out the advanced interface on the site I got the idea from: http://www.rinkworks.com/namegen/

  • Now I've finally spent some time with this, I'm blown away.

    This takes so much of my current code away, and really streamlines the process.

    Over the next couple of weeks, as I try to implement this into my existing project (don't worry, I've backed that up ), I'll let you know if I come across any bugs.

    So far, I've had no problems with either performance or functionality, no matter how many levels I go down.

    Excellent work mate.

    Krush.

    Just keep in mind that this

    is

    alpha, and I do plan on patching up some things. (There's an extremely small chance that I may just move it up to release status as is, if nobody reports any bugs, but I doubt that will happen.) If I patch it, it may integrate seamlessly with whatever you've done, there's a chance that it may not however. So just keep track of everything you are doing, so if you have to redo it at some point it'll be easier.

    I'm glad you haven't run into any problems so far though! It worked pretty good for us, I'm hoping more people will find uses for it.

  • That method works amazingly well too! I've used it a few times now.

  • I don't like the lack of elegance of this since they change width and I have to move them every time.

    You could always automate this using a function object.

  • That's what I suspected. I've never been able to move the hotspot on a canvas away from the center. I'm not sure they even use hotspots...but don't quote me on that.

    Either they don't use them or it's a bug. For now you can try spawning them at an offset: Self.X + (Self.Width / 2), Self.Y + (Self.Height / 2), would place the top left at the position of the center.

Arsonide's avatar

Arsonide

Member since 5 Dec, 2007

None one is following Arsonide yet!

Trophy Case

  • 16-Year Club

Progress

16/44
How to earn trophies