Hi !
Featured games (85)
games approved by the League of Dukes
Games in Showcase (636)
Games in Android Showcase (178)
games submitted by our members
Games in WIP (686)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  MIDP 3 started  (Read 3690 times)
0 Members and 1 Guest are viewing this topic.
Offline davidaprice

Junior Devvie

« Posted 2005-03-08 06:12:55 »

Motorola has submitted JSR 271: MIDP 3. If you have any game-related wishes for MIDP 3, get ready to start pushing for them! The list of stuff in the JSR already includes lots which would help game developers. One target is to "Enable richer and higher performance games".

Would it be a good idea to use these forums to gather game developers' wishes? I could pass them on to my company's expert group members; however it might be better if game developers had an independent voice on the expert group.
Offline Falken

Senior Newbie

biggidy bong

« Reply #1 - Posted 2005-03-08 23:45:07 »

The most important feature would be drawing scaled images.  Having a variation of drawImage() scale the image to fit inside a specified rectangle, just like in the J2SE edition.   Obviously this would have to be very fast, with a strong emphasis on being implemented as low-level as possible (perhaps hold a gun to their head!).  It must also support transparency and avoid using any heap.   If this were done properly then it would be the single most useful game-related feature of them all.  Of course, in reality, each implementation would do it differently and none of them would get it right. Cry

And the following would be welcomed too:-
- Arbitrary image rotations/transforms.
- A palletised version of drawRGB()/drawPixels().
- The ability to create mutable images with transparency.
- Anti-aliased drawing.
- More fonts.

And now for the 'moon on a stick' wishlist:-
- Guaranteed midi sound support (with no prefetch delays).
- Guaranteed semitransparent pixel support.
- System.disableGC(), enableGC(), forGodSakeDoItNowGC().
Offline Matzon

JGO Knight

Medals: 19
Projects: 1

I'm gonna wring your pants!

« Reply #2 - Posted 2005-03-09 03:45:16 »

actually - I just need more heap, jarsize and an actually working network stack.

Oh and ofcourse the most important one. A new Technology Compatibility Kit that FAILS all devices which don't behave properly - never gonna happen, but would really make porting soooo much easier Smiley

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline yuyou

Innocent Bystander

Java games rock!

« Reply #3 - Posted 2005-03-10 06:25:02 »

Arbitrary scaling is really needed. I created one method in my MicroGo game to scale source images (mutable or immutable) into an immutable image.

