Posted 28 December 2014 - 09:16 AM
- Comic Mischief
-
-
Posts:
3072
-
Joined:
22-October 07
-
Gender:Male
-
Location:Kathmandu, Nepal
-
Project:Who knows? Toss a coin, will ya?
-
Wiki edits:27

00
Well, I sure am watching this topic like a hawk. Construct 2 user here, going to take a look at the version Candescence linked (when I've updated C2, I'm still languishing on 1.78 or so because I haven't used it in months really) and see if I can contribute at all.
EDIT
Okay, I took a look at this and it's even rougher than the MMF2 version of Sonic Worlds. I wouldn't even know where to start, sorry if I had anyone's hopes up.
I do, however, have a few ideas on how to replicate Sonic-style movement using other means. I'll do some tests and get back to you.
This post has been edited by Jayextee: 29 December 2014 - 07:25 AM
Posted 07 January 2015 - 01:37 AM
-
Posts:
1504
-
Joined:
22-October 10
-
Gender:Male
-
Location:Sydney, Australia
-
Project:Construct stuff

00
Jayextee, on 28 December 2014 - 09:16 AM, said:
Well, I sure am watching this topic like a hawk. Construct 2 user here, going to take a look at the version Candescence linked (when I've updated C2, I'm still languishing on 1.78 or so because I haven't used it in months really) and see if I can contribute at all.
EDIT
Okay, I took a look at this and it's even rougher than the MMF2 version of Sonic Worlds. I wouldn't even know where to start, sorry if I had anyone's hopes up.
I do, however, have a few ideas on how to replicate Sonic-style movement using other means. I'll do some tests and get back to you.
You're better off doing that, yeah. I have tried using custom movement to do it, it didn't work properly for some reason. My Worlds porting attempt is hideously unoptimized anyway, and we need something more efficient that can actually run well with multiple players if required.
Posted 07 January 2015 - 03:34 PM
- ~~(_ _C^>
-
-
Posts:
66
-
Joined:
25-August 10
-
Gender:Male
-
Location:England, Surrey

00
All in all, the key problem in all of this is collisions. You need to make sacrifices and sometimes skip a collision test under certain conditions or something, especially if you're gonna want multiple players.
If there was interest, I'd love to share the base of my Sonic project, as I have made it with performance and optimisation in mind, maybe it could be of use to the community and maybe it could help educate some good practices when working with Construct 2. But it's filled with glitches and I created it without referencing anything at all, I plugged my own numbers in and made my own system using knowledge from what I have learnt the past few years (from reading, looking at Sonic Worlds, hacking, ect.), so it's not exactly accurate with how Sonic actually functions in genesis games or Sonic Worlds.
I also didn't make the engine with huge stages in mind, only small stages, so I'm not sure how well it would perform with big stages. I'm at work right now so I can't test anything but from what I know, the engine does not take advantage of collision cells but still maintains a high framerate (over 100fps for sure) on my computer (which is a computer that has a CPU that can't maintain constant 60fps on a full TF2 server [GPU isn't a problem]).
I'd say the core movement is only 70% completed, taking into account glitches that need to be fixed, a few more functions that need to occur (and potentially more optimisation), and some big alterations that need to be done to the collision detection (For example, sure there is wall collision, but the angle detection can detect very steep angles.)
To be honest, I'm pretty anxious to share anything that I deem as incomplete as I don't want people to reflect an incomplete mess as to what I am capable of.
This post has been edited by Jase: 08 January 2015 - 07:35 AM
Posted 08 January 2015 - 08:14 AM
- Comic Mischief
-
-
Posts:
3072
-
Joined:
22-October 07
-
Gender:Male
-
Location:Kathmandu, Nepal
-
Project:Who knows? Toss a coin, will ya?
-
Wiki edits:27

00
Right, quick post as I'm about to do grown-up stuff (shopping for boring essentials).
I was toying around with a combination of the 'physics' behaviour (to detect precise collisions and affect gravity) plus tilemaps in all the angles; separates, so that there's a 90 degree, a 135 degree, a 180 degree, and so forth so there's eight of them. There's a reason for this; what about adjusting Sonic's gravity (just Sonic - this is possible with the 'physics' behaviour) to match the tiles he's running up if he (a) meets a certain speed requirement and (b) is actually running, that is obviously 0 for the ground tiles, near full unassisted running speed for ceiling ones (with inbetweens for the others). In theory this would work, not had time to implement it yet (since I'm still putting the finishing touches to a certain Dreamcast game I'm making).
Just an idea.
Posted 08 January 2015 - 08:46 AM
- ~~(_ _C^>
-
-
Posts:
66
-
Joined:
25-August 10
-
Gender:Male
-
Location:England, Surrey

00
Hey Jayextee, I think the built-in Physics behaviour's gravity action affects
all physic's gravity for some reason. It's still a good idea to use Physics! :P
This post has been edited by Jase: 08 January 2015 - 08:47 AM
Posted 10 January 2015 - 07:37 AM
- Comic Mischief
-
-
Posts:
3072
-
Joined:
22-October 07
-
Gender:Male
-
Location:Kathmandu, Nepal
-
Project:Who knows? Toss a coin, will ya?
-
Wiki edits:27

00
I thought you could set the gravity of separate sprites (in much the way they can have separate timescales, so motion can be slowed for Sonic's sprite and not everything else to mimic underwater physics). I admit, it's been a few months since I touched Construct 2 though.
Posted 10 January 2015 - 08:44 AM
- ~~(_ _C^>
-
-
Posts:
66
-
Joined:
25-August 10
-
Gender:Male
-
Location:England, Surrey

00
Jayextee, on 10 January 2015 - 07:37 AM, said:
I thought you could set the gravity of separate sprites (in much the way they can have separate timescales, so motion can be slowed for Sonic's sprite and not everything else to mimic underwater physics). I admit, it's been a few months since I touched Construct 2 though.
I just checked it out, it's a bit weird and random but:
You can't change the gravity of individual physics objects. You get an action called "Set world gravity" in all sprites with a Physics behaviour applied. If you use this action, it will affect all physics objects, even if it's not related to the Sprite, just as long as it has the physics behaviour.
You can't change the angle of gravity, at all. Everything can either go down or up.
I think the best workaround is to "Set world gravity" to 0 and then manually create gravity at angles and varying strengths manually. (Throw all objects you want to do this with into a family, give the family some alterable values like Phys_Gravity and Phys_AngleOfGrav, then you only have to do 1 set of gravity events!)
If you or anyone wants to take the physics route, I'd highly recommend checking out this 3rd party physics plugin, called "Chipmunk Physics", that offers much more functionality (especially when handling collisions). I would have used this but I have physics intergrated deeply in my project and Chipmunk Physics was only in early development when I was beginning my project
https://www.scirra.c...physics_t110815
This post has been edited by Jase: 10 January 2015 - 08:44 AM