MaorKeshet's Forum Posts

  • Hi all

    I am very close to launching a test version of my mobile game, Froogies At this point I would like to add stats mechanism that will allow me to adjust and improve the user experience and the game's "stickiness" and "virality".

    As I started to plan my stats mechanism, two fundamental questions came up:

    1. Stats Logical Structure

    In my game the player has to make the "Froog" jump and eat "vitamins". As the game goes along:

    a. the score goes up upon collecting vitamins.

    b. the "froog" might die (3 lives per game, and you may collect hearts that will get you additional life)

    c. new levels are opening up (with new types of vitamins)

    The questions that I'm trying to answer:

    1. How many times will the average user launch my game before leaving it behind for good, and over what period of time? (Retention data)

    2. What's the average session length?

    3. How many games are played over an average session?

    4. What's the average score on the 1st/2nd/3rd/10th game? What's the average level achieved on the 1st/2nd/3rd/10th game? (Progression/Time graph)

    5. How many lives are actually played on an average game?

    6. What's the average number of "special vitamins" that are collected on an average game?

    7. If the Share button is clicked - after how many sessions/games did it happen? what's the user's highscore at this point?

    What should a proper set of game stats include? On one hand, I want to know as much as I can about many different aspects of the game usage. On the other one, I don't want tons of data that is too complicated to analyze. Does anyone have a good example of a set of game stats that is proved useful? Is anything of importance missing on my list?

    2. Stats Technical Structure

    I read the related (limited) materials I found on Scirra's site and the conclusion is that I'm going to use Google Analytics plugin by Sun Temple.

    http://suntemple.co/construct-2/google-analytics-plugin/

    I'm expecting that most of my users will be kids 6-12 y.o. Kids at young age don't have their device online at many times (since they mostly rely on available wi-fi). This means that in many cases the data will be lost (if base on realtime mechanism only).

    I was thinking about a mechanism that stores the stats to a local webstorage when the browser object is not online, and sends the data to GA when online next time. The problem is that with such mechanism I will be getting two sets of data ("Realtime Data" and "Delayed Data") and these are going to be quite complicated to combine.

    Did anyone experience a similar mechanism? Any other ideas how to work around the "delayed data" issue?

    I would love to hear any comments and ideas regarding Game Statistics and Analytics, and turn this thread into a viable source on the matter. Proper implementation and utilization of Game Statistics is a key factor to success. unfortunately, most of the theory behind it is kept by the large gaming companies, and not available to Indie game developers. Lets change this!

  • try running the exported images trough pictureslash.com , i ALWAYS get improvements with that, expecially if i have some big images with much details and transparency then it saves between 30-50% of download size compared to the brute png compression of construct2.

    30-50% is very significant thnx for the tip. but this will only influence download time, not any run-time performance.

  • Thnx Ashley.

    BTW, this happened unintentionally while tweaking other settings.

  • thnx Lof

    Here's the sections on Ashley's tutorial that answers the question:

    [quote:3tjbkg28]The fact most images come out a power-of-two size has another benefit: some platforms, especially mobile ones, only support mipmapping with power-of-two size source images. Mipmapping is a rendering technique that basically enables high-quality downscaling, so objects resized small use real antialiasing to look better. This means after exporting some sprites may be able to resize smaller with better rendering quality on some platforms.

    Note that if you set the Downscaling project property to 'High quality', images on spritesheets are always padded out to power-of-two sizes in order to mitigate two minor rendering issues. This negates the memory saving of spritesheets and so should not be used for no reason. For more information see Memory usage.

  • Changing my settings back to medium quality on Downscaling resolved the issue.

    I must admit that I am quite puzzled by the fact that downscaling (which by nature uses less pixels than the native size) effects the memory usage in such a way (more than x2 mem usage! ). Ashley can you clarify please?

  • Thnx Since I focus on getting drunk at the moment I will look tomorrow. I did change some project properties...

    HNY

  • Hi and HNY all

    I have been working on a mobile game for the last couple of weeks, and I've been watching my memory usage carefully throughout the process. At some point today, while working on my event sheets, I realized that some of my sprites have doubled the utilized memory.

    I stripped down the project to a single sprite (both on my current project and on yesterday's project) and you can see for yourself.... on the "18Mb" project the sprite is 18Mb, while on the yesterday's version it is only 8MB! In both versions the sprite has the same attributes (Height/Width/Frame Count etc)....

    What am I missing here ????

  • Thanks Ashley

  • Ashley? Anyone?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • No idea, sorry. Not sure if this is possible.

  • As I said, in such case create a new folder inside Images folder and continue as described.

  • You can have any loader style you have in mind:

    https://www.scirra.com/tutorials/318/ho ... ng-screens

    If you only want to change the logo, replace project/files/loading-logo.png

  • But when I opened it again, the project didn´t load and C2 showed me an error: "Cannot find object texture file "xxx.png" in the project folder".

    I searched for that folder but it doesn´t exists so I don't know what to do

    This have happened to me in the past. There is a solution I've found, but is not always working:

    Inside the Animations folder of your project, look for a folder that is named with the same name of the last sprite you created. (It would be "Sprite" if you did not rename it from C2). If such folder does not exist, create a new one with this name.

    Inside the said folder create another folder "Default", and place inside it the PNG image you used to create the new sprite (source image). This PNG should be named "000.PNG" .

    If you are lucky, the project should now load without any errors.

  • Hi all

    I am planning a series of mobile games that are using speech recognition.

    The Speech Recognition Example capx was used to build an Android app (via xdk crosswalk, including Media, Audio and Capture permissions) and an iOS app (via Ejecta). On both apps I get the same poor result. "Speech recognition is not supported".

    I read few old threads regarding this issue but never a solution.

    Did anyone managed to use speech recognition on mobile?

    I'm mostly interested in a solution for iOS, but it would be also nice to hear about an Android solution.

    Thnx

  • This issue is indeed quite hard to follow since there are constant changes on C2 as well as on the wrappers end.

    I recently finished the development of a quite heave mobile app (~160Mb) using Ejecta wrapper for the iOS version. I followed the Ejecta tutorial by Ashley and this workflow worked for me fine.