Comments?  Cool

      * Changes the image to a new size
      * @author Yu You
      * Copyright 2005.
      * PM me at:
      * @param originalImage,
      *            or null
      * @param width
      * @param height
      * @return Image the new Image. Never be null.
     public static Image resize(Image originalImage, int width, int height) {
           //if (height <= 0 || width <= 0)
           //throw new Exception("ERROR_INVALID_ARGUMENT");
           if (originalImage == null)
                 return Image.createImage(height, width);
           int orig_h = originalImage.getHeight();
           int orig_w = originalImage.getWidth();
           if (orig_w == width && orig_h == height)
                 return originalImage;
           int[] orig = new int[orig_h * orig_w];
           originalImage.getRGB(orig, 0, orig_w, 0, 0, orig_w, orig_h);
           int index;
           int[] newbuffer = new int[height * width];
           int loc, oldloc = 0;
           //long before = System.currentTimeMillis();
           for (int i = 0; i < height; i++) {
                 for (int j = 0; j < width; j++) {
                       loc = i * width + j;
                       index = (int) (i * orig_h / height) * orig_w
                                   + (int) (j * orig_w / width);
                       newbuffer[loc] = orig[index];
           Image newImage = Image.createRGBImage(newbuffer, width, height, true);
           orig = null;
           newbuffer = null;
           System.gc(); //
           return newImage;

Offline davidaprice

Junior Devvie

« Reply #4 - Posted 2005-03-10 13:51:43 »

MIDP 3 is currently being discussed on Sun's KVM-INTEREST group, with some overlap to here too.

You can be sure that the expert group members read KVM-INTEREST.
Offline mlk

Junior Devvie


« Reply #5 - Posted 2005-03-12 01:06:30 »

Oh and ofcourse the most important one. A new Technology Compatibility Kit that FAILS all devices which don't behave properly - never gonna happen, but would really make porting soooo much easier Smiley

That would be good enough for me.

Offline Falken

Senior Newbie

biggidy bong

« Reply #6 - Posted 2005-03-12 10:36:06 »

yuyou: Thats a good piece of code.  It could be useful for rescaling images before the game starts.  I think that due to the restrictions in MIDP, the transparent pixels would be lost, but I don't see any way around that.  (Edit: on second thoughts, the tranparent pixels would be kept intact; so ignore that)

david: It's amazing. kvm-interest has suddenly sprung back into life after being almost dormant for several months.

I fully agree with the TCK comments.   We can only hope.
Offline Abuse

JGO Ninja

Medals: 42

falling into the abyss of reality

« Reply #7 - Posted 2005-03-12 19:21:03 »

There is nothing stopping you doing the image resize before the png data is ever constructed into an Image object.

The only downside is the zlib and IDAT chunk CRCs would have to be reconstructed each time you manipulated the image data.

Make Elite IV:Dangerous happen! Pledge your backing at KICKSTARTER here!
Offline Falken

Senior Newbie

biggidy bong

« Reply #8 - Posted 2005-03-12 23:29:47 »

Manipulating png data and recalculating it's CRC is uber-hardcore. I like it. Wink
Offline shmoove

Junior Devvie


« Reply #9 - Posted 2005-03-15 07:22:53 »

I see a lot of requests for scaling and rotation. Has anyone tried to use JSR-184's immediate mode for this?

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline calzada

Junior Devvie

m3g is the truth

« Reply #10 - Posted 2005-03-15 07:32:00 »

I did, and I agree, I don't see urgent needs related to scaling and rotating.
I think what jsr 184 offers is enough, It fills all my needs so far


Mobile Entertainment Studio: M-E-S
Offline shmoove

Junior Devvie


« Reply #11 - Posted 2005-03-15 09:20:15 »

That's what I thought. Even though I never played around with JSR-184 it immediately came to my mind that it could be used to implement certain effects for 2D games (I'm still not sure how popular 3D will get on phones, despite all the hype it gets). For me, a JSR-75 phone is all I need for now. Another MIDP spec will just fragment the market even more. I don't think we need another spec for now.

Offline Falken

Senior Newbie

biggidy bong

« Reply #12 - Posted 2005-03-16 01:48:43 »

Yep I have used JSR-184 to do image scaling. I guess it depends on what you are trying to achieve but nothing ever seems straight-forward with M3G. Ideally all of your game content would be drawn using 3D co-ordinates as there is little point in trying to persuade M3G to draw a textured object at a predestined 2D screen location due to the number of factors involved. And Sprite3D can be incredibly slow on the current devices. Don't get be wrong, M3G has great reasonable potential for 3D games, but personally I try to avoid it for 2D content. Perhaps when M3G devices become faster, more stable and more widespread will I change that view.

Image scaling and rotations is something that should have been in the original MIDP spec from the beginning. MIDP3 has the opportunity to put that right. MIDP2 took at least 2 years, so I'm hoping to see the first MIDP3 device in 2007 with amazing image scaling capabilities. Grin
Offline caraiz

Senior Newbie

Java games rock!

« Reply #13 - Posted 2005-03-16 13:35:28 »

I hope they include standard codes for SoftKeys and Clear, although many phones use the same of Nokia, its need to make code more portable.

Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

Dwinin (61 views)
2015-11-07 13:29:08

Rems19 (74 views)
2015-10-31 01:36:56

Rems19 (67 views)
2015-10-31 01:32:37

williamwoles (103 views)
2015-10-23 10:42:59

williamwoles (90 views)
2015-10-23 10:42:45

Jervac_ (103 views)
2015-10-18 23:29:12

DarkCart (131 views)
2015-10-16 00:58:11

KaiHH (113 views)
2015-10-11 14:10:14

KaiHH (153 views)
2015-10-11 13:26:18

BurntPizza (165 views)
2015-10-08 03:11:46
Rendering resources
by Roquen
2015-11-13 14:37:59

Rendering resources
by Roquen
2015-11-13 14:36:58

Math: Resources
by Roquen
2015-10-22 07:46:10

Networking Resources
by Roquen
2015-10-16 07:12:30

Rendering resources
by Roquen
2015-10-15 07:40:48

Math: Inequality properties
by Roquen
2015-10-01 13:30:46

Math: Inequality properties
by Roquen
2015-09-30 16:06:05

HotSpot Options
by Roquen
2015-08-29 11:33:11 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‑
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!