Results 1 to 10 of 10

Thread: Scenemon

  1. #1

    Thumbs up Scenemon

    Scenemon is finally released for Windows and Android (and even iOS in the next weeks). It's a farbrausch & rebels co-prod. For those who do not know it: I am a member of farbrausch since 2006.

    It's a simon/sensor-like game with demoscene melodies.

    It's coded in ObjectPascal and compiled with FreePascal SVN trunk with some Compiler&RTL modifications from me (some FPC compiler ARM codegen improving patches and some android-oriented FPC RTL patches).

    It uses for OGG decoding my pascal TREMOR port (see http://www.pascalgamedevelopment.com...decoder-TREMOR ), for PNG decoding BeRoPNG (see http://www.pascalgamedevelopment.com...ete-PNG-loader but in an yet private enhanced and codecleanupped version), for XM module replay BeRoXM (see http://www.pascalgamedevelopment.com...ct-pascal-code ), for additional synthesis, mixing and resampling also own code. It uses OpenSL ES as sound output API on android (see http://en.wikipedia.org/wiki/OpenSL_ES ) instead the Audio AudioTrack Java API over JNI, because OpenSL ES is a native sound API and the AudioTrack stuff not. OpenGL ES 2.0 is used because it is with the GLSL ES shader support more flexible and offer even more performance (on current mobile SoCs) than the static-pipeline OpenGL ES 1.x. And the entrie code is multithreaded and optimized for the new dualcore/quadcore/whatevermulticore android smartphones&tablets.

    And here finally the links:

    http://www.pouet.net/prod.php?which=59101 (Pouet)

    http://vserver.rosseaux.net/demoscen...f/scenemon.zip (Win32)

    http://play.google.com/store/apps/de...games.scenemon (Android)

  2. #2
    Works great on the Asus Transformer (TF101).

    How did you manage to make it work for all these platforms? Did you make a wrapper for each platform, with a shared interface to the game code?
    Coders rule nr 1: Face ur bugz.. dont cage them with code, kill'em with ur cursor.

  3. #3
    Quote Originally Posted by chronozphere View Post
    Works great on the Asus Transformer (TF101).

    How did you manage to make it work for all these platforms? Did you make a wrapper for each platform, with a shared interface to the game code?
    Yes, the scenemon.dpr has IFDEFs in the USES clausel for each target platform for to load different API units for each target plaform and the whole scenemon.dpr has itself many target-platform-specifies IFDEFs for to have different individual main loops and/or different exports for each target platform (for example at android for bridging over the Java Native Interface, because the new NativeActivity stuff at Android >=2.3 is still too far limited for the real enhanced usage (for more than for simple pure games), for example for sending android intents to other activity as just as for example for to the android internet browser, for to open a URL from your native-code-based game).
    Last edited by BeRo; 22-04-2012 at 10:14 AM.

  4. #4
    very nice game , i like the smooth movement of the menu and the transition between them .
    but why using sdl since you are in win platform or just because of porting matter ?
    Last edited by AirPas; 22-04-2012 at 04:21 PM.

  5. #5
    Hi Bero! I could not test this because my android device is version 2.2 and this requires 2.3 but it looks cool from the video
    Is there any feature in it that requires 2.3 or could you recompile for 2.2?

    About your FPC patches, could you please make them available?
    I have started to use Freepascal for Android too and want to try porting my game engine.
    ZGameEditor - Develop 64kb games for Windows.
    Thrust for Vectrex - ROM-file and 6809 source code.

  6. #6
    Quote Originally Posted by VilleK View Post
    Hi Bero! I could not test this because my android device is version 2.2 and this requires 2.3 but it looks cool from the video
    Is there any feature in it that requires 2.3 or could you recompile for 2.2?
    Because of these reasons:

    • I'm using the OpenSL ES as sound output API and the native asset api, which're both first available from as of Android >= 2.3 / Android API Level >= 9.
    • Since Scenemon is a music game: Android <=2.2 / Android API Level <=8 had only the AudioTrack Java API with too large sound latency, see http://code.google.com/p/android/issues/detail?id=3434 and http://www.synthtopia.com/content/20...android-phone/ and http://arunraghavan.net/2012/01/puls...flinger-fight/ (at Android 2.3 is the sound latency problem still existent but is already a bit better, when the device supports the android.hardware.audio.low_latency feature, which exists even from as of Android >= 2.3)
    • Incomplete OpenGL 2.0 API implementation at Java level, where many API functions were empty stubs with unimplemented-exception-calls, good for native-code stuff this is no issue, but Android <=2.2 has still many other OpenGL-based issues, for example, buggy GPU drivers.
    • Android <= 2.2 has no parallel-executed garbage collector, only a stop-and-go incremental garbage collector, which can be often a frame rate killer, even at native code non-java-based games, if the CPU is only a singlecore CPU and in the background runs still many other java-based apps.
    • Devices, which can run Android >= 2.3 with an offical Android >= 2.3 ROM from the device manufacturer (not inoffical homebrew hacky custom ROM stuff), meets the minimum hardware requirements of Scenemon in 98% of the cases, and devices, which can run maximal Android 2.2 / had only ROM updates to Android 2.2, only in circa 25% of the cases.


    Quote Originally Posted by VilleK View Post
    About your FPC patches, could you please make them available?
    I have started to use Freepascal for Android too and want to try porting my game engine.
    Yes in the next days or weeks, since I must even for my reallife day job improve the ARM code generator of FreePascal for the company where I'm working for them, and when I'm done with it, I'll send all patches to FPK (Florian Klaempf) in one big patch archive.


    Quote Originally Posted by AirPas View Post
    very nice game , i like the smooth movement of the menu and the transition between them .
    but why using sdl since you are in win platform or just because of porting matter ?
    Because SDL is for the usage on the Windows, Linux and Mac OSX target platforms at the same time, see my C64 emulator micro64 for Win/Linux/MacOSX http://micro64.de/ (which is one of the most accurate C64 emulators today). Short Scenemon is already for Linux and MacOSX without any further code changes but I had found no time yet, to reboot, to build these Linux and MacOSX binaries.
    Last edited by BeRo; 23-04-2012 at 12:44 AM.

  7. #7
    It's also available at AndroidPit now http://www.androidpit.de/de/android/...nemon/Scenemon and at the Amazon android app store is it still under review.

  8. #8
    PGDCE Developer de_jean_7777's Avatar
    Join Date
    Nov 2006
    Location
    Bosnia and Herzegovina (Herzegovina)
    Posts
    287
    Tried your game on a Nexus S (ics 4.0.4), runs nicely.

    Quote Originally Posted by BeRo View Post
    Yes in the next days or weeks, since I must even for my reallife day job improve the ARM code generator of FreePascal for the company where I'm working for them, and when I'm done with it, I'll send all patches to FPK (Florian Klaempf) in one big patch archive.
    This is awesome.

  9. #9
    Quote Originally Posted by de_jean_7777 View Post
    Tried your game on a Nexus S (ics 4.0.4), runs nicely.


    This is awesome.
    So http://bugs.freepascal.org/view.php?id=21853 the RTL-patch-part of it the ARM-codegen-patch-part of it will follow in some days or weeks.

  10. #10
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    Maximum respect BeRo! this is not only awesome but that a farbrausch member frequents PGD? it's an honour thank you very much for your work on the ARM code-gen, I'll no doubt be unaware that there was a problem during some future coding session thanks to you
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •