Porting Android SurfaceView Game to Unity Engine on Android - android

I have a published 2D puzzle game (require drawing 400 small images in each frame) on Android developed using SurfaceView. Due to performance issues on some tablets and phones, I am forced to look at other alternatives. It looks like Unity is the best option. Before I do this, I have several questions.
Can unity provide faster and consistent performance on most of Android devices? (like drawing 400 items every frame)
Can I mix Android Layouts and activities with Unity
Activity. (What I mean here is can I just replace the game play part
with unity keeping the existing implementation of the game using
android layouts/fragments/activities)
Can I call google play in-app purchases from Unity
Game canvas?

1.If the images are very small then it might be able to. Use the the Image or RawImage component to display each image. If performance is still bad, you can use GPU instancing which has been made more easier to use in Unity lately.
2.You can write a Java plugin and load it from Unity or you can even write your Activity in Java with layouts and then control your Unity program from it. See this post for more information on that.
Even though it is possible, don't do it. Only write a Java code when you have to otherwise, you will end up with a game that works on Android only. The point of using Unity is to make a Game that works on most devices. Port all your code to C#. That's what I would do.
3.Yes, you can use google play in-app purchases in Unity with the Prime31 plugin or you can use Unity IAP that's easy to use and requires no plugin at-all.

Related

Is there a way to integrate a packaged game (Unreal Engine 4) apk into an application that is developed using React-Native?

We are a video game developing comapny that uses Unreal Engine 4 to develop games.
We have a client who has an application under development for both Android and the iOS on their own (we did are not the ones developing it for them). They are developing their application using React-Native.
We would like to develop a game for them using Unreal Engine 4. But, we would like it to be integrated into their application.
Is there a way to integrate a packaged game (Unreal Engine 4) apk into an application that is developed using React-Native?
Thank you
Unreal.js and Unreal-UMG seems the best fit for your needs. I had written Unreal.js in ncsoft and it is being maintained by my former colleagues on ncsoft.
Unreal-UMG lets you write UI logic with React and the rendering is being delivered by Unreal slate subsystem (All the features of UE are accessible).
If you are wondering about producing and releasing games built on unreal.js to the real market, it might be worth to watch this Video (although the vid is dubbed in Korean)
I think you can use the React-UMG module to a similar approach.
It's something related to unreal engine itself, as said here
And, you can use Unreal.js to something like this

Differences in developing for IOS and Android (Unity)

I am planning to develop a game both for Android and for IOS. My engine of choice is Unity as it is supposed to support both OSs. Is there going to be any difference at all in the development phase? For example, should I consider the OS in things like storing data like high score, or in things like input type? Or does unity provide an abstraction level for these things, and takes care of everything in the build phase?
Once you make a game in unity you can deploy that on many platform without doing any significant changes. However there will be sometime when you will need some part of your code only run on some specific platform, which you can do like this. Regarding saving data, this may depend on how you want to implement things in your code. You can use playerpref which is supported on all platforms or you can use third party sdk. I think this may have cleared your doubt.
A quote from the Unity website:
There are so many platforms you can deploy to with the Unity game engine, and their number is growing all the time. Build your content once and deploy at a click across all major mobile, desktop and console platforms plus the Web. Use the official Facebook SDK for Unity to integrate cross-platform games with ease, experiment with the Oculus Rift and more.

Port iOS game to Android

