Code Monkey home page Code Monkey logo

forplay's People

Watchers

 avatar  avatar

forplay's Issues

setCompositeOperation with alpha on Canvas

You can draw an image to a canvas with a composite mode via 
setCompositeOperation, but you can't set the overall alpha for composition. 
This would be useful for scene cross-fades.

Ideally you would be able to call setCompositeOperation(Composite, float) to 
set an associated alpha for the composition mode. This would map to 
AlphaComposite. getInstance(int, int) in Java and globalAlpha for the HTML5 
canvas. I'm not sure of the WebGL equivalent.

Original issue reported on code.google.com by [email protected] on 27 May 2011 at 10:40

Add google in app payment support

with today's announced google in app payment support, it would be great to add 
that in the game.

better yet,  provide a payment gateway to allow developers to select the 
preferred payment 

Original issue reported on code.google.com by [email protected] on 12 May 2011 at 5:46

Bundling image loading

Thanks to Firebug, I realized that each loading of a different image leads to a 
new request sent, to retrieve the image.

GWT has a nice mecanism to bundle images, as base64 data into the JS for small 
images, or has a big bundle image that is then split for bigger images. This 
leads to faster image downloading, hence faster game starting.

I don't know if it's already on the roadmap, or even possible, but having this 
feature automatically handled by ForPlay would be great.

http://code.google.com/webtoolkit/doc/latest/DevGuideClientBundle.html#ImageReso
urce

Original issue reported on code.google.com by py.ricau on 5 Jun 2011 at 2:55

Add Canvas.pixel() method to perform pixel read-back

int pixel(int x, int y) can be really useful for hit-testing. Canvas is 
typically software-rendered, so there's no compelling reason not to allow 
read-back of pixel values (as long as you don't try to do too much pixel 
manipulation in script code).

This would *not* make sense on Surface, however, because it can be backed by a 
GL framebuffer, which is quite expensive to read back.

Original issue reported on code.google.com by [email protected] on 27 May 2011 at 1:49

  • Merged into: #20

Java platform should support anti-aliasing

The Java platform doesn't blit sprites with interpolation, causing them to look 
slightly blockier than the equivalent GWT versions. 

Setting RenderingHints.KEY_INTERPOLATION = 
RenderingHints.VALUE_INTERPOLATION_BILINEAR on the Graphics2D surface would fix 
this.

Original issue reported on code.google.com by [email protected] on 24 May 2011 at 11:03

Import project to eclipse failed

What steps will reproduce the problem?
1. svn checkout the trunk source code
2. import the project to eclipse
3.

What is the expected output? What do you see instead?
i got lots of errors like this:
Description Resource    Path    Location    Type
org.jbox2d.dynamics.contacts.PositionSolverManifold can not be found in source 
packages. Check the inheritance chain from your module; it may not be 
inheriting a required module or a module may not be adding its source path 
entries 
properly.   ContactSolver.java  /forplay/gwtbox2d/org/jbox2d/dynamics/contacts  line
 784    GWT problems marker


What version of the product are you using? On what operating system?


Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 22 May 2011 at 5:43

Can't debug the html version on any samples

What steps will reproduce the problem?
1.Peas Sample(Eclipse) -> Run as Web Application -> Peas.html

What is the expected output? What do you see instead?
Eclipse Console:

Linking modules
   Bootstrap link for command-line module 'forplay.sample.peas.PeasFlash'
      Linking module 'peasflash'
         Invoking Linker FlexCompiler
            FlexCompiler home is /home/build/google3/third_party/flex4_sdk
            Writing com/adobe/images/BitString.as
            Writing com/adobe/images/JPGEncoder.as
            Writing com/adobe/images/PNGEncoder.as
            Writing com/googlecode/flashcanvas/Base64.as
            Writing com/googlecode/flashcanvas/CSSColor.as
            Writing com/googlecode/flashcanvas/Canvas.as
            Writing com/googlecode/flashcanvas/CanvasGradient.as
            Writing com/googlecode/flashcanvas/CanvasPattern.as
            Writing com/googlecode/flashcanvas/CanvasPixelArray.as
            Writing com/googlecode/flashcanvas/CanvasRenderingContext2D.as
            Writing com/googlecode/flashcanvas/ColorStop.as
            Writing com/googlecode/flashcanvas/Config.as
            Writing com/googlecode/flashcanvas/GraphicsPathCommand.as
            Writing com/googlecode/flashcanvas/Image.as
            Writing com/googlecode/flashcanvas/ImageData.as
            Writing com/googlecode/flashcanvas/LinearGradient.as
            Writing com/googlecode/flashcanvas/Path.as
            Writing com/googlecode/flashcanvas/RadialGradient.as
            Writing com/googlecode/flashcanvas/State.as
            Writing com/googlecode/flashcanvas/TextMetrics.as
