haypers's Forum Posts

  • Hey yall. So, I just finished the first draft of a new android game. I can build and play debug apk's perfectly. The app runs smoothly, and I have no 3rd party addons or plugins. Everything is straight from construct 3's editor. Today, I tried to export my first signed android app bundle. I made a new Keystore using constructs Keystore generator and took a screenshot of the passwords and settings I entered before I generated it. When I tried to enter the data and build the project, construct returns an error. The error box just says: "unfortunately your project failed to build...bla bla bla", and the error log, just contains the word 'error'.

    OK, I entered the passwords wrong. I tried three more times using the screenshot of the original passwords I entered as reference. Eventually, I deleted the Keystore, made a new one, and tried again, using all lower case passwords. I thought that may have been the issue. Nope. Same issues. I gave up on the android bundle, and tried regular signed apks. I got this error:

    EDIT: I had pasted the error here, but it was huge, and the error is actually shown in a screen shot down below, so I deleted it to clean up the topic.

    any ideas?

  • Ok, I've hit a bit of a wall. I know that it is possible (although a bit complex and janky) to set this up using firebase and some iffy tutorials. I really want a better solution to this. Is there no other way to store player data in the cloud? I mean, I only need to store a few numbers per player.

    How hard is it to host your own database, and read and write to it securely from construct 3?

    I did a little googling, and it looks as though you can host some 'SQL' databases for pretty cheap. I'd rather not do that, but if anyone has any experience, please respond.

    Also, has anyone ever used the scripting features to connect to google play 'saved game' services? That sounds like the best solution to this problem. From my research, It looks like the tools offered to me by google play are all I need if I have some way to access them. I don't really know javascript, and the fact that there are a few quirky limitations to the scripting features in construct 3 doesn't help. Is doing that possible? Maybe one of you could take a look and tell me if this is possible with construct 3's runtime: developers.google.com/games/services/common/concepts/savedgames

    It doesn't actually look that hard. I just need to know if it is possible before wasting my time trying to get it to work.

    Outside of that, I am really just curious about what the scirra team members would recommend doing to save player currency online somewhere. They usually know what the best way to go about things is. Let me know if one of you guys read this. I'd be curious if you had an opinion.

  • Sup man. Ya know, I never really did get the google play leaderboards to work well for me. I've begun to look into other services that use leaderboards. I haven't really worked on them at all in a long time. I had the same problem as you. Even once I had things working and had followed everyone's advice, I still had unanswered questions about how it all was supposed to work and be implemented. I'm still hoping someone will come along and send a screenshot of their code.

    I wish there was just better documentation to the plug-in and more features. I would love to use the cloud saves feature that android offers for instance, but I have no way to use it with constructs current setup (or at least that is the impression I am under).

    I freaking love to construct. I have used it for more than two years now. But there are a few things about it that I feel like are just missing. If construct had a better way to implement mobile game features such as leaderboards, saving player data to the cloud with like a firebase plugin, having a way to keep track of a players currency, or all the google play features,(preferably all in one super-simple plug-in) then I think I would praise their name until the day I die. Construct is by far the most useful and simple game dev platform I have ever used. But you can build a great game, and fail to make money off of it because construct 3 does not currently have a lot of the infrastructure that I want. I am currently trying to jump a bunch of hoops right now to get a system that keeps track of my player's currency data to work.

    IDK man. I'm sure scirra is super busy (bless those guys), but I feel like there are some end game features here that are missing.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Well, I took a look at this all today. Here's the thing: There are so many different ways people claim are the best to connect to firebase. I'm not convinced I really like any. A lot of the tutorials are messy, and a lot of them seem janky or use old plugins. Scirra referenced saving user data to the cloud in their manual chapter on In-app purchases. There must be a cleaner, simpler way. If no-one has a better way than I will proceed with trying to figure this firebase thing out. Thanks, aminhanifm. I will probably end up using that if no-one has a better solution.

    If you have another solution to saving player data to the cloud, let me know! Thanks yall.

  • Idk... Is it?

  • And, aminhanifm, is that link only for construct 2?

  • Ah yes... The ever infamous play fab and master collections. Dont get me wrong , thanks for the info, but I just can't spend any more money in this hobby rn.

  • I did a little looking into firebase tonight. I'm a little confused. Every man and his dog seem to have their own method of connecting to firebase. Some use other applications, some use plugins, and some use the scripting feature, and there seem to be a lot of hoops to jump through.

    What is the best way you think to impliment firebase? aminhanifm

    And if anyone else has input on how to impliment cloud data storage, let me know.

  • Darn. Sorry man. I wonder if fixing that is on scirra's radar. Idk. Good luck w/ future projects.

  • Sounds good. I'll check it out tomorrow. Thanks. If anyone else uses a different method, let me know, I'd like to check em out.

  • If it doesn't say multiplayer supported, then ya, it will prob never work.

  • I've made a mobile game before with the multiplayer pluggin. Never on Xbox. But let's try to figure this out. First, let's issolated some variables.

    On start of layout

    Browser if connected to layout - text append "internet connected "

    Multiplayer if supports multiplayer - text append " multiplayer supported "

    What does the text say if you run that on the x box?

  • Sorta. Unbounded scrolling allows the camera to move to any area, as opposed to bounded scrolling that restricts the camera to locations in the layout bounds. I think your problem is the 'fullscreen mode'. I always use 'letterbox scale'. Try messing with that.

  • Howdy yall. So, I've got a mobile app I building for android. I have added In-app-purchases before, but they were always non-consumables. I've never tried to add in-app purchases for consumable in-app currency. But I kinda need to for this game I'm working on. This is all fine and dandy, but now, I need a place to store the amount of in-app currency any player has, that won't be destroyed as easily as local storage. I need to save this number to the cloud somewhere, and associate it with their google play ID or somthing. I don't know any JS, but I'd learn a little if I had to. What I really need is almost like a cloud dictionary, where I can store In-app currency values for any given google play player ID.

    What services do you guys use to store cloud data? Can you host a little database with like google drive or something? IDK, I've heard of people doing that before. How do I go about saving player data to the cloud for as cheap as possible?

    Any info is appreciated, thanks.

  • awesome! this works great! Now, I will note that one of the reasons I am trying to do this myself rather than using the physics Engine is because I need as low CPU usage as possible to run on mobile. So, If anyone else wants to use this method like me, here is my set up:

    | Local number nx‎ = 0

    | Local number ny‎ = 0

    | Local number vn‎ = 0

    * On function 'bounceOff'

    * Parameter 'ballID' (Number)

    * Parameter 'angleOfWall' (Number)

    -> System: Set nx to cos(angleOfWall - 90)

    -> System: Set ny to sin(angleOfWall-90)

    ----+ Ball: Pick instance with UID ballID

    -----> System: Set vn to Ball.VelX × nx + Ball.VelY × ny

    -----> DebugText: Set text to "vn: " & (round(vn × 1000))÷1000 & " nx: " & (round(nx×1000)÷1000) & " ny: " & (round(ny×1000))÷1000

    -----> Ball: Set VelX to Ball.VelX -2×vn×nx

    -----> Ball: Set VelY to Ball.Vely -2×vn×ny

    This is a function I created that I can use to bounce the ball off any angled platform. It works great. Thanks R0J0hound. Now, because I am trying to go for as low CPU usage as humanly possible, I found that you can use that function and that debug text to get the exact values for nx and ny for any slant. Every angle has its own, and they only change if the angle of the slant does. So, If you find those values, you can set up bounces like this:

    + System: Every tick

    + System: For each Ball

    -> Ball: Set VelY to Self.VelY + worldGravity

    -> System: Set newx to Ball.X + Ball.VelX

    -> System: Set newy to Ball.Y + Ball.Vely

    ----+ System: newy > 1038 + (0.464×(newx))

    ----+ System: newx < 360

    -----> System: Set nx to 0.423

    -----> System: Set ny to -0.906

    -----> System: Set vn to Ball.VelX × nx + Ball.VelY × ny

    -----> Ball: Set VelX to Ball.VelX -2×vn×nx

    -----> Ball: Set VelY to Ball.Vely -2×vn×ny

    -----> System: Set newx to Ball.X + Ball.VelX

    -----> System: Set newy to Ball.Y + Ball.Vely

    -----> Ball: Set position to (newx, newy)

    ----+ System: Else

    ----+ System: newy > 1372 - (0.464 × newx)

    ----+ System: newx > 360

    -----> System: Set nx to -0.423

    -----> System: Set ny to -0.906

    -----> System: Set vn to Ball.VelX × nx + Ball.VelY × ny

    -----> Ball: Set VelX to Ball.VelX -2×vn×nx

    -----> Ball: Set VelY to Ball.Vely -2×vn×ny

    -----> System: Set newx to Ball.X + Ball.VelX

    -----> System: Set newy to Ball.Y + Ball.Vely

    -----> Ball: Set position to (newx, newy)

    ----+ System: Else

    ----+ System: newx < 29

    -----> Ball: Set VelX to -Ball.velX

    -----> System: Set newx to Ball.X + Ball.VelX

    -----> System: Set newy to Ball.Y + Ball.Vely

    -----> Ball: Set position to (newx, newy)

    ----+ System: Else

    ----+ System: newx > 691

    -----> Ball: Set VelX to -Ball.velX

    -----> System: Set newx to Ball.X + Ball.VelX

    -----> System: Set newy to Ball.Y + Ball.Vely

    -----> Ball: Set position to (newx, newy)

    ----+ System: Else

    -----> Ball: Set position to (newx, newy)

    That way, the computer doesn't need to calculate ny and nx for slants that you know will be common. You can just find them beforehand and plug them in. That condition is the formula for a slanted platform near the bottom of the game layout. It works great.

    That is essentially the entirety of the mini physics engine I just built. Works great.