whitkin's Forum Posts

  • I am a 'normal' coder who still can't grasp when Construct works sequentially or in parallel.

    True or False?

    [] functions called from main run in parallel. (the action following the function call will be executed before the function returns)

    [] functions called from other functions run in parallel with main function

    [] sub-event blocks run in parallel. (they only run if conditions are met, but if two sub-event blocks have the same conditions, they will run in parallel)

    [] actions in a single sub-event block run sequentially

    [] conditions run sequentially within a single condition block

    thank you!!

  • My proposal is named "joshcrowd" and is half-baked and sprawling right now.

    PROCESS:

    1) Understand and Design:

    study users, identify big changes needed.

    2) build system.

    Scirra builds the structural changes and tools needed.

    3) run and maintain.

    Scirra launches and manages the new help system as it builds itself.

    PARTS:

    1) HELP SQUAD: To create good content, Scirra gets intermediate and expert users to spend time improving docs. This section sketches ideas for what might motivate such users.

    2) "Big Fixes": Scirra staff improve structure of help experience. Once big problems are confirmed with the docs experience, they build tools/process to enable HELP SQUAD to do the rest of the work.

    a) make the official manual, the hub of docs.

    b) make it easier and quicker for new/intermed users to access answers

    c) add new ways of getting help

    3) Create a FIX LIST: Work that the HELP SQUAD can do with little/no involvement from Scirra, once the big fixes are done.

    4) NERVES: get constant feedback on docs, and get it to those who can use it.

    ---------------

    HELP SQUAD

    How will Scirra recruit enough intermediate/advanced users to do all this work? Assuming these users don't want to donate their time for free, Scirra needs to strike a deal. What do these users want?

    1a) Scirra announcement: Anyone who we notice improving docs significantly gets...

    [] a "priority" email to Scirra devs

    [] a free copy of Construct

    [] credits in Construct

    [] listed as "recommended consultant" on Scirra resources

    [] to view and vote on priority of upcoming features

    [] to design a Construct feature that takes 10 hours for Scirra staff to implement

    [] exclusives - invitations to studio, conference elite treatment, etc.

    [] paid / income - e.g. a % of Construct sales.

    Just a brainstorm list here. identifying which of these are best is part of the "big fix" work.

    1b) Scirra can measure and display user community progress toward 1a) by repurposing/making community points and badge systems eg in forums

    ---------------------------

    2. BIG FIXES:

    Here, Scirra staff do some 'classic' UX design e.g. interview users to identify nature of big problems and make structural changes as needed.

    EXAMPLE ASSUMPTION: Users want to generally understand Construct's way, and will follow a tutorial to build some random sample game to learn it.

    EXAMPLE REALITY: Users don't want to grok Construct's way. Our journey is: Do a 'getting started' tutorial, then start building our game. Get stuck during building, look at help because we want to solve a specific problem.

    EXAMPLE SOLUTION: Identify top problems that stump beginners and intermediates. Add mini-tutorials for those problems. Improve access to help in editor, while coding (links on error messages? better error messages?)

    EXAMPLE MEASURE: Less forum posts from new/intermediates. Improved retention and usage of Construct after 30 days of download. more published games per user. higher user conversion rates.

    ---------------------

    3. FIX LIST:

    These are the hugely time-consuming tasks that the HELP SQUAD can do. They're mostly ongoing improvements to content not structure of help system.

    a) Discover the naive search terms users are trying in their attempts to find help. Fix them (SEO plus make a glossary) until users are getting to the correct heading in construct manual.

    b) Every sample code is cross-referenced and/or embedded in Construct manual. "for arrays of numbers example, see line 22 of Block-crusher.c3p here. for arrays from JSON, see line 393-444 of ghost-shooter.c3p here"

    c) Every forum post is reviewed and vetted. "WRONG VERSION" (if search originated from Construct 3 help system) or "OUTDATED" (if older than 5 years) or "PROBABLY WRONG" (for known inaccurate advice)

    d) Every good forum post in "how do I..." or other areas not already linked to manual is starred, and connected to the manual-linked forum topic. For example a post in "how do i..." about sequencing but titled "if/elseif" is linked to "Events" manual topic.

    e) Hugely expand the "best practices" section, by reviewing the feedback and reviewing the common queries in forum "how do i" and/or chats, github comments, other places.

    ----------------

    NERVES

    As with all design, we need feedback from docs users. We need 'little' and 'big' feedback.

    For 'little', we improve what works from other help systems: each help section adds a "I still need help". This records a negative experience, and frwards the click by giving aaccess to more help . Exmaples include:

    [] text chat with intermediates online now

    [] "someone will contact you ASAP." - a message sent out on user's behalf to help squad.

    [] AI-based glossary guessing "suggest looking at Arrays and JSON, see here"

    [] Google search "scirra" plus terms.

    end. whew.

  • EDIT: revised the "NEED" section, in response to Ashley's comment "we have 10k tutorials."

    NEED:

    TL/DR: "Docs are the weakest link in a great product, for at least a few paying users."

    Call me a "scripter learning to code games".

    - I've written a LOT of script code, ie tech art for games.

    - I have weak understanding of event-driven coding design/architecture. I have some idea of basics (core loop, events, etc) but haven't designed and built entire games professionally.

    - I buy licenses and 3rd party solutions (assets, plugins, etc)

    - I love Construct. It is well built and has good support for commercial output.

    - Construct's docs are the main frustration that makes me consider switching to another game engine. I'm spoiled by Autodesk, Unity, and Microsoft C# - ie well written reference docs. Here I find myself stuck often, and finding solutions is really slow (days to weeks). Details below.

    Is it just me? Maybe. I saw at least a few other users posting that seem like me.

    Is there no way to learn this faster? I know lots of senior users post "no avoiding the hard work of grasping coding". Maybe so. But wouldn't it be awesome if Construct was the fastest and best way to grasp it?

    Does Scirra already know there aren't enough users like me to justify effort? I'd like Scirra to have current data from a fair sample of their users, so they know if ...

    1) their most valuable users can be segmented usefully by shared needs,

    2) do docs work for EACH of these segments, so

    3) overall, their existing docs are sufficient or not.

    (maybe they have this already, and know there's no problem! I hope so.. I've seen a few other forum posts. How many folks like me are silently quitting?)

    MORE SPECIFIC NEED:

    Existing tutorials aren't working for me. They make sense by themselves, but hard to apply when I build my own game.

    The FAQ is where I thought I'd find official answers to common stumbling blocks that users like me hit -- 'greatest hits' from the forums, validated by Scirra staff. but it's very, very brief.

    - Search doesn't work for most of my needs. It's easy to search for "fog effect" but hard to name the terms to search for structure and architecture problems.

    - I sometimes find answers in forums or in tutorials, but like all forums, answers are incomplete, unofficial, and sometimes wrong or obsolete.

    - I use the manual a lot because I can find topics, but content is too terse. I wish it linked to more recent or thorough discussion of topic. I especially need examples of typical usages, and FAQ discussion ("I got the basics of Functions, but how does execution flow when multiple sub-functions run? Is why doesn't it...")

    DESIGN CHALLENGE:

    The need above is How can Scirra get us intermediate/advanced user to shoulder the burden of improving documentation? I will propose one solution in reply. Please, everyone on this thread, critique it there and/or propose your own ideas.

    REQUIREMENTS:

    1) measure the docs experience for new/intermediate users. Improve if needed.

    3) docs problems are addressed, with workload on Scirra staff same or less than now.

    Fellow users, answer this challenge, if you are so inspired, in a reply post.

    Tagged:

  • I also feel the need for improved documentation.

    Ashley's design (manual + tutorials) is logical in it sway, but not sufficient for a great new and intermediate user experience. (specific UX critique: new users need example code in the manual, either inline or referenced/linked, to each entry, as Microsoft and most developers do. There's too few tutorials and they're recipes for particular games, not generalizable examples and they're too often out of date. The forums have good content and solutions, but I can't find them easily enough. The forum search function is bad - sever-based search form means 10-second typical cycle in trying a search time - way too slow and annoying. Can't sort results by recent; have to redo search. also posts don't use consistent search terms that are clear to beginners. Agreed that the google solution ("scirra problem description") is the best I found but not sufficient.)

    A good solution will REDUCE the workload on Ashley and Scirra crew, so they can focus in building awesome new features, not support.

    How can Scirra get us intermediate/advanced user to shoulder the burden of improving documentation? I will propose a solution in a separate post. Please, everyone on this thread, critique it there and/or propose your own ideas.

  • I'm a medium-level Construct user, trying to understand how to build code that runs conditional logic in sequence.

    How do I add conditional behavior that performs sequentially?

    this is very simple in normal code: if BOOl1 then ACTION1 /elseif BOOL2 then ACTION 2 / elseif BOOl3 then ACTION3 /.../ end if.

    Construct seems to want to conduct ALL conditionals in parallel!

    DETAILS:

    I've got a card game. (nonworking partly done code on "play" event sheet: c3p)

    I am animating comparing 2 cards. Each card is a sprite belonging to 1 of 2 families. both families have the same 5 boolean variables. the booleans match icons arranged vertically on the cards. I want a sprite to move down the icons, one by one, and show a smiley emoticon if they match, and a frowny if they don't.

    Here's my current plan. It is not elegant (but may work, dunno yet). Is there a better way?

    I created a function that accepts two UIDs of the cards. It has these parts:

    1) selects and positions the cards, then 2) positions the highlight sprite over the first item. 3) if booleans match, show sprite "smiley" else show sprite "frowny" 4) advance to next attribute

    I am trying this by dividing the code by subevents, and incrementing a global number "sequential" to force subevents to run in order:

    a subevent conditions are cards match the UID parameter. it sets sequential to 0.

    another subevent condition is cards match and sequential is 0. it does 1) and 2) above, and sets "sequential" to 1.

    another subevent conditions are cards match, plus "sequential" = 2. It then does 3) and sets sequential 2

    Reading the manual on picking, I don't understand the following:

    Families pick instances in the event sheet independently of the object types in the family. For example, consider Family1 consisting of SpriteA and SpriteB. Conditions for Family1 will never affect which SpriteA and SpriteB instances are picked. It will only affect which instances are affected when running an action for Family1. Likewise, conditions picking SpriteA and SpriteB instances will never affect which instances are picked in Family1. In other words, in the event sheet families are treated like an entirely separate object type, which just happens to have instances from other object types. This can be taken advantage of if you need a single event to pick two separate lists of instances from the same object type.

    Is there any better explanation?

  • There is already documentation for the Instant Games plugin here, which also links to Facebook's official documentation for guides on things like testing and publishing. I also added a note to the top of the Facebook plugin documentation saying it's not compatible with Instant Games.

    Thank you! That note helps.

    There's still lots more that's unclear to me. It feels like answers are scattered among Scirra docs, Facebook docs, Scirra forums, other forums, some of which conflict with each other.

    So, I still wish for a tutorial written by someone who just got their first instant game working. As a newbie, I learn best from someone who just did what I'm doing. They know what isn't clear from existing docs (experts are too immersed to realize what newbies do and don't see!).

    (And, who will write this well? I still think Scirra would be wise to reward anyone who writes a good tutorial on a key topic. It's a lot of work, and steals time from making games...)

  • > Hi. I'm trying to display user's avatar in my FB instant game. Does anyone has experience with that? I've already added the Facebook plugin with appID and app secret. I tried to use it to log in then get user's avatar but it seems not work. Btw, I don't know if we need to log in when we already play instant game on our messages.

    >

    You are not allowed to use Facebook API in an Instant Game. No other API at all are allowed for fetching user data.

    So you should not use the FB plugin at all.

    (You should fetch the player photo via Instant Games plugin instead)

    THIS! WOW this should be in BOLD at the TOP of the docs.

    Ashley the docs for this are super confusing. I'm sure you're busy. Can you sub out documenting Facebook Instant Games 101 to fredriksthlm? reward him somehow for writing a tutorial, and make sure his tutorial is what newbies like me encounter? His forum posts are awesome but it's really hard to find and easy to find bad advice first.

  • > Ok thanks fredriksthlm I'll be working on getting my games onto IG over next few days.

    > Can I ask if you've had much success with your games? How's the revenue?

    For me, ecpm 1-4. Avarage 1.3

    THANK YOU for sharing!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • 2011 is when the tutorial below was written. Ie, isn't this VERY OUT OF DATE? Do you want beginners like me to look it?

    Check out Instant Games documentation in order to see what kind of files they expect, and publish accordingly.

    Apparently you have to make a Facebook app. So I guess this tutorial could be relevant : https://www.scirra.com/tutorials/58/how ... ebook-game

    Otherwise, as mentioned, the manual is updated on stabler releases, and I guess a tutorial could be written at some point as well.

  • QUESTION:

    Family FAM has variable SHED. If I create a condition FAM.Compare instance variable, the dropdown is empty. I expected to see SHED there.

    DETAIL:

    I've created a very simple card game.

    I created a few sprites.

    I created 2 families, DOG and FAM.

    I set sprites to families: DOG has 1 sprite. FAM has 3.

    I added a boolean variable "sheds" to both families.

    I've clicked each sprite in Families folder. I can see the instance variable sheds [DOG] or sheds [FAM]. I set each 'sheds' variable true or false.

    My layout has no sprites.

    OnStartLayout I System.create instance to create one DOG and one FAM (which I believe creates a random instance of any object in FAM family).

    Using System.EverySecond 0.1 I move it offscreen and destroy it, and create another FAM.

    I created a condition where DOG card overlaps FAM card. I want to add a second condition, if the FAM card has the same shed value as the DOG card, but can't

    First, I tried creating a condition CompareVariable on object FAM, but the dropdown list of variables is empty (I expected to see 'shed' since it's a FAM variable).

    Instead, I created the condition System.CompareTwoValues (DOG.sheds = FAM.sheds). This gives me wrong results (it matches cards whose 'sheds' is set different)

  • If you're a small indie dev new to HTML5 ad creation and wanting to run a little trial campaign, as I am, here's some "101" tips:

    1) Google Ads doesn't allow HTML5 ads unless you spent $1K, your ad account is 90 days old, and more. Scroll down support.google.com/google-ads/answer/1722096

    2) AppLovin site: "Want to leverage playable content? Just contact your AppLovin representative." I emailed them, and Ironsource, and asked for requirements re small indie devs. I'll share their answer once I get it if you ask.

    I'll try out Facebook next.