[WARN] 404 - GET /cutegame/appcache.nocache.manifest (127.0.0.1) 1420 bytes
   Request headers
      Host: 127.0.0.1:8888
      Connection: keep-alive
      User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.71 Safari/534.24
      Accept-Encoding: gzip,deflate,sdch
      Accept-Language: en-US,en;q=0.8,ro;q=0.6
      Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
   Response headers
      Content-Type: text/html; charset=iso-8859-1
      Content-Length: 1420
(HtmlLog.java:37) 2011-05-29 22:00:01,343 [DEBUG] Preferred sound type: 
com.allen_sauer.gwt.voices.client.FlashSound
(HtmlLog.java:37) 2011-05-29 22:00:01,378 [DEBUG] Analytics random = 0.6256938
(HtmlLog.java:47) 2011-05-29 22:00:01,445 [INFO ] Failed to create GL context. 
Falling back.
Removing 'com.allen_sauer.gwt.log.client.ConsoleLogger' due to unexecpted 
exceptioncom.google.gwt.core.client.JavaScriptException: (String): invoke of 
@com.allen_sauer.gwt.log.client.ConsoleLogger::logMessage(ILjava/lang/String;) 
failed
    at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:237)
    at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:132)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:289)
    at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)
    at com.allen_sauer.gwt.log.client.ConsoleLogger.logMessage(ConsoleLogger.java)
    at com.allen_sauer.gwt.log.client.ConsoleLogger.log(ConsoleLogger.java:56)
    at com.allen_sauer.gwt.log.client.RemoteLogger.loggersLog(RemoteLogger.java:88)
    at com.allen_sauer.gwt.log.client.impl.LogImplBase.sendToLoggers(LogImplBase.java:247)
    at com.allen_sauer.gwt.log.client.impl.LogImplBase.log(LogImplBase.java:298)
    at com.allen_sauer.gwt.log.client.impl.LogImplBase.info(LogImplBase.java:177)
    at com.allen_sauer.gwt.log.client.Log.info(Log.java:605)
    at com.allen_sauer.gwt.log.client.Log.info(Log.java:503)
    at forplay.html.HtmlLog.info(HtmlLog.java:47)
    at forplay.html.HtmlPlatform.run(HtmlPlatform.java:193)
    at forplay.core.ForPlay.run(ForPlay.java:143)
    at forplay.sample.peas.html.PeasHtml.start(PeasHtml.java:31)
    at forplay.html.HtmlGame$1.execute(HtmlGame.java:25)
    at com.google.gwt.core.client.impl.SchedulerImpl$Task$.executeScheduled$(SchedulerImpl.java:50)
    at com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:229)
    at com.google.gwt.core.client.impl.SchedulerImpl.flushPostEventPumpCommands(SchedulerImpl.java:389)
    at com.google.gwt.core.client.impl.SchedulerImpl$Flusher.execute(SchedulerImpl.java:78)
    at com.google.gwt.core.client.impl.SchedulerImpl.execute(SchedulerImpl.java:139)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
    at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
    at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167)
    at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:326)
    at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:207)
    at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:132)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
    at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
    at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
    at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:214)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
    at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
    at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167)
    at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:281)
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:531)
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
    at java.lang.Thread.run(Thread.java:619)
