Advertisement

Which engine for a mobile app displaying animations (with lots of levels)

Started by January 23, 2018 11:19 AM
2 comments, last by qwert123 6 years, 9 months ago

I am starting to build an app for Android and iOS and I want to do it with the right tools.

I started with html5 canvas, but it looks like it won’t work on older phones (low fps). So I would like suggestions on what tools/engine to use.

 

Here’s what the app will look like

The app will display some animation (e.g. a basketball bouncing off the wall and hitting other balls). This will be a simple 2d animation, but the balls will have to rotate 3d-like. User will watch this animation without any user input.

After carefully watching the animation, user will be presented with a multiply choice question. Based on his answer, he will receive a new level (new animation to look at). And so on it goes…

 

What I have so far

I have made a sort-of physics engine with javascript/canvas. With it I can create my animations in a drag-n-drop way and then output a file detailing this animation. Basically, the file describes linear and angular velocities and accelerations of each ball. For example,

Ball1:

     from (time = 0) to (time = 0.75), has:

          speed = (vx, vy),

          acceleration = (ax, ay),

          rotationalSpeed = (wx, wy, wz),

          rotationalAcceleration = (alphax, alphay, alphaz)

     from (time = 0.75) to (time = 1.14), has…

          ...

Ball2: ….

 

Using this information, it is easy to calculate the correct position and rotation of each ball at any time. All I have to do now is animate the balls. I need to be able to draw the ball (sphere with appropriate textures) in the correct position and correct rotation. And I need to achieve high enough fps doing this.

 

What I would like

I would like to take the animation details files (like the ones I described above) and import them as levels. Then, when user is at a certain level, I would like to show him the appropriate animation.

I need the app to be able to:

  • Animate smoothly (even on older phones),
  • display text description for each animation (describing what user needs to look at),
  • get user input after animation (multiple choice),
  • auto-select new level, based on all previous user results,
  • display progress charts,
  • have no problem handling 1000+ levels.

 

So here’s the question

What do I use to code this?

I don’t really care about the program language at this point. I do care about performance though. And I would like to use most (if not all) of the code for both Android and iOS.

I see no reason why Gamemaker Studio 2 or Unity couldn't both handle this.  The amount of levels is actually not really that big of a deal, especially if they are being loaded from data instead of being manually created(like separate rooms).  In both these 2 engines, the code would be the same across iOS and Android, except for if you do something with ads or in-app purchases or do something else out of the ordinary that wasn't mentioned in your post.

Gamemaker Studio is going to be a really easy way to do it compared to other options.  But the mobile exports have a price.  Unity on the other hand is generally harder to use, even for 2d, but is much more powerful.  It is also a free option unless you make too much money.  Gamemaker does have free trials though if you want to see if it would work for you before an investment.

There are other things out there as well, but those are the big 2 that I generally recommend for multi-platform development.  Unreal Engine 4 is also a thing, but I wouldn't recommend it for the simpler things like this.



Advertisement

Hi kburkhart84,

Thank you for your reply. I'm new to this, but from everything that I read this past couple of days I was thinking about Unity myself. I just wasn't certain as I have no prior experience with it. And there are so many options out there.

Thanks again

This topic is closed to new replies.

Advertisement