Jump to content
A 2021 backup has been restored. Forums are closed and work in progress. Join our Discord server for more updates! ×
SoaH City Message Board

Construct Usage


Recommended Posts

I honestly didn't feel like bumping a 5 month old topic. Anyways, has anyone practiced with Construct. I plan to dable in it sometime in the future. Has a built-in 360 movement, a ton of movements and ink effects. Python scripting,

which I understand is still good.

Link to comment
Share on other sites

Latest release (2 days ago) improved a lot...

My favorite part is the new physics engine that has been implemented (Box 2D) which is much better and faster than the old one. Supports more features to be implemented shortly... Best part is old stuff is compatible with this...

Also, some new UI features were added...

I did Commander Squiggles in Construct actually...

There is a showstopper bug still left, however, its damaging effect has been minimized.. There is still a saving bug where something causes saving to go into an infinite loop. However, Construct now catches it and prevents it from saving a multi GB file over your work...

Once that is figured out, Construct won't be far from a stable release, as that's the only real issue I'm seeing (and that blew up an old project, along with the filesystem crash...)

But they'll need help to find the cause...

And no, there's not only ink effects (FFP effects)... Don't forget the shader effects as well... And if you're good at writing shaders, your effect pool in infinite..

Animation system is still a bit meh... but it's high on the priority list...

I wish I had a project to show you, but like my Year's work with Sonic's Vacation, I lost all of that as well..

There are plenty of cool things in the upload forum and the my creations forum at the Construct site... http://scirra.com

Link to comment
Share on other sites

  • 6 months later...

Construct is pretty awesome for something that hasn't reached version 1 yet. A guy I know from their forums, last I checked, was working on a thing for Sonic-style loops, and one of the devs has actually told me if he succeeds, they'll make it a behavior or something.

On the other plus sides, Construct is open-source, free, and the devs are awesome blokes - they regularly turn up in the chatroom, too.

Of course, my project, Aria of Destiny, is being made in Construct. Needless to say, I love it.

Link to comment
Share on other sites

Hmm, actually, it would be better if they actually implemented contact points list for the Box2D physics system. With proper collision detection, we could create an awesome Sonic engine with it. (Basically, there would be no need for angle detection system, as we could find out the angles from the contact points, it would fix all the problems with the current system.

Link to comment
Share on other sites

Yeah, they don't have a features suggestion section for nothing. Considering I'm already registered on the forums, I might as well-Wait a mo.

(19:35:13) David: yeah it's a good idea, but will have to wait post 1.0 i'm afraid

(19:35:32) Candescence: Why?

(19:36:10) Shviller: Because reworking physics is a bitch. Always. :)

(19:36:45) Candescence: Touche.

(19:37:32) Candescence: ... Wait. It's just contact points. What's so hard about that?

(19:41:33) Shviller: Well, that depends.

(19:42:18) Shviller: If contact points are already implemented (say, just one of them instead of a full list), then refactoring would be relatively easy.

(19:42:25) Shviller: If not - you're SOL.

(19:43:24) Candescence: Hmm...

(19:45:20) Shviller: Well, imagine adding collision points to Construct's per-pixel collisions. Well, I dunno about Construct, but adding it to the collision detection libraries I saw back in the day would be very damned hard.

(19:46:35) Candescence: Well... Oi, Dave, can you shed any light on this?

(20:09:03) David: Physics is Ashleys department

(20:09:18) Candescence: Ah.

(20:09:29) David: well its me and ashleys department heh

(20:09:34) David: but he did the collision callback stuff

(20:10:13) Candescence: I see... So we might as well ask him?

(20:10:39) David: pretty much heh, we all know how he loves creating new features before 1.0 :P

(20:11:56) Candescence: XD

So, in sort, it's Ashley's department, so someone should make a topic in the features section... Or I could get lucky and end up chatting with Ashley about it.

Link to comment
Share on other sites

Box2D actually implements the contact points as it's on the library's API. They only would need to construct the callback class and add refactor it (Plus, contact points from per pixel collisions would be suicide, this is only suitable for the Physics engine).

Link to comment
Share on other sites

I actually chatted with Ashley, and he said that he's tempted to put all suggested features on hold till they've fixed the numerous bugs (according to him, it numbers at 110). It's still up in the air, though... BUT. Construct is open-source, after all, so if it's so simple, and if you're up to it, you can add said feature to it in a "custom build" of sorts.

Edit: Talking to Dave and Rich just before...

(20:25:02) Candescence: Hey, Dave. I heard from Damizean that contact points are in Box3D's library API.

(20:25:22) Mipey: COnstruct uses Box2D, I believe.

(20:25:35) Candescence: Exactly.

(20:25:39) David: Box3d lol

(20:25:47) Candescence: ... Whoopsie, typo. XD

(20:26:00) Shviller: boxxy2d

(20:26:06) Candescence: "Box2D actually implements the contact points as it's on the library's API. They only would need to construct the callback class and add refactor it (Plus, contact points from per pixel collisions would be suicide, this is only suitable for the Physics engine)."

(20:26:14) Mipey: Roxorboxors2D

(20:26:16) David: BOXXY!

(20:26:40) Candescence: However, Ash is unsure. I'm not sure if he is even aware of what contact points are, considering what he said... XD

(20:29:43) David: we have a collision listener used already which has access to a b2ContactPoint

(20:29:52) David: so I guess its just a case of storing point data appropriately

(20:30:24) Candescence: Wait, so could this be used in Construct at the present?

(20:30:26) Mipey: Is this stuff for the box rotating if an angle is hit?

(20:30:27) David: so you would have expressions:

GetContactPointx(index)

GetContactPointy(index)