(DOMImpl.java:-1) 2011-05-29 22:00:01,449 [FATAL] Uncaught Exception:
com.google.gwt.core.client.JavaScriptException: (String): invoke of 
@com.google.gwt.dom.client.DOMImpl::createElement(Lcom/google/gwt/dom/client/Doc
ument;Ljava/lang/String;) failed
    at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:237)
    at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:132)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
    at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
    at com.google.gwt.dom.client.DOMImpl.createElement(DOMImpl.java)
    at com.google.gwt.dom.client.Document$.createCanvasElement$(Document.java:151)
    at forplay.html.HtmlGraphics.<init>(HtmlGraphics.java:65)
    at forplay.html.HtmlGraphicsDom.<init>(HtmlGraphicsDom.java:31)
    at forplay.html.HtmlPlatform.run(HtmlPlatform.java:194)
    at forplay.core.ForPlay.run(ForPlay.java:143)
    at forplay.sample.peas.html.PeasHtml.start(PeasHtml.java:31)
    at forplay.html.HtmlGame$1.execute(HtmlGame.java:25)
    at com.google.gwt.core.client.impl.SchedulerImpl$Task$.executeScheduled$(SchedulerImpl.java:50)
    at com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:229)
    at com.google.gwt.core.client.impl.SchedulerImpl.flushPostEventPumpCommands(SchedulerImpl.java:389)
    at com.google.gwt.core.client.impl.SchedulerImpl$Flusher.execute(SchedulerImpl.java:78)
    at com.google.gwt.core.client.impl.SchedulerImpl.execute(SchedulerImpl.java:139)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
    at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
    at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167)
    at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:326)
    at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:207)
    at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:132)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
    at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
    at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
    at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
    at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:214)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
    at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
    at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167)
    at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:281)
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:531)
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
    at java.lang.Thread.run(Thread.java:619)


Chrome Console:
Creating Application Cache with manifest 
http://127.0.0.1:8888/cutegame/appcache.nocache.manifest
Application Cache Checking event
Application Cache Error event: Manifest fetch failed (404) 
http://127.0.0.1:8888/cutegame/appcache.nocache.manifest
(HtmlLog.java:37) 2011-05-29 21:47:36,792 [DEBUG] Preferred sound type: 
com.allen_sauer.gwt.voices.client.FlashSound
(HtmlLog.java:37) 2011-05-29 21:47:36,815 [DEBUG] Analytics random = 0.5979258
Uncaught Error: Error calling method on NPObject.
Peas.html:3Uncaught ReferenceError: NPObject deleted
Peas.html:4Uncaught ReferenceError: NPObject deleted

What version of the product are you using? On what operating system?
Win 64

Please provide any additional information below.

Chrome shows only a black background.
This is my first gwt try so maybe I'm doing something wrong.

Original issue reported on code.google.com by [email protected] on 29 May 2011 at 7:01

Java Json.Object and Json.Array don't handle missing array/object values

Java's Json.Object and Json.Array getObject/getArray fail if the object/array 
at the given key/index is missing. Instead of returning null, they pass null 
into the JavaObject or JavaArray constructor, causing NPEs when trying to 
access the results:

    public Json.Object getObject(int index) {
      return new JavaObject(jsa.optJSONObject(index));
    }

    public Json.Array getArray(int index) {
      return new JavaArray(jsa.optJSONArray(index));
    }

The code should probably look like this:


    public Json.Object getObject(String key) {
      JSONObject o = jso.optJSONObject(key);
      return o == null ? null : new JavaObject(o);
    }

Original issue reported on code.google.com by [email protected] on 1 Jun 2011 at 4:30

Disallow flipped source coordinates in Surface.drawImage()

The sprite-rendering code in https://github.com/joelgwebber/xna-platformer 
takes advantage of flipping source coordinates in Surface.drawImage() to flip 
sprites horizontally. This works in Java2D and GL, but fails in <canvas>, where 
it's explicitly disallowed.

We should assert that source coordinates are in the correct order so that all 
platforms will be consistent. We also need a way to render flipped sprites, 
though the easiest thing to do there might simply be to invert the scale (see 
issue 32 for more on that).

Original issue reported on code.google.com by joelgwebber on 7 Jun 2011 at 1:29

Make it possible to get pointer events and paint callbacks directly on Layers

Layers are a natural way to implement UI controls, because the compositor will 
take care of repaint automagically. However, it's currently more awkward than 
it should be, because you have to push paint() calls and pointer events 
manually down to the "controller" for each layer.

If each layer's controller could simply get callbacks for pointer events and 
painting, it would be trivially easy to implement buttons and other UI 
components without all this extra wiring.

