Pages: [1] 2 3 ... 11
  Print  
Author Topic: Android port  (Read 126690 times)
pelya
Member


Cakes 6
Posts: 395


WWW
« on: June 15, 2012, 07:53:23 am »

I want to port OpenArena to Android, and put some advertisements inside (in the menu/scoretable, not in the actual game).
I believe the license allows that, however I would like to get some approval from the developers and community (or at least to know I won't be blamed).
And I would like to give 20% of the money back to the OpenArena developers (I don't think it will be more than $20/month).

There are already three Quake 3 ports on the Android market (or Google Play, as they call it now), each one of them is paid to download and based on the Kwaak3 engine (I'll use parts of it too).
They follow the common control scheme of Android 3D shooters - you're dragging your finger to rotate the camera and aim, you're tapping to shoot (or there's a dedicated shoot button).
My port will be free, and with touchscreen-optimized controls (hopefully).
The basic idea is borrowed from the Destroy Gunners game - you have a crosshair that follows your finger all over the screen (along with shooting your gun there).
Dragging the crosshair to the screen edge rotates the camera (there are dedicated on-screen buttons for rotating camera in the Destroy Gunners, they are inconvenient so I won't be copying them).
Also it has the third-person view, which gives you a wider look at the things happening around you (if you consider third-person view a cheat, I can assure you that touchscreen controls cannot ever possibly beat the mouse in 3D shooters, and I'm not adding an aimbot).
I will add a bit of accelerometer control - tilting your phone will instantly rotate the camera 90 degrees, so it's more for a quick maneuvers, not aiming (aiming with accelerometer is a pain).
Another addition is a weapon selection buttons, located around your crosshair/finger in a ring-shaped list, you will press them with another finger (I'll probably make previous/next weapon buttons, and dedicated buttons for rocket, railgun, gauntlet, and sniper view). Also there will be usual weapon selection buttons near the screen edge (although I've kept missing that button in Destroy Gunners, it's hard to switch your focus away from crosshair during game action).
And of course there will be on-screen joystick for running and jumping, you can't make a touchscreen-oriented 3D game without a joystick.

I think I'll have something to show at August, also no promises that I'll succeed and the result won't suck.
Edit: You can download it here: Google Play, compiled binaries and source archive, SDL for Android, OpenArena engine, OpenArena game logic, compilation instructions
« Last Edit: December 15, 2012, 03:09:05 pm by pelya » Logged
kealper
Nub


Cakes 0
Posts: 9



WWW
« Reply #1 on: June 15, 2012, 05:00:48 pm »

Hmm... If you get the go-ahead for this, it could turn in to something very nice... The ability to play on normal OA servers against PC players would be very cool, though if that were to happen, the Android game client would have to provide some sort of simple aim helper (similar to the ones in console FPS games) so the PC players won't curbstomp the Android players.

If it's done right and advertised in places, it could also help bring new blood to the game.
Logged

GrosBedo
Member


Cakes 20
Posts: 710


« Reply #2 on: June 27, 2012, 10:24:00 am »

The idea might be nice and indeed bring a new audience, but is it really fair to make such an application paid, and in plus that you keep 80% of the benefits just for porting it, when the dev did all the work (except your port ofc)?

Making a port is nice, but if you're going to monetize an opensource projet, it needs to be carefully thought out and it better be done in a fair way.

/EDIT: also it might be redundant with Zeus Arena.
Logged
PopeJo
Lesser Nub


Cakes 12
Posts: 105



WWW
« Reply #3 on: June 28, 2012, 12:03:49 am »

The idea might be nice and indeed bring a new audience, but is it really fair to make such an application paid, and in plus that you keep 80% of the benefits just for porting it, when the dev did all the work (except your port ofc)?

yes it is fair.
you can look it up in the license, the dev's have agreed to. http://openarena.wikia.com/wiki/DeveloperFAQ

if it brings big loads of money a donation can be considered. but you shouldn't try to turn the GPL/public domain against those who make use of it.

it is actually very nice from pelya to offer some share on the income. and as it, in all likelyhood, wont be 10.000 bucks, but rather 10 bucks a month, he will get out of it, it is just a friendly gesture anyway.


..sry if this sounds a bit harsh .. I just woke up. there's no offense ment  Azn
Logged

Gig
In the year 3000
***

Cakes 48
Posts: 4235


WWW
« Reply #4 on: June 28, 2012, 12:33:44 am »

Of course, it should be GPL'd, too (and you cannot forbid other people to sell it, too).

And I read somewhere that very, very few app developers get much money from the apps... only those very popular!
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
pelya
Member


Cakes 6
Posts: 395


WWW
« Reply #5 on: August 12, 2012, 01:47:07 pm »

A bit of progress here - I've made an alpha version, it's not playable yet, and some textures are shown incorrectly. It runs on my Galaxy Note with rather bad FPS (like 5-10 FPS when bots are around). Also, no ads yet. It's based on the Undeadzy ioquake3 sources, and uses ioquake3 renderer.
The sources are here: SDL for Android, OpenArena engine, compilation instructions

The idea might be nice and indeed bring a new audience, but is it really fair to make such an application paid, and in plus that you keep 80% of the benefits just for porting it, when the dev did all the work (except your port ofc)?

Making a port is nice, but if you're going to monetize an opensource projet, it needs to be carefully thought out and it better be done in a fair way.

/EDIT: also it might be redundant with Zeus Arena.

No one can prevent you from compiling your own version without ads from my sources, an even publishing it on the Google Play.
Did you manage to get the sources of that Zeus Arena game by the way? The app extracts them into 7z archive, which is either broken or password-protected, anyway they are pretty much inaccessible.
« Last Edit: November 26, 2012, 01:55:14 pm by pelya » Logged
GrosBedo
Member


Cakes 20
Posts: 710


« Reply #6 on: August 26, 2012, 09:28:23 pm »

I didn't know that you planned to keep the sourcecode available on the web, nice initiative!

About Zeus Arena, no and I did not even play it (my old phone will be quite mad at me if I force it to run such a game). The only sourcecode on the web that I've found is this one (now unavailable it seems so I attach it to this thread). It's v1.0C compatible with Xperia, but it seems that now Zeus Arena is v3.0a, which sourcecode you can download from Google Play or here:

https://play.google.com/store/apps/details?id=zeus.arena.source&feature=more_from_developer#?t=W251bGwsMSwxLDEwMiwiemV1cy5hcmVuYS5zb3VyY2UiXQ..

But I guess that's what you're talking about, with the broken archive. You may try BlueStacks to install it on your computer directly and try to unpack it on your filesystem, maybe it'll work better, or if that still doesn't work, you can always buy the game and ask for the sources, the dev will have to comply since it's necessarily GPL'ed.

Good luck for your project, I hope it will turn out as you expect.
Logged
pelya
Member


Cakes 6
Posts: 395


WWW
« Reply #7 on: November 30, 2012, 11:27:51 am »

Some news here - I've made a playable beta version. I would be glad if you try it and give me some feedback.
Enabling hardware floating point in compiler options did wonders to the framerate - it's now between 20 and 60 on my Galaxy Note.

There are three ways to control the camera - touch near the screen edge, accelerometer, and multitouch.
Shaking your phone on the side will make camera rotate 90 degrees instantly, tilting it will rotate the camera gradually.
While shooting, touch the area to the left or right to the crosshair with second finger, that will make camera rotate, touching below or above will toggle switching weapons or sniper view.
If you need to jump - tap the joystick, there's small delay between your releasing joystick and your game character slowing down, so you can jump while running without losing speed.
There are your usual pack of on-screen buttons above joystick, they will toggle weapon, toggle sniper view, show scores, and toggle QWERTY text input (you can invoke Quake console by typing ~ or ` there).

I'll work on this port for one more week or two, before publishing it, it still has some bugs - it does not draw any helping hint about multitouch controls, controls are not configurable yet, in-game chat is not working, camera rotates too fast in sniper mode, and I want to make railgun shoot when you release your finger, not when you hold it, so you can aim precisely.

I've decided that I will not use advertisements, because it's too much trouble for me (I don't want to visit my local citadel of bureaucracytax agency), so I'm offering OpenArena devels to have all the revenue - just register at http://www.google.com/ads/admob/ and give me your publisher ID.
I don't mind publishing it without ads either, however if I'll do that, I won't be able to add ads later, because that will irritate users, so I would like to hear your decision about ads in two weeks.

Every online server I've tried to join uploaded me it's own .qvm files, and that of course breaks touchscreen support, so I guess I'll have to change the network ID of the game, so that it will see only Android servers.
Also, I've added an Arachna skin from this thread to the installation, I wonder why you didn't add it to SVN yet, because it's awesome.

Edit: I've released an updated version (0.8.8.05).
I've disabled accelerometer controls, they are of no much use (I've tried to play while walking, that was awkward).
I've tried to use two additional buttons for turning camera around, but that was also not very comfortable.
So I've settled with one big button above the joystick, which will point camera in the direction you were running to before clicking that button. It won't activate if you're sliding your finger from the joystick - you have to let go of the joystick first.
That kind of controls are comfortable to me, but they definitely need some time to get used to, and I don't know if other people will like it that way, so your comments and suggestions are welcome.
« Last Edit: November 30, 2012, 07:12:58 pm by pelya » Logged
fromhell
Administrator
GET A LIFE!
**********

Cakes 31
Posts: 14479



WWW
« Reply #8 on: November 30, 2012, 05:58:47 pm »

I wonder why you didn't add it to SVN yet, because it's awesome.

My policy is to only add things posted by authors in the SVN Commits thread.
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
mogadishur
THIS ONE POST HERE SHOULD DO IT.


Cakes 0
Posts: 1


« Reply #9 on: December 03, 2012, 10:27:25 am »

Nice job!

Seems to work really well, but is it possible to have it run like ordinary OA? I use an android-stick(MK808) with a keyboard and mouse, so it's much like a regular PC and would be better fit to ordinary OA.
Logged
pelya
Member


Cakes 6
Posts: 395


WWW
« Reply #10 on: December 03, 2012, 10:59:29 am »

You cannot play it like "ordinary OA", even with mouse, because when you move mouse to the edge of the screen, you're done, and your crosshair won't move any further - Android does not allow application to capture and re-position mouse, and it does not report relative mouse movement, only absolute coordinates.

Maybe it will be possible in the future to play with keyboard, but this is low priority for me - you can use Kwaak3 to play OA with keyboard (actually, there's no other way to play it). My main priority are phones and tablets.
Logged
pelya
Member


Cakes 6
Posts: 395


WWW
« Reply #11 on: December 15, 2012, 03:13:59 pm »

I've published my Android port to Google Play. Also I've made a handy source archive with all repositories, it can be downloaded here.
Logged
Peter Silie
Member


Cakes 2008
Posts: 610



« Reply #12 on: December 16, 2012, 04:13:56 am »

Great work!
But what about using the gyroscope to improve movement? I realy dislike the movement on all FPS so far.
Imagine the fun you could have, if you move your phone/tab to the direction you like to watch!
The crosshair is alway in the centre of the screen. You just need "keys" for actions like run, shoot, weapon select and so on.
This is an os project, so you are free to try this new way of control.
This is what i mean:
https://play.google.com/store/apps/details?id=com.google.android.stardroid
Logged
MegaAIM
I DERAIL BY PLUGGING MY CHANNEL AND COMPLAIN THAT ITS REMOVED
Nub


Cakes -8
Posts: 32


Why shoot the corpse once, if theres 50 in my gun?


WWW
« Reply #13 on: December 16, 2012, 10:09:35 am »

Ive finally gotten a chance to download this .apk file, zeus arena wasnt working anymore. Ive installed the file and ill post here for some feedback on my experience with it.

EDIT: As far as i got was to the start men. It appeared blocky with large box text it was hard to see what exactly the words were. Im sure it could be something wrong on my part, the phone I installed it on is Pantech Crossover anyone feel free to say what could be wrong.

Looks like it could be a really good addition to the Google Play store !
« Last Edit: December 16, 2012, 10:29:53 am by MegaAIM » Logged
pelya
Member


Cakes 6
Posts: 395


WWW
« Reply #14 on: December 22, 2012, 10:03:53 pm »

So, a week have passed, and OpenArena gained a paltry 191 downloads on Google Play (to compare: SuperTux, a much simpler game, got 471 downloads in a week after release, and I've put much less effort in that port).

I've played some of the "competitors" games (that is, other Android 3D shooters, there are surprisingly many of them, if you search for "FPS shooter"), and fixed the swipe-to-aim controls, so that you can aim while shooting. I've even made them the default controls, because that control scheme is very common. I still think my control scheme is much better for closed or semi-closed maps, however big open maps, such as wrackdm17, will benefit from swipe aiming, because you're doing more sniper-things on such maps.

Speaking of maps - I'm finding most OA maps very inconvenient for touchscreen, because narrow corridors and sharp corners and hard-to-climb sidewalks suck. I've went through DM maps, and picked five of them for my dedicated server: pul1duel-oa, am_underworks2, am_galmevish2, mlca1 and wrackdm17. (pul1duel-oa is quite small for 16 players, on the other hand noone visits my server anyway Cry ) So, it would be nice if you'd advice me some more maps, suited to mobile devices (open maps with no lava and no cat-walks preferred).

But what about using the gyroscope to improve movement? I realy dislike the movement on all FPS so far.

I've tried a simple accelerometer left/right controls, and they've failed. Here you're proposing a complicated gyroscope controls, and I think they will fail even more miserably.
Google Sky Map may work okay with gyroscope, but it's not a game, and there are very few game concepts that work okay with tilt controls (Papi Jump, Naught, and that tower-building game which name I've forgot).
So, I'm challenging you to try this game with "Motion controls" option, or this hilarious game. And now imagine you need to rotate your phone 360 degrees... while sitting on a toilet Tongue


Eh, that device has 3.5 inch screen, I was thinking of something with at least 4.3 inches when I was porting OpenArena. At least you can navigate menus using the arrow keys.
Logged
Neon_Knight
In the year 3000
***

Cakes 49
Posts: 3657


Trickster God.


« Reply #15 on: December 22, 2012, 10:15:11 pm »

Perhaps for that port you might want to take the "UT Console Version" route and include some GPLd small maps which aren't included into OA but which will fit better to the overall system of that port?

The console versions of UT scrapped the big maps and included many console-exclusive small maps which fit better with those ports.
« Last Edit: December 23, 2012, 12:08:47 am by Neon_Knight » Logged


"Level Designers are 1 part architect, 1 part artist, 1 part game designer, and 1 part beta tester!" Cliff Bleszinski
Want to contribute? Read this.
MegaAIM
I DERAIL BY PLUGGING MY CHANNEL AND COMPLAIN THAT ITS REMOVED
Nub


Cakes -8
Posts: 32


Why shoot the corpse once, if theres 50 in my gun?


WWW
« Reply #16 on: December 22, 2012, 11:07:08 pm »

Quote
Quote from: MegaAIM on December 16, 2012, 11:09:35 am
Pantech Crossover

Eh, that device has 3.5 inch screen, I was thinking of something with at least 4.3 inches when I was porting OpenArena. At least you can navigate menus using the arrow keys.
So im guessing im a bit shut out from this Tongue
Logged
pelya
Member


Cakes 6
Posts: 395


WWW
« Reply #17 on: January 04, 2013, 04:08:31 pm »

Thanks for the link, however small maps do not play well with touchscreen - I need some big, open maps, like this one (it's a video of a another Android 3D shooter, it was published at the same week when I've published OpenArena, and those bastards already have 1M downloads  Cry ).
Logged
pelya
Member


Cakes 6
Posts: 395


WWW
« Reply #18 on: January 25, 2013, 10:26:17 am »

I've added support for PlayStation 3 gamepad, it should work though with any gamepad, which has two analog sticks, and which is recognized by your Android device (most gamepads work with USB-OTG cable, I did not try Bluetooth).
You'll need Android 4.0 or newer to support analog sticks.
My impression from playing with PS3 gamepad is not that good - it seems to be easier to play with touchscreen, however you'll probably get used to it over time. Also, I did not try to play other 3D shooters, would be nice to check how competitors implemented gamepad support.

Also I've compiled a special PC-compatible Android build, you may use it to join PC servers and get humiliated there (I've just been told "pelya has mouse sensitivity 0.1 lol" on some random AfterShock server, then I've miserably died).

My future plans are to add two more types of touchscreen control, which are minor variations of the default swipe controls, and to add support for gyroscope aiming, as Peter Silie suggested (I realized I have to try it first before I can really tell if it sucks or not, also gyroscope is way more accurate than accelerometer which I've tried to use before).
My more ambitious plans are adding VoIP support (requires adding support to SDL and Java layer), and 4-player split-screen mode, with the help of Spearmint engine.
Spearmint (formerly ioq3ztm) is a heavily modified ioquake3 engine (both engine and VM files), with split-screen support, it's used for Turtle Arena game, and it also supports the original Quake 3 data files.
Did anyone tried to run OpenArena on Spearmint engine? How many differences are there in OpenArena, compared to ioquake3 code? I guess most differences are cosmetic, OpenArena does not change Quake 3 gameplay a lot.
I hope I can get it working when Ouya will be released.
Logged
Neon_Knight
In the year 3000
***

Cakes 49
Posts: 3657


Trickster God.


« Reply #19 on: January 25, 2013, 10:37:53 am »

Never heard about Spearmint. I might as well try it.
Logged


"Level Designers are 1 part architect, 1 part artist, 1 part game designer, and 1 part beta tester!" Cliff Bleszinski
Want to contribute? Read this.
Peter Silie
Member


Cakes 2008
Posts: 610



« Reply #20 on: January 25, 2013, 11:14:10 am »

Works fine on my tablet.
I am curious about the gyroscope version Grin
Logged
Gig
In the year 3000
***

Cakes 48
Posts: 4235


WWW
« Reply #21 on: January 25, 2013, 12:13:46 pm »

Pleya, maybe a way to tell if your PS3-gamepad controls are responsive enough, could be to play a little of Q3 Revolution, if you have a PS2, or a PS2 emulator (there are even USB converters to attach DualShock/DualShock 2 (PS1/PS2) controllers to the PC). You may somehow compare the "feelings"...


PS: About the differences between OA and ioquake3, you mentioned gameplay. Gameplay is managed by game logic (see OAX thread), and OpenArena added various features to it. However, it's also true that there are some features use both gamecode and engine improvenents, IIRC. I'm sorry I have to go now, however I'm not very expert in such things..
« Last Edit: January 25, 2013, 12:20:21 pm by Gig » Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
pelya
Member


Cakes 6
Posts: 395


WWW
« Reply #22 on: January 28, 2013, 08:51:17 am »

Some more news: Android release reached 5000 downloads on Google Play, and we've got a second dedicated Android server, located in US east coast, thanks to a generous guy named CyberXZT.
There are still not many people playing daily, hopefully that will change, as more people download it.
Logged
Neon_Knight
In the year 3000
***

Cakes 49
Posts: 3657


Trickster God.


« Reply #23 on: January 28, 2013, 09:00:38 am »

Perhaps adding more maps or a mappack as DLC might work?
Some special versions of current maps can even be done to adapt to the portable gameplay.
Logged


"Level Designers are 1 part architect, 1 part artist, 1 part game designer, and 1 part beta tester!" Cliff Bleszinski
Want to contribute? Read this.
pelya
Member


Cakes 6
Posts: 395


WWW
« Reply #24 on: January 28, 2013, 10:10:59 am »

I don't want to push some specific maps onto users (except oa_akomdm3, when we'll get the final version), I would rather make users to pick up the best maps, and I'd just add them to the game directly (and I'll be happily coding the game engine instead of playtesting each map found across internetz).
I can make an optional download package, if you'll tell me which maps to include, SDL already includes the download dialog, so it's quite easy.
Logged
Pages: [1] 2 3 ... 11
  Print  
 
Jump to: