Feature requests (from an educational standpoint)

0 favourites
  • 3 posts
From the Asset Store
2D Tile Set
$2.99 USD
Tile map for your 2d platformer games, custom sets available on request
  • After having taught dozens of students how to use Construct over the past few years, there have always been a few conditions/events that are possible to implement with a combination of the current available ones, but perhaps that would be worthy of their own conditions/events? For pedagogical reasons, simpler is better, especially for students just starting out.

    For example, the Sprite object has the action "Move at Angle". This action could be accomplished using a combination of the "Set Angle" and "Move Forward" actions (followed by restoring the original angle if necessary), but having the "Move at Angle" event available streamlines the process nicely and makes the software more approachable and user-friendly for newcomers.

    So, without further ado, a few features that (in my humble opinion) would be beneficial to include (from an educational standpoint):

    1. In some of the movement behaviors (8-direction, Bullet, Platform), there is a condition called "Compare Speed". It would be great to have analogous conditions available for comparing some of the other values associated to the behaviors: for 8-Direction and Bullet "Compare angle of motion", for 8-Direction and Platform "Compare VectorX" and "Compare VectorY", etc. The particular use cases I'm thinking of is for switching between sprite animations when characters move in different ways, and it feels unintuitive to need to do this using the System event to Compare Two Values. (Especially after students get used to using conditions like "Compare X" or "Compare Speed").

    2. In the Properties pane for objects with Bullet behavior, I have found that students spend a lot of time looking for a way to set angle of motion (since you can set the speed of a bullet object here, it seems natural that one should be able to set a bullet's angle of motion as well).

    3. There are a few mathematical functions, namely the distance function and the angle function, each of which take in four parameters (two pairs of x,y coordinates). I frequently have students calculate the distance from one sprite to another or angle from one sprite to another, and so students often type things like:

    distance(Sprite1.X, Sprite1.Y, Sprite2.X, Sprite2.Y)

    or

    angle(Sprite1.X, Sprite1.Y, Sprite2.X, Sprite2.Y)

    Would it be possible to implement "abbreviated" versions of these functions that could be called as follows?

    objectDistance( Sprite1, Sprite2 )

    or

    objectAngle( Sprite1, Sprite2 )

    (The names aren't necessarily perfect, but they get the point across.)

    4. In terms of transitioning between Construct 2 and a traditional programming language (such as Java), one of the most important concepts is loops. The for-each loop an implemented in Construct is beautiful, but having come from a traditional computer science background, accessing the index variable in a For loop in Construct 2 seems "clunky", needing to access the value of the loop variable using "loopindex". What I would propose would be introducing a new condition: For Variable. When setting up this condition, you choose a pre-existing global or local variable (in the same way you choose an object in the For Each loop), and enter a starting index and an ending index (in the same way you enter them when setting up a For loop), and the value of the variable changes as expected.

    Well, these are my thoughts and hopes. Here's hoping Ashley is reading

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • They tried implementing a vector system in Construct Classic but it didn't go over so well, I guess largely because there was no instance reference so it was hard to get the picking correct.

    In C2 we have the index, but who knows how a vector would work in Javascript.

    An expression for objects is a nice idea, but it would have to be set aside if you had to use world coordinates.

  • +1 for the object expressions

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)