For pointer events, I imagine adding an overload like 
pointer().setListener(Layer, Listener), so that the pointer-specific stuff 
remains where it belongs (the pointer implementation would now need to know 
about layers, though). Note that I'm *not* proposing adding keyboard events to 
the mix, because that would imply a full focus system, which seems like 
overkill (and I strongly suspect most games will want to handle the keyboard 
globally).

For paint callbacks, I believe it makes sense to propagate the alpha parameter 
as usual, but I don't believe there's any reason to add update(delta), because 
that should really be handled in the overall game logic.

Original issue reported on code.google.com by [email protected] on 13 May 2011 at 9:17

Implement better resource management for Android/Flash platforms

A pattern is emerging where we use a "resources" public package to store "baked 
in" resources, and /war/... for other resources. In the HTML platform there's 
essentially no difference between these two kinds of resources (except that 
baked-in resources get automatically added to your appcache manifest so that 
they're more likely to be available offline).

For Flash and Android, however, we need to ensure that baked-in resources get 
automatically bundled with the .apk/.swf.

Original issue reported on code.google.com by [email protected] on 27 May 2011 at 12:00

WebGL alpha blending is incorrect (premultiplied alpha issue)

We're still not calculating alpha blending correctly. In the attached image: 
left is WebGL, right is Canvas. Notice the dark line when blending from 
transparent to white.

Due to stability issues, specifying premultiplied alpha at the webgl attribute 
level isn't an option. I think the best route is to do this ourselves in code 
(e.g., gl.blendFunc(ONE, INVERSE_ALPHA) and premultiply the color channels when 
loading the image).

Original issue reported on code.google.com by [email protected] on 19 Jun 2011 at 8:37

Attachments:

Compiling Flash before HTML (in Eclipse) causes strange errors

This appears to be a problem in the gwt->as3 library. If you use the Ecilpse 
plugin to perform the GWT compile, it works fine if you compile, e.g., 
"HelloGame HelloGameFlash", but if you compile "HelloGameFlash HelloGame", you 
get something like this at the end:

  Compiling module forplay.sample.hello.HelloGame
   [ERROR] Unable to find compilation unit for type 'flash.gwt.FlashImport'

Which breaks the Javascript compile.

Original issue reported on code.google.com by [email protected] on 17 May 2011 at 1:41

Document forplay-root div id

I was wondering how to integrate forplay into a specific div, and found out in 
the HtmlGraphics class that if a div with "forplay-root" id is set, it'll be 
used as the root forplay layer. Otherwise, the whole body will be used.

I didn't find any documentation on this subject, so maybe it should be noted 
somewhere else then in the middle of the code.

Original issue reported on code.google.com by py.ricau on 5 Jun 2011 at 7:39

Screwy rendering in XNA Platformer on Firefox/Opera

https://github.com/joelgwebber/xna-platformer seems to work fine in WebGL, and 
(mostly) in Chrome/canvas. But on Firefox and Opera the canvas renderer goes 
nuts when it starts scrolling. This seems highly likely to be a library issue, 
because (modulo issue 41) it works fine on Chrome.

Original issue reported on code.google.com by [email protected] on 7 Jun 2011 at 1:33

Matrix math is incorrect for negative scale values

Reported by matthew_mastracci.com:

import forplay.core.Transform;

public class ScaleTest {
       public static void main(String[] args) {
               Transform t = new Transform();
               t.scale(1, 1);
               System.out.println(t);
               t.setRotation(0);
               System.out.println(t);

               t = new Transform();
               t.scale(-1, 1);
               System.out.println(t);
               t.setRotation(0);
               System.out.println(t);
       }
}

[1.0 0.0
 0.0 1.0
 0.0 0.0]
[1.0 0.0
 -0.0 1.0
 0.0 0.0]

[-1.0 -0.0
 0.0 1.0
 -0.0 0.0]
[1.0 0.0
 -0.0 1.0
 -0.0 0.0]

Original issue reported on code.google.com by [email protected] on 1 Jun 2011 at 12:49

  • Merged into: #32

Normalize mouse wheel velocities across platforms

Values returned from Mouse.Listener.onMouseWheelScroll() aren't normalized and 
differ across platforms (primarily in scale). See this discussion for more info:
https://groups.google.com/forum/#!topic/gwt-forplay/T0x8748DAlU

Original issue reported on code.google.com by [email protected] on 18 Jun 2011 at 12:49

"Cute" sample runs much slower than it should on Chrome WebGL

?renderer=canvas runs faster on Chrome, though it shouldn't. The WebGL version 
runs well on WebKit nightly (mac) and Firefox 4.

A profile shows >90% of time being spent in (program), which means it's outside 
of the Javascript code and/or native code called directly from Javascript. This 
means the time's going to code that sits outside the Javascript event loop, or 
possibly in another process (like the compositor).

Original issue reported on code.google.com by joelgwebber on 21 May 2011 at 6:28

Implement Flash/ActionScript backend

1. Implement whatever's needed on the GWT code generation backend to make it 
valid ActionScript (this has been done before, but never committed -- it's 
pretty simple).
2. Implement abstractions for the Flash native interfaces (DisplayObject, 
MovieClip, et al).
3. Implement ForPlay abstractions in terms of the Flash native interfaces.
4. Profit.

Original issue reported on code.google.com by [email protected] on 13 May 2011 at 2:17

Add Canvas.pixel() method to perform pixel read-back

int pixel(int x, int y) can be really useful for hit-testing. Canvas is 
typically software-rendered, so there's no compelling reason not to allow 
read-back of pixel values (as long as you don't try to do too much pixel 
manipulation in script code).

This would *not* make sense on Surface, however, because it can be backed by a 
GL framebuffer, which is quite expensive to read back.

Original issue reported on code.google.com by [email protected] on 27 May 2011 at 1:49

Implement basic polygon rendering in Surface

Surface currently contains only a couple of simple drawImage() methods. We can, 
however, implement general polygon rendering in GL without too much difficulty, 
and it will be a lot more efficient than using Canvas for the same thing. When 
doing this, we should also deal with tiled images, since we'll need 
fill-patterns.

Bonus points for implementing fill-gradients in the shader.

Original issue reported on code.google.com by [email protected] on 13 May 2011 at 2:34

Implement C/iOS backend

1. Implement a C (or Objective-C, if need be) backend for the GWT compiler (I'm 
told @cromwellian has a very rough prototype of this).
2. Implement the ForPlay abstractions in terms of native iOS APIs.
3. Profit.

Original issue reported on code.google.com by [email protected] on 13 May 2011 at 2:20

blank (black) screen on running android version

What steps will reproduce the problem?
1. compile peas-android (forplay, forplay-android, peas also) 
2. install it in emulator

[2011-06-04 22:15:54 - peas-android] Device API version is 9 (Android 2.3.1)
[2011-06-04 22:15:54 - peas-android] HOME is up on device 'emulator-5554'
[2011-06-04 22:15:54 - peas-android] Uploading peas-android.apk onto device 
'emulator-5554'
[2011-06-04 22:15:57 - peas-android] Installing peas-android.apk...
[2011-06-04 22:16:37 - peas-android] Success!
[2011-06-04 22:16:37 - peas-android] Starting activity 
forplay.sample.peas.android.PeasActivity on device emulator-5554
[2011-06-04 22:16:40 - peas-android] ActivityManager: Starting: Intent { 
act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] 
cmp=forplay.sample.peas.android/.PeasActivity }