GetContactCount()

(20:30:42) David: its not accessable to u guys no

(20:30:53) David: but it looks like we can impliment it

(20:31:04) Shviller: Hm, I guess those expressions would suffice.

(20:31:48) Candescence: Wait, so we can do contact points with expressions? Why not just go ahead and make it a full-on feature?

(20:31:53) David: ah theres more data in points :|

(20:31:58) David: i thought points would be points lol

(20:32:02) David: but they contain

(20:32:14) David: position, veleocity, normal, fraiction, restituation(elasticity)

(20:32:18) Mipey: DNA of aliens?

(20:32:23) Mipey: Aw.

(20:32:31) Candescence: Angle?

(20:32:43) David: angle is normal

(20:32:49) David: normal means angle i mean

(20:33:01) Candescence: Ah.

(20:33:01) Mipey: vector?

(20:33:21) Shviller: well, normal is a vector, but only it's direction (angle) is meaningful

(20:33:43) Shviller: normal is a 1-length vector perpendicular to the surface

(20:34:10) Mipey: I see

(20:35:01) David: yeah ur right it is a b2Vec2...which is vector

(20:35:07) David: but i can turn it into an angle

(20:35:52) David: i'm just not quite sure how it works heh

(20:36:03) David: like if u have a ball and drop it on the ground

(20:36:10) David: will the normal point upwards

(20:36:29) Shviller: ...or downwards.

(20:36:40) David: mm...experimentation will be the key heh

(20:36:40) Mipey: Direction of the impact force?

(20:36:52) Mipey: And you could get bounce angle from that normal.

(20:36:52) Shviller: pretty much

(20:37:14) Mipey: Or use it to push the object further

(20:37:18) Candescence: So, basically... Contact points have a variety of different purposes in this case?

(20:37:19) Mipey: Like playing Pool

(22:33:05) Candescence: Okay, before I knock off to bed, what's the chances of contact points getting into the next build?

(22:34:37) David: random(100)% chance :)

(22:34:49) Candescence: XD

(22:34:59) Candescence: But seriously.

(22:35:30) Mipey: I wouldn't have too high expectations... saves me from disappointments.

(22:35:33) David: well i'll pass it on to Ashley but he'll probably say its a post 1.0 feature

(22:36:31) Mipey: If it in your opinion simplifies the physics collision system, then it probably would be fundamental enough to be implemented. Otherwise... it might get tagged as feature bloat?

(22:36:32) David: which is starting to sound like our equivalent of 'it was programmed to do that' :P

(22:37:11) David: it wouldn't simplify or complicate, its just a feature...requires adding some new expressions and adding code into a callback

(22:37:11) Rich: we have a very strict list of features to implement before 1.0 tbh

(22:37:16) Rich: if we keep expanding it we'll never finish

(22:37:28) Candescence: It would work rather well to replace an angle detection system, for starters...

(22:38:25) Candescence: You could sneak it in, considering, as Dave said... "we have a collision listener used already which has access to a b2ContactPoint."

(22:39:00) Mipey: Is that list of features visible somewhere?

(22:39:01) Candescence: That, and contact points are part of Box2D's library API anyway.

(22:39:31) Rich: you're welcome to try yourself or find someone who's capable with Box2D, we'll provide the source

(22:39:32) Rich: yeah

(22:39:42) Rich: http://www.scirra.com/phpBB3/vi​ewtopic.php?f=6&t=1587

(22:39:47) Rich: it's a tiny bit out of date but mostly accurate

(22:40:01) Mipey: Oh, I somehow missed that!

(22:40:32) Rich: ok, removed 3 items from it :) promising

(22:41:31) Mipey: You can't be the best person in the world if you are a psyduck!

(22:42:34) Candescence: Perhaps Damizean is willing to help with that, he's a damn good programmer - he's responsible for several Sonic engines, including a fully-3D one.

(22:42:52) Candescence: Anyways, gotta go, night.

So, we might either see it in the next build, or post 1.0... Or someone could help with that, as Rich said. Feeling up to it, Dami? :3

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Honestly, it depends on if you're willing to create a custom platformer using the physics behavior, since to my knowledge it won't apply to the platforming behavior. And physics can be a fiddly little bastard. Still, the dev team's main focus right now is bug-fixing and getting a few major features out for 0.99. Contact points being implemented before 1.00 doesn't seem likely.

Link to comment
Share on other sites

  • 3 months later...

Sorry about the double-post, but this is important.

I just discovered by accident - Construct may have contact points with 0.99. I was asking on the chat if there was any way to detect contact at particular points. The response? "If you're not talking about physics objects, you're stuffed". I haven't personally investigated, but that would be that Construct may now be capable of a physics-based Sonic platformer with contact points, and since Dave already confirmed that contact points take angles into account...

Link to comment
Share on other sites

  • 2 weeks later...

Okay, I was wrong, sadly. Contact points have not been implemented. BUT...

goodnews.jpg

Good news, everyone!

Last night, I showed one of the devs, Dave, one of the many 360 engine tutorials on this site, and he proceeded to make his own version in Construct, using the new custom movement behavour, using a mere 6 events. And he also said:

With these new method in mind, I'll make some additions to the 'custom movement' so such functionality can be available in a much easier way.

We don't have contact points, but the next version of the custom movement will more or less be able to make it easier to make 360 engines in Construct!

Link to comment
Share on other sites

I downloaded the latest construct but it won't let me open the .cap file I downloaded from their forum. Says the file was created in a newer version of Construct that I've got, but the update and the site says I have the latest.

Edit: No wait nevermind. The website made me download the wrong file, I had 0.98.something when I need 0.99.something

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...