Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (499)
Games in Android Showcase (118)
games submitted by our members
Games in WIP (567)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1] 2 3
1  Java Game APIs & Engines / Android / Re: MicaByte Game Library: Android 2D framework for games (based on Canvas) on: 2014-08-07 19:16:39
Are you talking about the HTC Tattoo running Donut? Because I haven't seen or heard of one of those in the wild for many years now. But back in the days when it was around, I never had issues with Canvas on that one either. Granted, I hadn't implemented pinch-zoom at the time, but my first phone was the HTC Magic, and I kept that around for quite a while to ensure that it worked.

From my own testing, I'm generally not particularly worried about "weak" phones with small screens; the ones that worry me are the high-resolution devices requiring a ton of pixels to be drawn (and kept in memory, when doing the scrolling maps). But I'll cross that bridge when - or if - I have to.

The two main projects I'm working on at the moment:





The left one is an early draft of Pirates and Traders 2, sequel to my current game. TextViews and Buttons up top; SurfaceView in the center, ImageViews, TextViews and ImageButton at bottom.

The map is a ~6000x4000 pixels piece of art. Location icons and names, ships, and all the other icons are drawn over the Canvas as the game state evolves. P&T was limited to a 1500x1500 base map due to memory issues, but the BitmapRegionDecoder added in SDK10 and a few tricks makes it possible to implement the larger map sizes with - IMO - quite acceptable performance.

In addition to the maps, there are a couple of dozen other in-game views; you can see a few of them on the Facebook page. The character creation/stat/inventory views are probably the most involved, but they're not in a state that I am willing to show anyone yet.  Lips Sealed

