jwilburn's Forum Posts

  • 8 posts
  • The results are in. 0.006s on my laptop to load my dictionary file via JSON, 0.05s on my iPad 2 which is my slower device.

    Thanks so much for the feedback. This was a ton of help.

  • cklester - I tried your loop suggestion, but it had no affect on performance. Thanks a bunch for taking a stab at it though.

    R0J0hound - Outstanding! I tried your example and got a result of 0.07s on my laptop, 0.2s on my Tab 2, and 0.45 on my iPad2. Now to get it working in my own app.

    Thanks a ton for the help. I'll post results when I get it working.

  • Update, changing from INSERT to SET had no effect on performance. Trying to split up the array into 4 separate arrays now to see if this has any impact.

    Update #2, Broke the dictionary up into 4 files. It still takes over 30s to populate the arrays on the iPad. A noticeable improvement, which surprised me but still unplayable.

    As an aside, now all of the arrays report 0 for all queries. Same exact process as above, just with 3 additional dictionary files and 3 new arrays / instance variables, and I can't get the arrays to report the values of any of the cells. We had this problem on a different project a week or so back that my partner and I worked on for a couple of days before eventually tossing in the towel. Something about working with multiple arrays seems to cause them all to break.

    It could very well be a user error, but I'm just not understanding how it will work on a single array but as soon as we add the second array neither of them work any more.

    I'm out of options for speed optimization short of switching from an array to a dictionary but I can't really see how that would be any quicker.

  • Hi all,

    I recently published my first app. It was written using Corona and runs on mobile devices. The app loads a database of almost 10K words, a process that takes almost 2 to 3 seconds to populate on some mobile devices. It's nearly instant on my iPad 2.

    For my next app, I decided to use Construct 2 and re-use the word database. I created an array, and use AJAX to load the file (about 70K) which then populates the array with the words from the dictionary.

    The logic looks like this:

    <img src="http://chasingquarks.com/holding/capture.png" border="0" />

    This is essentially the same process that the other app is doing, however it takes nearly 10S to perform this task in Chrome on my desktop, and over a full minute to perform the same task on the iPad 2 over the wireless LAN.

    Can anyone suggest any tips for increasing the performance in Construct 2? I have a few ideas I'm going to test (switching from INSERT to SET, splitting the array up into multiple arrays, etc), but before I spend all night on this I figured I'd ask the experts for other advice.

    Also, will CocoonJS increase the speed of arrays on mobile devices, or is it mainly for increasing the performance of visual elements?

    Unfortunately the CocoonJS Player won't work on my Samsung Tab 2 7.0 tablet so I can't do any testing to see if the increase is boosted significantly on populating the arrays on mobile or not.

    Thanks for your time!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Thanks again for your reply Austin.

    "Is there a reason why you're not looking to the web at all and strictly focusing on mobile app stores?"

    There really is no short answer to this question that does it any justice. I'll try to be concise. :)

    I'm a home school teacher. My stack of upcoming game titles are aimed mostly at K-5, or adults who like word games / puzzlers. They're the kind of titles that don't really lend themselves well to in-app purchases. Although this is probably the most lucrative business model for app developers right now, I don't want to subject a 6 year old kid to an advertisement about ED or a popup asking him to enter his credit card number.

    This means selling the game outright, and my research has shown that parents are more likely to buy apps for their kids for mobile devices than they are web games.

    My business model is aimed more at creating fun titles that parents, especially other home school teachers, would not mind spending a nominal fee on for a mobile device. My wife and I spend a decent amount of money each year buying titles for my son to play on our tables. We've never purchased a web title.

    The flip side to this whole thing is that I'm just unfamiliar with the web game market in general.

    • How often do people purchase web games? I never have. I don't know anyone who has.
    • Say I just created a new game and put it on Clay.io. How much exposure is my game getting? How does that compare to Chrome Store? What's the benefit for me as a developer to sell through Clay.io over Chrome Store? when Chrome Store is likely getting 100x the exposure for my games?
    • How do I secure my web game? What's to keep people from stealing the code / assets and re-releasing it with a few tweaks?

    Scirra have made major efforts to give their Construct 2 developers options when it comes to exporting their games. If you look at the export options you'll see:

    • Metro (Windows 8)
    • iOS (via CocoonJS)
    • Android (via CocoonJS)
    • EXE
    • Chrome Store
    • Scirra Arcade
    • Kongregate
    • And talks of Mac OS coming soon.

    I think it's probably a bit unrealistic to expect my situation to be unique considering the amount of discussion on this site regarding CocoonJS, Awesomium, and other export options.

    Let's say I export my game to the Web, iOS, Android, Metro, and Mac OS. I sell 10,000 total, 2K on each platform. If I sold 2K of those apps through Clay.io, that means I have 8K customers using your network that you're not getting paid for. Now imagine 1000 developers doing the same, assuming we all decide to sell through Clay.io instead of Chrome Store. Those amount of gamers playing on your network without you collecting any money becomes quite staggering.

    For what it's worth, I know you said you're not interested in doing this, but I'd happily pay a membership fee for an UNBRANDED plugin that I could easily match the rest of my games looks with that provided the networking, data storage and social features you provide. I'd even be happy putting a Clay.io credits on the splash page along with my own logo. It would be more appealing to me from a design perspective to have the UI match the game, and it would be at least financially rewarding for you if you were making some profit from our non-web based customers.

    Something to consider either way. Thanks again for your responses and taking the time to read my concerns and questions. I like the idea of your service, I just don't want to feel like I'm taking advantage of someone. If you offer a good service, you should get paid for it.

  • "having consumers buy your game through our own marketplace rather than the others you listed"

    I don't think you understand. This is not an option, no matter how much anyone would like it to be. Let me try explaining the scenario.

    I have an idea for a game I want to make. I have no intentions of putting it on a web site. It's going straight to mobile. I'm going to create the game in Construct 2, and I'm going to export it to CocoonJS and build a native iOS and Android app, where I'm going to sell those apps on the Apple and Google Stores. Eventually the app will make its way to Metro as well.

    Apple and Google are going to take 30% off the top, and keep it.

    I cannot sell my native mobile apps on your site no matter how much either of us would like to. There would be no way to install them on the device even if you could. Mobile apps have to be acquired through the mobile stores. If I tried to use your in-app purchase tool to bypass the App Store, the apps would get rejected in the submission process. Neither Apple no Google is going to let someone bypass their stores, that's how they make their money.

    In this scenario you're effectively footing the bill for my networking services without any payment in return, and there's nothing either of us can do about it short of de-activating my app on Clay.io after it's already in the wild, which would cause a huge backlash to me as the developer.

    I apologize if I've hijacked a thread. I'm about to get started on my next game and I'm just trying to make sure that there are no surprises for either of us down the road. It would be devastating if the network somehow disappeared out from under a developer after their game was released, and it would be bad for you too if I had a lot of success with my mobile app and you didn't get a dime for it. I just want to make sure everyone's covered.

    If I'm overlooking something, please let me know. I think this is going to be a big issue for anyone looking at CocoonJS.

  • Thank you for the response, but I guess I'm still a bit confused.

    Say I create a game that gets 2 million active users (we can dream right), and it makes heavy use of the multiplayer functions, achievements, leaderboards, etc. Your servers would get absolutely hammered.

    The games I sell for mobile will be compiled using CocoonJS so the apps can get native-like speed from the accelerated canvas. Running the games through the browser on the mobile devices isn't an option as the games tend to run really slow in a browser on mobile.

    If I sell this game on the app store, Apple charges (and keeps) 30%. Same for selling an app on Google Play, the Nook, Kindle Fire, etc. Chrome Store also charges (and keeps) a fee for selling apps through their store. They're not going to give you any of this money.

    So how do you make money to keep the servers going if we don't sell our Clay.io powered apps through Clay.io's web site?

  • Wow Austin, I took a couple of weeks off since we first spoke in another thread. You apparently did not. Nice progress! Can't wait to dive into the multiplayer rooms.

    I have a question that may be off topic here. I'm coming from a mobile-only background. Web games are new to me, but I see you charge 20% for any apps sold (or in game purchases). With Ludei's CocoonJS build server coming soon, I'm really interested in the possibility of building web games that I can also build into a mobile app for iOS / Android.

    I'm making the assumption here that there's no way Apple or Google will approve a Freemium app on the store that bypasses their app stores and allows a user to do in-app purchases through Clay.io.

    Can you shed a little light on how someone selling apps through the mobile app stores, an .exe file, chrome store, etc. would be able to monetize their apps, and how that affects the 20% fees associated with Clay.io?

    Thanks for any clarification on the subject.

  • 8 posts