Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (523)
Games in Android Showcase (127)
games submitted by our members
Games in WIP (591)
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 3273 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: yuyou_@hotmail.com
      *
      * @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);
                       //System.arraycopy(orig,index,newbuffer,loc,1);
                       newbuffer[loc] = orig[index];
                 }
           }
           //System.out.println("time:"+(System.currentTimeMillis()-before));
           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




Muppet!


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

Quote
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 Knight


Medals: 14


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! https://dl.dropbox.com/u/54785909/EliteIVsmaller.png
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




Doh!


« 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?

shmoove
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

Franck

Mobile Entertainment Studio: M-E-S
http://sourceforge.net/projects/cazapool3d/
Offline shmoove

Junior Devvie




Doh!


« 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.

shmoove
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.

 

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

The first screenshot will be displayed as a thumbnail.

Gibbo3771 (12 views)
2014-11-24 19:59:16

trollwarrior1 (35 views)
2014-11-22 12:13:56

xFryIx (74 views)
2014-11-13 12:34:49

digdugdiggy (52 views)
2014-11-12 21:11:50

digdugdiggy (46 views)
2014-11-12 21:10:15

digdugdiggy (40 views)
2014-11-12 21:09:33

kovacsa (66 views)
2014-11-07 19:57:14

TehJavaDev (70 views)
2014-11-03 22:04:50

BurntPizza (68 views)
2014-11-03 18:54:52

moogie (83 views)
2014-11-03 06:22:04
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

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
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!