The right one is a close to alpha version of a turn-based tactical battle game I'm also developing (I'm developing/testing it as a stand-alone, but the idea is to eventually integrate the game engine into P&T2). The code and art reuse is obvious in the top panel, I assume (I'm not commissioning UI art until the game is almost ready for release).

The bottom UI is a horizontal scroll view that allows the player to browse all their units (each unit "tab" is a couple of imageviews and textviews). One can press the tab to get a toast with more info about the unit, and long press it to replace the scrolling view of the army with detailed unit information of the selected unit (the latter also happens if you select a unit on the map). If the player plots an action, the UI shifts to give the player information about the consequences of that action, and finally if the action results in stuff (e.g., combat), the UI shifts to give information about the result. I'm actually quite proud of this - it's taken quite a while to come up with something here that I feel works well enough to actually work intuitively and provide the player all the information that they might need. I wouldn't have gotten as far with that, if I were trying to build a UI in something requiring more effort than the Android UI SDK does.

The map itself is a Hex tile map, though the current tileset is designed to be seamless, so it's not immediately obvious. Units are overlaid on top (figure by figure), the hitpoints bar is currently just a drawn line on the canvas. Works OK, though it still needs a little improvement. I've not spent a lot of effort on performance yet, so my current implementation in the game GCs way too much.
2  Java Game APIs & Engines / Android / Re: MicaByte Game Library: Android 2D framework for games (based on Canvas) on: 2014-08-06 16:50:01
I wouldn't insult real game engines by calling this an engine. Wink

It is, as I said, essentially a collection of convenience classes. If others find them useful; I'm happy with that. If not, that's OK too - I developed this for my own use.

Regarding your comments:

- As mentioned, so far the performance of Canvas has been sufficient for my needs. I don't need (or want) to do a lot of animations, and I've never received a complaint about graphical performance.

- I do games with complex GUIs and lots of text; something the Android UI works well for. Every game engine I've looked over so far makes it a pain to integrate with the Android UI (if it is possible at all). Often for good reasons (they want to be cross-platform, or are built for games that don't have complex UI requirements), but it also makes them essentially unsuited for my needs. Last I checked, LibGDX, they consciously made the decision to move away from supporting the Android UI (which I think was a shame, although I understand Marius's reasons for making that choice).

- Since the aims of all these other game engines are not compatible with my aims, I'm pretty sure that none of them miss my meager graphics coding skills.

Of course it is possible that I've overlooked some game engine that makes it a breeze to generate scalable UIs with multiple scrolling views in one layout, drop-down menus, and tons of text labels or can easily be extended to do all that.  Wink But I rather doubt it.
3  Java Game APIs & Engines / Android / MicaByte Game Library: Android 2D framework for games (based on Canvas) on: 2014-08-05 21:23:38
Cool to see that JGO has become relatively active again. Last I was around here, things were looking quite dead.

I know most people roll with OpenGL and 3D for game development, but if there are any here who don't, I released the MicaByte “Game Library” as open-source some time ago. It's available on Github. It's licensed under Apache 2.0.

It's essentially a collection of convenience classes that encapsulates some of the commong functionality that I've found useful while working on my games; an ImageHandler (WeakReference based cache), StringHandler (I do very text heavy games), a very simple MusicHandler, and a fairly complex SurfaceView implementation that handles HUGE images (I've tested up to 10Kx10K pixel bitmaps), and supports scrolling, fling and pinch-zoom on them. There's also the beginnings of renders to support tile maps (both hex and square based).

None of the code is either terrible original, or even very complicated. Most of it is either trivially simple, or stuff I picked up the ideas for around on the web. So I figured that if other can benefit from looking at my code (or even improve it), that alone is worth the effort of cleaning it up and putting it online. Also, I work with open-source for a living, so it's sort of in my DNA these days to just put code out there.

The code base is a bit dirty at the moment, as I've just recently moved things to Android Studio/Gradle and am still refining the libraries, but I plan to clean up the code and the example project in the coming months.


Why Android Canvas?

I work almost entirely in Java Android. That’s mostly a convenience thing – the time I have for game development is very limited, so I try to keep things as simple as possible in my "hobby" work. And say what you will about Android, but it's extremely easy to work with. As I recall, it took me a few weekends to create my first fully functioning Android game back in the day. It doesn't get much simpler than that.

There's another thing that keeps me sticking to Android of course, which is that I hate GUI and graphics programming. I'd just much rather spend my time working on the things that I find interesting: the game design, the game engine and the artificial intelligence. GUI and graphics are the dreary chore that I need to do in order to do justice to the rest. One of the things that I like about the Android framework is that it makes creating and editing flexible GUIs very easy. Very useful, if you - like me - create games with text heavy UIs and lots of tables and options.

Unfortunately, pretty much every game library for Android (and I’ve looked at most) aims for cross-platform compatibility, and in the process essentially end ripping out pretty much everything good about Android. They also tend to focus on full-screen arcade/action game functionality, which tends to be less than useful when you need impart lots of information and display large maps. I played around a bit with libGDX back when it still supported embedding within Android views, but now (or at least last I checked), that functionality is gone (understandable - but unfortunate from the POV of my requirements). If there is something better and easier than native Android for doing simple strategy games in Android, then I certainly haven’t found it yet.

I based it on the Android Canvas, because this was the easiest for me to do at the time. I've looked into re-implementing the 2D functionality using OpenGL a couple of times, but ultimately, the effort just hasn't felt worth it from my POV. as - so far - the performance of the Android Canvas has been sufficient for my needs.

Anyway; posting this here in case this is of use. I enjoy discussing with others who are into developing strategy games/tactical RPGs (which is what I'm using this code for), so if you should happen to find the library useful, do let me know.
4  Java Game APIs & Engines / Android / Re: Good Ad Providers on Android? on: 2011-01-26 23:08:07
I've never used QW. I did try MobClix and have flirted with Greystripe (though never implemented it).

GreyStripe: Their ads (large "premium" ads that - at least when I last looked - had pretty long loading times) simply don't fit my apps. I would consider them if I ever did have an app where I think my users would accept staring at a full-screen ad for any length of time, but for my games... no.

MobClix: Very permission-heavy library. They improved this somewhat in recent versions, but it's still too much IMO. In addition, they have a reputation as bad payers, and given that I've never seen a cent of money from them, I can only agree with that assessment.

AdMob: They sometimes have problems with low impression rates, but high volume apps seem to get access to Google AdSense ads (P&T does), which helps a lot with that problem. Not missed a payment yet for me. At the moment, I don't use anyone else - I really don't see the point.

5  Java Game APIs & Engines / Android / Re: (Released) Pirates & Traders on: 2010-12-08 21:51:51
With the market being opened to developers I have finally launched a paid version of this app: Pirates and Traders: Gold!

Exciting times - I'm particularly interested to see how many of the 100K+ free downloads convert to sales.
6  Java Game APIs & Engines / Android / Re: Slick-AE Development on: 2010-12-07 10:08:22
The Fail: messages are just reminders to me. For instance, some things in slick are optimized using display lists - which don't work on this renderer (yet?).

Yeah, noted that the logging was rather insistent.  Wink

Have to check how much work it is to create an app with a nice scrolling map in the background that can be zoomed. Any idea when this will be far enough advanced that one could prototype something like that? Everything I do ends up being a strategy game requiring the scrolling of some huge background map. Or would that sort of thing still be best to do straight in libgdx? I think I really need to do a game-independent implementation of this sometime and OS it - I never find any good examples/tutorials of this kind of thing.

No pressure, of course - but you know, if I don't ask, I certainly won't have an answer...
7  Java Game APIs & Engines / Android / Re: Slick-AE Development on: 2010-12-07 00:12:37
I'm getting a Fail: Unsupported glGenLists, but otherwise it seems to work well enough. I haven't really stressed this yet, though - just played for a handful of minutes.
8  Java Game APIs & Engines / Android / Re: Slick-AE Development on: 2010-12-06 00:09:59
Updatd the APK again if anyone has the time to try again on 1.5

Tried this on a Magic with 1.5; seemed to work fine (if a little bit slow - nothing serious, though).
9  Java Game APIs & Engines / Android / Re: Slick-AE Development on: 2010-11-29 11:07:21
@strategy - have to keep pointing it out, Slick works on Android - but it's really down to the LibGDX which is totally awesome. it's an enabler for me but it's a fantastic library on it's own!

Absolutely. But having a good 2D abstraction layer around libgdx's 3D world should make for cleaner code - code that is hopefully easier to build and maintain - for those of us who do 2D apps, but would like to leverage the GL for the performance benefits. At least in theory.  Smiley

10  Java Game APIs & Engines / Android / Re: Game Engines? on: 2010-11-29 10:59:10
Happy to inform you that we have full Java docs as well as a comprehensive test collection showing of how to use 95% of the features in libgdx as well as a sample (3d) game. Check out the google code site.

My problem is that 90% of the time I'm looking at doing 2D, so most 3D examples tend to be way overkill in terms of what I need to do. But I plan to dig into this again - you have made some really nice improvements in the recent updates.

Quote
I guess Java docs are out of style. Might explain why Andengine gets away with not having any documentation at all :/

Yep, I've noticed this happening with other open source projects too. I blame the increased popularity of wikis and forums.  Wink
11  Java Game APIs & Engines / Android / Re: Slick-AE Development on: 2010-11-29 10:41:59
Ooh... now we're talking. I'm already working with Slick for my desktop projects, and Slick for Android would be very interesting (assuming I could get it to work for 1.5). Will test this on my Magic later.
12  Java Game APIs & Engines / Android / Re: Game Engines? on: 2010-11-22 20:42:08
Having messed a bit about with AndEngine (I'm thinking of leveraging it for Pirates and Traders), I was pretty impressed with how easy it was to set up. It's always interesting to work with my kind of games (turn-based 2d boardgame like interface) with these kind of engines, because you almost have to fight all the fancy functionality implemented for 3D games in order to do what is really a fairly simple scrolling map. AndEngine seems to handle this pretty well, though the initial suggestion I received to use a TMXTiledMap was bad (memory crash).

Rokon was not as friendly to work with.

I really should take a look at libGdx too, but the limited tutorials have put me off so far.
13  Games Center / Featured Games / Re: Minecraft on: 2010-08-17 11:32:38
Can I just add my kudos to all the others? Fun sandbox game, and it must be really cool to see all the positive comments on this around the place. Keep up the good work.
14  Java Game APIs & Engines / Android / Re: Making an desktop+handheld game considerations on: 2010-07-06 18:36:14
I wonder, what are the mainstream Android resolutions?

The direction the platform is going, there soon won't be any "mainstream" resolutions - we already have at least 4, and with the tables coming out and producers targeting the iPhone "retina" display, that spread is just going to increase.

I have to say I agree with Martin. It is very hard to make a game that is good for both the phone and the desktop. Completely different demographics - completely different play styles. This is very obvious if you see the kind of games that do well on the platform.
15  Java Game APIs & Engines / Android / Re: Hardware Acceleration - OpenGL vs Canvas on: 2010-06-06 12:46:10
So making a strict gl-game you may loose 2% of your customers due to bad performance. That ofcause does not include what you may gain using opengl due to better performance and/or nicer graphics.

Apart from the customers you lose from bad performance, you also risk losing customers from bad comments and ratings by the unhappy customers.
16  Java Game APIs & Engines / Android / Re: java.lang.OutOfMemoryError: bitmap size exceeds VM budget on: 2010-06-02 08:37:52
Hmm. Well, unfortunately I don't have the answers on this. I've succeeded to a large extent with eliminating OOM errors on my apps by a strict regime of trimming the graphics, going banzai on memory leaks, and strictly controlling the graphics in memory as mentioned above (having one module that controls all the graphics loading/cleaning is probably the key for me - once everything is loaded once, the apps memory usage remains stable).

Regarding your memory usage of 2.5mb - that sounds very low for the amount of graphics you are using. Are you sure that you are seeing the memory usage including bitmaps (you need to run "adb shell procrank" - heap dumps won't give you this information)?

The native heap GC is extremely slow, so I suppose that it is not impossible that you could be getting inside its GC cycle if you are loading/cleaning out bitmaps rapidly enough (as I suggets above). However, I've (fortunately) yet to find a problem that suggests it is a real issue - the problems I've traced down have ultimately all been down to memory leaks somewhere in either my own or Google's code - and the stuff that I know of in the Android OS has been fixed in the latest OS versions.
17  Java Game APIs & Engines / Android / Re: java.lang.OutOfMemoryError: bitmap size exceeds VM budget on: 2010-06-01 14:30:07
The benchmark functions very modestly for most of the benchmark (3-6Mb of heap on the 1.5 emulator), but when you hit the last part of the benchmark (Game Level), I'm registering heap usage of between 14000 - 17000 kb (using procrank). With that kind of resource usage, you shouldn't be surprised if it crashes out of memory every now and then as that doesn't give you a a lot of leeway.

On a hdpi 2.2 emulator it peaks at around 19mb, which gives you a little more than 4mb of heap space.
18  Java Game APIs & Engines / Android / Re: java.lang.OutOfMemoryError: bitmap size exceeds VM budget on: 2010-05-31 23:14:05
An important recommendation (if you haven't already done this), is to take a heap dump of your app after operating it for some length of time, and running it through the memory analyzer, looking for duplicates objects (especially your own). Because of all the callbacks in the Android GUI code, it is actually fairly easy to leak GUI objects - and that can quickly eat up mem.
19  Java Game APIs & Engines / Android / Re: java.lang.OutOfMemoryError: bitmap size exceeds VM budget on: 2010-05-30 18:28:01
I load the drawable and then draw it to an empty bitmap. Fairly similar to what Robert Green does in this code snippet.

Note that many of the worst issues seem to have been fixed with OS 2.1 - I note, for instance, that the case where an extended View (one can make a very basic extends of View to demonstrate it) leaks when switching between ContentViews in the same activity is no longer a problem in 2.1 (below 2.1, though, you get orphaned objects). Without having dug into it in detail (which - as mentioned - is very difficult, as we don't have access to the bitmap heap), the resource handling seems to work better on 2.1 - though perhaps I'm just seeing the consequence of general bug fixes to the framework like the stuff mentioned above.
20  Java Game APIs & Engines / Android / Re: Capturing Android Exceptions remotely on: 2010-05-25 19:46:30
I used the nullwire solution too, though - for some reason I haven't been able to figure out - I get lots and lots of duplicate messages; up to 10 per individual error sometimes.

The Console exception reports (look on the console - it should have a link Bugs) is excellent, but from what little I understand, it is only enabled on a limited number of phones. So you just don't get a realistic impression about how error-prone your application is. I've read posts that suggest that it is only some Droids and Nexus One's that have this enabled, though I haven't seen any concrete info.

For example, one of my apps has some 10-15 exceptions per day, but I have yet to see a single error in the console.

It seems unlikely that Android OS 1.5 does not register any exceptions through the console. The 2.2 OS broke builds for 1.5 under certain circumstances, and I had a few hours yesterday where everyone who tried to run the app on an OS 1.5 phone suffered FCs. Not a peep in the console. Which is a pity, since I suspect that a disproportionate amount of the really nasty errors (OOM, etc.) occur on 1.5 phones.

I find Flurry quite useful in terms of determining how stable my apps are. If only their handling of exceptions was better, it would be a near-perfect service.
21  Java Game APIs & Engines / Android / Re: Scoreloop.com on: 2010-05-19 18:38:54
We discussed Scoreloop and the Android alternatives available in this thread.
22  Java Game APIs & Engines / Android / Re: Scoreloop.com on: 2010-05-17 22:51:55
I'm slightly disappointed to hear that they are resorting to unsolicited e-mails; one wouldn't think that would be necessary for their kind of service.

You can check their site, in any case. They're one of the "social"/on-line highscore firms that are also active on iPhone, who are not looking to move their operation over to Android. I have been eyeballing their service for quite a while, and am strongly considering implementing it for my games.

Basically, your users need to have a profile on their services which is then valid across all games that use scoreloop. They make their money off selling "coins", which can be used for head-to-head challenges between gamers... (i.e., to get highest score) if you implement that feature. Revenue generated by coin packs bought is shared with the developer.

I'm not convinced the Android SDK is 100% mature yet (I ran into a FC on Jewels when trying to access Scoreloop functionality - never a good sign), but I am still exploring it for my own apps, so the jury remains out.

23  Java Game APIs & Engines / Android / Buttons, etc. on: 2010-05-15 16:52:00
Considering adding some custom buttons to my games, just to make them look a teeny little bit more like games. It's been a while since I did this kind of stuff, so I just wondered - what do you guys use to create button graphics/user interface art for your Android games? Any good tools worth taking a look at?

I'm a Gimp/Inkscape user myself.
24  Java Game APIs & Engines / Android / Re: Android input on: 2010-05-14 23:18:21
Officially, you should not make no assumptions about input methods on devices. But if you require certain devices, then make sure to define that requirement in the AndroidManifest.xml.
25  Java Game APIs & Engines / Android / Re: What are good game genres for Android? on: 2010-05-07 17:24:27
For example, an important aspect of it is that it *needs* to have a stable and high frame rate, but that is something that's kind of impossible to achieve (there are all kinds of hiccups due to background processes on the phone).

Yep - those are big issues on Android  You will need to look for ways to keep the game fun in spite of these problems.

Polyclef is no doubt right that a lot of mobile gamers are looking for 5-10 minutes of entertainment, but it's worth noting that the market for longer game experiences also exists (even if not as large). Pirates & Traders, for instance, has average game sessions lengths > 20 minutes. I imagine that a lot of those gamers are people like myself who commute distances - in that context, being able to spend time on a lengthier game can obviously be interesting. It just becomes important that as a player you can drop it and pick up the game easily.

An example of an otherwise excellent game (IMO) that has this problem are the Choice Games - mobile choose-your-own-adventure books. They are very well written and quite fun to play a couple of times, but I find that if I come back to a game after a day or so, I no longer recollect which actions I took leading up to my savegame point. This keeps me from playing unless I think that I have time to finish a game, which is a pity. I think this is something one really needs to pay some attention to when designing adventure/RPG games on the mobile platform.
26  Java Game APIs & Engines / Android / Re: Chinese localization on: 2010-05-07 16:40:11
I'd point out that the translation offer (at least according to their mail) is for free. If they were talking about charging for it, it would have gone into the spam bin right away.
27  Java Game APIs & Engines / Android / Chinese localization on: 2010-05-07 11:01:02
I was recently contacted by a company called GoApk.com, who are offering to localize my apps to Chinese.

 It seems like a fairly reasonable offer; they offer to do the translation of the xml files (so seems to be minimal work for me), and they get more apps for their website, while I (hopefully) get access to a larger market. It seems like a good deal (knowing about the restrictions common in China and the Google-China feud), but I am naturally cautious about unsolicited business mails from people I do not know. Does anyone here have any experience with these guys? I know some of you have pretty high profile apps on the market, so surely they contacted you before they wasted their time on small fry like myself.  Wink
28  Java Game APIs & Engines / Android / Re: What are good game genres for Android? on: 2010-05-07 10:13:55
Not so suggest that you build a clone, but if you take a look at the games that top the lists as well as the games popular on the iPhone, you should get a pretty good ideas about what kind of games are suited to the phone format.

Personally, I have so many ideas on the backburner now that I don't know how I will ever get time to work on them all - but then again I'm into niche games (strategy/role-playing games) that do not see a lot of developer effort. Ultimately, it all depends on what your goal is.

 If you're looking to build something popular that will generate a lot of sales and stuff, you need to look to MMO and casual puzzle/arcade/card games.

Otherwise, the world is your oyster. Pick your favorite game-type/theme and think about how you can distill that experience down into something intuitive and fun on the small screen with touch/tilt controls. Just looked briefly at Hyper-Blazer, and off-hand I don't see why it shouldn't be possible to port the game idea to Android. Of course, you may need to tweak stuff (e.g., slowing it down, making levels easier, etc) to make the game experience fun on the phone, but off-hand, why not?

29  Java Game APIs & Engines / Android / Re: Access to reviews on Android Market on: 2010-05-04 11:08:17
Huh? Cyrket has a slower update rate than the in-phone market, but as far as I am aware, it does have all the reviews. It actually has more reviews than the in-phone market, because the phone market will only show you comments in your own language(s), whereas Cyrket indexes comments from all over (German, French, Japanese, etc).
30  Java Game APIs & Engines / Android / Re: "Pocket Empires" Spam on: 2010-04-27 08:33:40
Probably they are banking on people not wanting to mark as spam comments that give good ratings to games they like. Though I've still seen several games where the spammers have given very varied ratings.

Unfortunately, it seems like Google is slow to react - as usual (assuming that they even bother). The only upside is that they seem to remove the spam comments fast (although the ratings seem to remain) - so one can hope that they are on the case, and just haven't decided what to do yet.

Certainly, if Google doesn't react to this with some real consequence for the game developers, we will be seeing a lot more spam on the market in short order.
Pages: [1] 2 3
 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Pippogeek (38 views)
2014-09-24 16:13:29

Pippogeek (29 views)
2014-09-24 16:12:22

Pippogeek (18 views)
2014-09-24 16:12:06

Grunnt (42 views)
2014-09-23 14:38:19

radar3301 (24 views)
2014-09-21 23:33:17

BurntPizza (61 views)
2014-09-21 02:42:18

BurntPizza (31 views)
2014-09-21 01:30:30

moogie (36 views)
2014-09-21 00:26:15

UprightPath (49 views)
2014-09-20 20:14:06

BurntPizza (53 views)
2014-09-19 03:14:18
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!