lorinbeer's Recent Forum Activity

  • It's difficult for us to support DOM-less engine. We see DOM-less as a disadvantage, not an advantage, because we support so many features that happen in the browser layer such as WebGL, Web Audio API, WebSockets, etc. etc.

    Ashley

    Hey Ashley!

    I wouldn't expect Construct 2 to run in Pender in it's entirety. I have some experience embedding existing projects in Pender, including work for Zynga (not public unfortunately) and Bonsai.js from uxebu.

    Two easy ways are:

    1. Construct2Shim.js: which would redirects canvas calls through a messaging api to Pender, not as optimized as a full renderer running in Pender, but tests still indicate a massive jump in framerate and rendering performance. Easy to implement, with no change to ConstructJS, just a shim to be loaded in the WebView

    2. Construct2Pender.js: which would define a tiny rendering engine using the graphics calls Construct2 expects to exist in the WebView. Instead of calling a canvas in the main Construct2 runtime, we would call Pender through the bridge, using an abbreviated syntax which would update the rendering engine.

    Note that Pender can include any functionality that the device supports, exposed under any api we want. The Pender roadmap includes support for Web Audio and WebGL!

    To echo your points, the DOM is most certainly an advantage when it comes to layout and the breadth of api's available. However, it kills rendering speed even when hardware acceleration is implemented in the browser. Decoupling the rendering engine is not only good architecture, but it allows a paper thin layer between the js and the native graphics calls, really bridging the gap between js graphics and native graphics.

    One of the use cases of Pender is to provide embedded canvases in a Cordova/PhoneGap project, using the Pender runtime as a rendering engine for fast canvas, and not as a replacement for all that HTML5 offers.

  • Awesome. Thank you.

    Now use Construct 2 users just need to work through how to get our html5 project running using pender.

    I'm a bit confused on this part. If I already have an entire project done in eclipse with phonegap, is that when I implement pender, or is it something that need to be done prior to creating the project in eclipse?

    I guess that is my confusion now. I'll keep playing :).

    For starters, you can include the PenderLibrary project or the Pender.jar in your eclipse project.

    The Cordova-Pender Plugin will live here:

    github.com/lorinbeer/cordova-pender-plugin

    it includes the PenderCordova files, which I mistakenly pushed, and subsequently broke the build for you guys <img src="smileys/smiley9.gif" border="0" align="middle" />. The plugin allows crosstalk between Pender and Cordova, as well as layering the views so both are visible.

    Getting Construct2 talking with Pender will require a little bit of investigation, but we should be able to figure it out in short order.

  • No, I see them when it runs. I was testing through eclipse. I did a build, gonna test again on my thunderbolt then on my nexus 7

    Looks fine on my nexus 7

    oooh! A device specific issue! I test on a Nexus 7 and Galaxy Nexus primarily. We'll have a closer look at this. Speculation says it's something to do with specific implementation of gl on the thunderbolt and how we update the canvas. Log an issue at github!

    Given the pain you've experienced getting this up and running, I'm prioritizing two things today:

    1. Windows build script

    2. Precompiled Pender.jar, located here bitbucket.org/lorinbeer/pender/downloads

    I've uploaded a preliminary pender jar, but it's compiled in debug mode, and has breakpoints in it (which means you need to continue a few times to get the app to run)

    This should make including pender in a project a 2 or 3 step process, I'm updating my android sdk's at the moment, once that's done I can compile a release version of the library

  • I'm testing on a HTC Thunderbolt running 2.3.4

    I have these white bars, normal?

    <img src="http://www.edfarias.com/pentest.jpg" border="0" />

    no, the white bars aren't normal :)

    they don't appear on mine using the same project, could be more layout/android bs from eclipse

    do they appear as you run pender, or just when you take a pic?

  • 1. A unique thing about Pender is that it supports a DOM-less javascript environment. No html or css. So all render code has to go in it's own file

    1.A the Pender-Cordova Plugin allows crosstalk between the Pender runtime and Cordova

    1.B you may need to refactor your code slightly so all the canvas calls are in their own file, you can then send javascript messages to the renderer javascript from the cordova javascript

    1.C check out the Pender.java file, that's the main entrypoint for the framework. You'll see in the constructor that it refences assets to load into the javascript framework

    1.D check out assets/client/penderdemo.js to see the implementation of the demo. Note that all of the texture map image processing takes place on the javascript side, just like it would in a desktop html5 project. Note that this does not preclude Pender from providing helper functions in the future, which would be optimized and natively implemented

    2. yessir! I wrote a Canvas Renderer for iOS, and I need to tie it in with the iOS Pender proof of concept here

    github.com/lorinbeer/Pender-iOS-POC

    3. no, you da man! Thanks for sticking it out!

  • ok dude, easy fix!

    the android project specifies your main activity as arcaded, but that's not present in your project.

    rename src/com/arcaded/PenderActivity.java to src/com/arcaded/arcaded.java

    then change the Activity Class name to match

    public class PenderActivity extends Activity

    to

    public class arcaded extends Activity

    that got the project working! Remember to disconnect the debbuger or unplug the phone from the machine once it's running, and behold 50 sprites rendering at 30fps, each with it's own texture bind event (equivalent to 50 unique sprites!)

    -- edit --

    lol, missed your fix before posting, good work mate! How's it look? What device are you running it on?

  • Yeah, the stack trace seems to indicate that it can't load your main activity, which doesn't have anything to do with Pender perse. It's claiming it can't find your main activity class in the package it compiles from your main activity class <img src="smileys/smiley17.gif" border="0" align="middle" />. Gotta love Eclipse.

    can you zip up your whole project folder and send it to me? If I can see the code, I can probably sort this out in under 30 seconds,<swordfishref> with John Travolta pointing a gun at my head and yelling at me to hack </swordfishref>

  • what does the log say when the app boots up?

    do this:

    adb logcat

    that will bring up the log, and show you a stacktrace of the error

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • ok, no worries, I see the problem in project.properties, we can fix it easy

    simple problem: the android library reference has to be given as a relative offset from the root of your project,

    so instead of

    android update project --path <projectpath> --library <librarypath>

    it should be

    update project --path <projectpath> --library <offset/path/to/library/from/project/root>

    in your case, that's:

    android update project --path arcaded --library ../PenderAndroidLibrary

  • ok, I need to see what's in a few files, can you skype?

    files I need a peak at are

    libraryproject/com/pender/Pender.java

    and the project.properties files

    yeah, I should crash too. Given that the AndroidLibrary is throwing no errors, I think you did everything fine. This is an eclipse bs thing, it's not seeing the LibraryProject in the workspace.

    There's a couple of things we can try, should only take a few minutes

  • try f5 or right clicking on the workspace navigator and choosing "refresh"

    if that doesn't work, try deleting the project and library from eclipse and re-importing them. Just make sure "delete off of filesystem" is unchecked

  • AH! we forgot a step!

    go back to cygwin, we need to update the example project with the library project

    run: android update project --path <path> --library <libloc>

    where "<path>" is path to example (arcaded) and "<libloc>" is path to the library

    --edit-- whereby "we", we mean "I"

    --edit 2-- Eclipse won't properly compile and include the library project unless it is in the workspace, so we need to import it as well. It will also allow us to properly debug Pender if a problem occurs in the Library, which is likely as the Client project includes almost no native code

lorinbeer's avatar

lorinbeer

Member since 15 Feb, 2013

None one is following lorinbeer yet!

Connect with lorinbeer

Trophy Case

  • 11-Year Club
  • Email Verified

Progress

12/44
How to earn trophies