I have my iOS game and I would like to upload it to the Google Play Store but I have no experience with Java/Android programming so I ask if anybody knows a faster way to port an iOS game to Android without having to program all again.
Note: My game uses the Sprite Kit framework.
Thanks
as far as I know there no easy two click transition App for this. If you know the inner mechanics of the game, then it should be easy to rewrite it. Take a look at a libgdx for java.It supports needed libs and allows an easy android exports (http://libgdx.badlogicgames.com/)

Limitations of Video Capture in Phone Gap + Native Plugins

I am developing a mobile app targeting the iOS and Android platforms. The app will consist of:
A relatively simple 'user login/signup and listing of database items' type of interface, powered by an already built webservice from and existing web application.
A video capture and upload feature using native plugins.
I have done extensive research on PhoneGap for the last week, and have determined that even considering the well documented issues and limitations of PhoneGap, it is well suited for the 1st part of my app.
However, given the limitations of the PhoneGap Capture API ( org.apache.cordova.media-capture ), it is not appropriate for capturing video for upload, mostly due to the lack of control over video specs. (On most devices, video captures will be enormous HD files that are not suitable for upload, even on Wifi, and certainly not over 3g/4g.)
Given my resources and timeline, I've determined that building native apps in both Java and ObjC are impractical, at least for now. I have very little ObjC and Java experience, but I am fairly confident and eager to learn these languages if need be.
That said, I am considering 2 options:
The first, and probably most rational, is that I pick the platform with the greater market share of my existing user base (iOS), suck it up, and go native.
The second, and perhaps lofty option, is that I develop a hybrid app in PhoneGap, targeting both platforms, and circumvent the limitations of my video capture ability by building native plugins for Java and ObjC using PhoneGap's plugin API, thus reducing development time on the rest of the app, and using native code only where it's needed.
The requirements of my video capture plugin would be as follows:
Have complete control over the specs of the recorded video, most importantly resolution and bitrate. (Presumably with AVFoundation, and the like in Adroid SDK).
Control the user interface of the video capture functionality.
Obviously, I am aware that these tasks are very possible on both platforms when developing in the native api's as is evident by existing apps in the market. (Vine, etc..).
My real question, is what are the limitations, and issues with extending native functionality via PhoneGap's Plugin API? There are almost no examples of work done in PhoneGap with this level of native implementation of video capture. The one example I've found is this plugin, VideoCapturePlus, which although I haven't been able to get to work, seems promising.
I am especially interested to find out if anyone out there has successfully implemented native plugins in PhoneGap with this level of complexity, or if it is a rabbit hole I will wish I hadn't gone down.
I have essentially gotten to the bottom of this question, that I am sure others are and will face. I will address the topic in 3 parts:
Can I do [something] in PhoneGap (as opposed to in native iOS or Android SDK)?
This is a question I'd imagine many developers considering the PhoneGap framework find themselves asking, as did I. The short answer is YES, YOU PROBABLY CAN.
How do I do [something] in PhoneGap?
Plugins! Here's the rub: Cordova (PhoneGap) in all it's brilliance is extremely limited in the way it accesses native hardware features, especially when you get into video/photo/audio capture.
This is where plugins come in. There are thousands of PhoneGap plugins at this point. Many are as simple as 4 lines of Java and Objective C to get over some simple thing that PhoneGap just won't do. Others are large projects with lifecycles of their own.
In my case, it became very clear very early on that I was not going to be able to build my app with the video capture functions that existed in PhoneGap. That said, I went shopping for plugins. By the end of my project it had taken 2 plugins that extended video functionality and four more to do other small various things I needed. In a few cases, the plugins I found did not have everything I needed, and I wound up contributing bits of code. If the projects are active on GitHub, I highly recommend this.
In the end, there were things I wanted to do that I could not find plugins for. I still have plans to build some of my own, but am not there yet. Bottom line: Outside of gaming and other 3d rendering applications, you'll be hard pressed to find something that can't be achieved with a PhoneGap plugin.
For those interested specifically in video capture, these are the 2 plugins that got me over the hump in my project:
VideoCapturePlus
Video Screenshot
Should I build my app that does [something] in PhoneGap?
Of course, this question is up to each developer, and what the goals of the app are. In my case, a simple app that among other things captures and uploads photos and short videos was quite possible. There are certainly cases in which the parameters and goals of the app make it such that native development is the best option.
That said, for most solo devs or small teams with limited resources and little or no Java or ObjC experience, the answer to the question, "Should I consider PhoneGap?", would be [in my best Jim Halpert voice], "Absolutely you should". As an added bonus, I will say this: In my case, the HTML5 layouts, and much of the front end JS that were used for both the Android and iOS versions of my app are largely reusable for the mobile web version of my app. Being able to maintain a single codebase for those three things offers efficiency that even larger resourced organizations shouldn't overlook.

Google playN vs android game engines

I currently developed 4 multiplayer games on Android using andEngine.
The problem is the engine is kind of dead(no commit in the past 8 months) and I'd like to start developing in another good engine.
I saw playN and it looks promising, but my target is only Android devices(maybe iOs).
So, if I target only mobile devices what are the advantages/disadvantages of using playN vs a specific android game engine.
Interresting question. Here is my point of view.
Personally, as a PlayN huge fan, I see anyway one disadvantage if you compare it with a specific android game engine. PlayN use only OpenGL ES 2, it's a real problem if you want to develop a simple 2D game with big compatibility. For instance, it won't work on Samsung ACE.
But, I see many advantages :
Testing. Testing is really great with PlayN. You don't have to load a heavy emulator. You load the test and you can play it in a native window.
The Maven generation is quite awesome ! All your project can be generated, tested, run with maven with simple command lines. I know it's more a maven advantage than a PlayN advantage, but PlayN is really well connected with. In two command lines you can create your project and test it (because it comes with a sample code)
You only want to develop for Android, that's great, but don't shut the door already. You can develop your game for android, test and publish it. If people like it, you don't have to do much work to publish it on iPhone the next month.
It's just what I think. I hope it helps.
I'm no expert, but from what I've seen in PlayN's website, you can't compare AndEngine to PlayN. PlayN is no game engine, it's a library to help you compile your game in several platforms.
By the way, you say there's no activity in AndEngine, but I've just checked and, well, it's not much, but the project seems to be alive in github.
Also, I would like to bring another engine to the discussion: libgdx.
I'm thinking of creating some videogame for android and I'm doing some research for game engines and so far the most promising I've found among the free engines is libgdx. What do you think about it?

Categories

Resources