3. Screen is blank (black)


What is the expected output? What do you see instead?

Expected to see peas-android game starting, but i only see a blank screen

What version of the product are you using? On what operating system?
Android 2.3.1 (9), Emulator 2.3.1, compiling with gwt sdk 2.3.0, jdk 1.6.0_22

Please provide any additional information below.
I tried also other forplay/samples with the same result. Also installed in 
froyo in a real device and nothing. Html5 and Java version works great.


Original issue reported on code.google.com by [email protected] on 4 Jun 2011 at 8:42

  • Merged into: #6

Make all async APIs consistently asynchronous

All APIs for fetching resources, making network requests, and so forth are 
asynchronous because:
- It's just better that way, because you don't block the UI thread 
accidentally, and
- We don't have a choice on the web anyway.

But the Java and Android platforms don't always adhere to this constraint. This 
makes it easy to miss async bugs, especially when you're doing most of your 
development in Java.

We should make the behavior of all these APIs consistent, so that it's easier 
to catch bugs earlier in development.

Original issue reported on code.google.com by [email protected] on 28 May 2011 at 2:08

Asset manager assumes all resources are local to app - not able to fetch Internet resources

Asset manager code seems
to be hard coded to pulling in resources from a local source..


What steps will reproduce the problem?
1. Consider the code:

