mekonbekon's Forum Posts

  • Hi,

    I would approach such a course by covering the basics of design, development and production in conjunction with practical exercises:

    Design

    • The core interactive game loop between player, input devices, computer, and output devices - this helps cement the idea that it's important to consider all components of the game loop when formulating a design, especially the player's ability and motivation.
    • Mechanics (the building blocks), Dynamics (how mechanics interact) and Aesthetics (coating dynamics with emotion).
    • How objectives married with constraints provides challenge. How goal conflict arising from divergent objectives creates interesting challenges.
    • Using progression loops and difficulty curves as methods of introducing new mechanics and challenges.
    • Types of performance reward and the criteria that unlock them (typically accuracy, speed and consistency of challenge completion).

    Production

    • The stages in production pipeline: planning, development, testing, publication.
    • Planning and communicating a concept: how to use diagrams, flowcharts, spreadsheets and written descriptions to capture your concept and share it with others.
    • Organising a project: folder structure (I like to use the ABCD system: Assets, Builds, Code, Documents); naming conventions etc.
    • Estimating scope: getting into the habit of planning ahead and setting realistic targets.

    Development

    • Useful tools: project management apps, art and audio packages etc.
    • Construct 3 overview: the key features of the software; how the event system works.

    This should give the students a solid foundation from which to build simple games. The topics can be drip fed into the course as and when they're useful rather than overloading the students with all of it at the beginning.

    Practical

    I would allow the students to pick one from a selection of the example or template projects from the C3 start page and help them modify and develop that into a complete game. In individual lessons I'd focus on how to implement useful reusable components such as score systems, health, lives, timers, levels, splash/menu/pause/results screens.

    Depending upon available time and the ability of the class I would introduce more complex but very useful features of C3 like functions, arrays, dictionaries, families and containers.

    Finally I would cover adding "juice" to a game - using audio and visual effects and animations to enhance player feedback and make your game pop.

    Ideally I'd aim for them to have something that can upload to the Scirra arcade by the end of course, so they can share their efforts.

    Hope that helps :-)

  • Also:

    1) In your new number function you're using Array Cur Value condition incorrectly - it only works in conjunction an Array: for each XYZ element condition.

    2) The repeat may pick the same co-ordinates twice so you may only get one number in the array.

    3) Using int(0,3) won't pick 3 and may put a number on X=0 so when you slide it will disappear off the array.

    Here's an example that I think gets closer to what you're after:

    dropbox.com/scl/fi/nnv28podb8rkjijarylbl/slideArray.c3p

    Note that this only works if you're sliding to the left - if you change the slideX value to positive then there's a chance you can overwrite values as you slide, due to the order in which the For Each XYZ element condition proceeds.

  • No problem, happy to help :-)

  • The angle input field will only take an expression that resolves to a single number. If you are trying to set the angle of an object to point at the mouse position use the following in the field:

    angle(object.X, object.Y, mouse.X, mouse.Y)

    This will return the angle from the object to the mouse cursor.

  • I had a go at simplifying your code:

    dropbox.com/scl/fi/d8mnfmva8qu1wrl8sd8ry/spawnObs.c3p

    ...I've included comments in the code to explain the changes. The X positions that the objects spawn at comply with your current logic, although given the way you structured your events I'm not sure if this outcome is as you intended:

    In your event 4 you set g_posX to either 190 or 550; this means the first event in function makeobjs will not fire as g_posX is never 370. As a result your subsequent events are equivalent to setting g_posX using a single choose(190, 370, 370, 550) action i.e. 370 will be chosen twice as often as the other two positions. I've modified the actions to reflect this, but if that isn't what you wanted let me know what you need and I'll have another pop at it.

  • Hi, you need to place the conditions following the else into the same event block as the else.

    Also, if you're calling from a function you don't need the trigger once conditions.

  • The easiest way is to assign the Platform behaviour to the player and then increase the Jump sustain value in the behaviour's properties.

  • No problem, glad to help out :-)

  • Here's one way to do it, using platform behaviour to move the enemies towards the player and then bullet and rotate once they've been kicked:

    dropbox.com/scl/fi/zy3bahfs6g3escs7hovzl/KickEnemy.c3p

    arrow keys to move, space to kick.

    Tom

    mekonbekon free edition does allow you to export to the arcade

    Huh. Well shut my mouth! Thanks for setting me right.

    To be fair, I had a hunt all around the site before posting and couldn't see anything up front that indicated this was a feature of the free version, only a string of crosses against export options on the feature comparison list.

    I just had another look now, and the only reference I could find to this was at the end of the beginner's tutorial (HTML5 exports too it seems?). I'd have thought letting prospective users know they can publish and share their games in minutes would have been a key promotional point.

    A free trial version of a software is just a trial version... Should be used to test functionality, not create completed stuff.

    A critical part of that functionality is the ease with which the software handles publishing games. Personally, before committing to a subscription I'd like to be confident that the software can handle the development process from start to finish.

    Ultimately, the purpose of the free version is to encourage users to take out a subscription; perhaps it doesn't lead to a greater conversion rate after all, or the technical and logistical hurdles of restricting exports to just the arcade render it non-viable, but if being able to share a game easily increases that likelihood and it's not unfeasible to implement then it would be a feature to consider.

    But like I said, Tom and Ashley have their reasons for the current model and I'm cool with that :-)

    I'm sure Tom and Ashley have given much consideration over what features to allow into the free version, and if they are continuing to see steady conversion to subscriptions then there seems little reason to fiddle with the formula.

    That said, it's a shame that free-users are unable share a completed game. As such they miss out on an end-to-end development experience, which could be a incentive to upgrade to a subscription, and there's a missed opportunity for some free advertising for the platform. Maybe there's a way to restrict their exports to the Scirra Arcade, so they can share their games AND funnel traffic to the Construct site?

  • HI, Discord is fine, I just haven't been checking in over the weekend - apologies. I've left a message on there now.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You're welcome :-)

  • [Sprite] Set angle to angle(self.xLast,self.yLast,self.X,self.Y)