private static final String CLOUDRESOURCES = "http://
commondatastorage.googleapis.com/myresources/";

...
... assetManager().getImage(CLOUDRESOURCES + "my_img.png");

I would get:

[WARN] No file found for: /mylocalgame/http://
commondatastorage.googleapis.com/myresources/myfolder/my_img.png

(mylocalgame is my local app)


What is the expected output? What do you see instead?

Ideally it would be cool if I could fetch resources from the
Internet - such as a cloud storage provider..


Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 28 May 2011 at 6:07

Deprecate ForPlay.random()

It's just silly, and serves little purpose beyond java.util.Random().

c.f. https://groups.google.com/d/topic/gwt-forplay/PxQ6kI-BN8w/discussion

Original issue reported on code.google.com by joelgwebber on 7 Jun 2011 at 1:18

Java JSON parser is looser than JSON.parse()

The browser uses JSON.parse(), which is apparently quite strict. Java/Android 
use the json.org parser, which is quite a bit looser. So far I've found the 
following differences:

- JSON.parse() disallows trailing commas in arrays and property lists.
- JSON.parse() disallows unquoted string keys.

We need to update the json.org parser to match this behavior, because it really 
sucks to find out about it the hard way when you convert to HTML!

Original issue reported on code.google.com by [email protected] on 13 May 2011 at 2:36

Layers need alpha parameters for rendering

Layers need a float alpha value to control transparency. As noted in issue 23, 
this is useful for splash screen cross-fades and particle effects (amongst 
other things).

Original issue reported on code.google.com by [email protected] on 28 May 2011 at 5:28

Java platform tries to run at maximum FPS

(Reported by py.ricau, confirmed by pdr)
The current Java platform implementation does not honor the FPS limits and  
runs flat out. This maxes out it's single-thread CPU time.

Original issue reported on code.google.com by [email protected] on 13 Jun 2011 at 1:46

Improve storage API to allow primitive types

Currently the storage API only allows for String types to be added. On a java 
platform this requires casting between primitive types when retrieving values 
which tends to make loading from storage an ugly chunk of code.

This API should be improved to include automatic support for saving/loading 
primitive java types and possibly Serializable types. 

Original issue reported on code.google.com by [email protected] on 3 Jun 2011 at 1:19

Multi-touch support

The current pointer interface assumes a single pointer. It would be useful to 
add multi-touch support for platforms that support it: Android and WebKit 
mobile (iOS only I think). A listener-per-pointer or a multi-touch-aware 
listener approach probably would work.

Strawman API patch:

+  /**
+   * Sets the listener that will receive pointer events. Setting the listener 
to
+   * <code>null</code> will cause pointer events to stop being fired.
+   */
+  void setListener(Listener listener, int pointerIndex);


Original issue reported on code.google.com by [email protected] on 18 May 2011 at 9:56

slingshot in pom.xml has an invalid URL

What steps will reproduce the problem?
1. Running "mvn" fails to download the "slingshot"

What is the expected output? What do you see instead?
I was expecting mvn to download required libraries.  I got the following:

[ERROR]     Non-resolvable parent POM: Failure to find 
slingshot:slingshot-project:pom:1.0 in http://repo1.maven.org/maven2 was cached 
in the local repository, resolution will not be reattempted until the update 
interval of central has elapsed or updates are forced and 'parent.relativePath' 
points at wrong local POM @ line 5, co

What version of the product are you using? On what operating system?
maven on OSX

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 11 May 2011 at 10:45

Make ImageLayer behave as expected with CanvasImages

Building an ImageLayer around a CanvasImage doesn't quite do what you'd expect 
-- it always comes up blank in HTML/DOM mode, and updates to the CanvasImage 
aren't reflected in the ImageLayer correctly on all platforms. The correct 
behavior should be that the ImageLayer represents a live rendering of any 
changes made to the CanvasImage.

Original issue reported on code.google.com by [email protected] on 13 May 2011 at 2:32

Set an app title

Discussion is here : 
http://groups.google.com/group/gwt-forplay/browse_thread/thread/cbf884429c141f60

To sum up : it would be nice to have a common way to set the window title, at 
least for HTML & Java apps.

Original issue reported on code.google.com by py.ricau on 5 Jun 2011 at 7:42

iOS support! FLV instead of SWF!

If I'm correct, the latest version of Adobe Flash CS5 allows flash developers 
to compile their FLV into a native iOS app. Therefore, if we could compile this 
into an FLV instead of an SWF, we could theoretically move from that directly 
into an iPhone / iPad app, making this the most useful cross-platform game 
development tool ever. Is this possible?

Original issue reported on code.google.com by [email protected] on 14 May 2011 at 8:47

Weird translations on Android Browser

Should forplay work well on an Android 2.3 browser ? I have a Nexus One (Google 
gift, thanks!), and layers draw well, but they seem to have wrong translations.

Here is a test url : http://forplay-2h4u.appspot.com/

=> Works well on iPhone browser, but not on my Android Browser.

I'm a bit lost on how to debug this, since, AFAIK, there is no GWT plugin for 
the Android browser.

Since my code is highly inspired (c&p...) from the peaphysics example, I 
checked and actually the same issues appear on an Android Browser :

http://forplay-peas-sample.appspot.com/Peas.html

=> All elements are actually located in the top left corner...

Original issue reported on code.google.com by py.ricau on 5 Jun 2011 at 9:19

Transform.setScale() should handle negative values correctly, or disallow them

This is actually somewhat tricky because of the way setRotation/Scale() 
decompose the underlying transformation matrix. It would be better to find a 
way to handle this case, rather than disallowing negative values, because being 
able to flip a layer H/V is pretty useful.

See also:
  https://groups.google.com/d/topic/gwt-forplay/ZcE-qLuVbBs/discussion

Original issue reported on code.google.com by [email protected] on 2 Jun 2011 at 5:11

Implement some kind of font selection in Canvas

There's currently no way to set the font in the Canvas API. The general problem 
of selecting fonts in a cross-platform way is pretty tricky, but as it stands 
text rendering in Canvas is really only useful for debugging.

Original issue reported on code.google.com by [email protected] on 13 May 2011 at 2:23

Setting layer scale to 0 causes problems

1. Create layer.
2. layer.setScale(0);
3. layer.setScale(1);

With an ImageLayer this causes a crash. With a CanvasLayer the canvas does not 
redraw.
Only tested in java environment.
Setting the scale to almost 0 (layer.setScale(0.001)) works.
Crash for ImageLayer only happens after scale is set back to 1


Original issue reported on code.google.com by [email protected] on 27 May 2011 at 9:00

Net support should have easy way to build simple HTTP requests - such as GWT's RequestBuilder

When using forplay's Net support to build requests, I find that I can build 
JSON content to send upstream to my server, but if I want to build simple 
requests so that my server code merely has to do a:
request.getParameter(), I find that this is not easily done.


Instead I had to resort to using GWT's RequestBuilder 
(com.google.gwt.http.client.RequestBuilder) to 
do this.
What would be ideal is if forplay had the same request building functionality 
that GWT has.

What steps will reproduce the problem?
1. Try to build an HTTPRequest POST that is not in JSON..



Original issue reported on code.google.com by [email protected] on 28 May 2011 at 6:03

  • Merged into: #22

Source rects and clamping cause texture bleeding under scale in WebGL

We currently use linear filtering for scaling textures in WebGL. If a source 
rect is set (such as sub-images for sprites) AND the image is scaled, this 
filtering will cause texture bleeding. (See the attached image where a flag is 
surrounded by a checkerboard pattern, but only the flag 'src rect' is supposed 
to be drawn).

There are a couple of approaches I can think of:
1) Use a mask that causes the outer pixels to blend to alpha=1
2) Create a new texture for each source rect
3) Simply doc that sprites should be surrounded by a 1px transparent border if 
they are going to be drawn under scale
4) Locate the elusive TEXTURE_{MIN,MAX}_FILTER OpenGL flag for clamp at edges, 
linear blend elsewhere

I'm not sure the best way to handle this. Any ideas?

Original issue reported on code.google.com by [email protected] on 7 Jun 2011 at 2:47

Attachments:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.