Share My Creation Project Ryu - Bulldozer Engine Tech Demo

Discussion in 'Share Your Creations' started by wonder, Dec 10, 2014.

  1. wonder

    wonder Expert Licensed User

    - I'm working on a SQLite integration with the engine, so that everything loads from a local database. Textures, Stats, Levels, AI, Moves, Sprites, etc.

    [​IMG] Hi everyone!!

    I'm currently developing a fighting game / beat'em'up engine called "Bulldozer Engine".
    My goal is to build games like Streets Of Rage, Final Fight or Street Fighter with great responsiveness and speed. I love fighting games, namely those made in Japan.

    Download the latest version: September 2nd 2015
    Want to run it on Google Chrome? See this post!

    Concept Art

    Actual Screenshots

    Under the influence of Capcom, SNK and Team Ninja, I decided to create this small tech-demo. There's a lot of copyright infringement here, so this app isn't going anywhere near Google Play. There are only three stages, selected randomly. Once you defeat your opponents you win the game.

    Download the latest version - September 2nd 2015
    Want to run it on Google Chrome? See this post!


    Tested on:
    • PC Win7 64-Bit: Google Chrome ARC Welder
    • PC Win7 64-Bit: Andy Emulator
    • PC Win7 64-Bit: Bluestacks Emulator
    • PC Win7 32-Bit: Google Chrome ARC Welder
    • PC Win7 32-Bit: Andy Emulator
    • Tablet nVidia Shield
    • Tablet ASUS ME173x
    • Phone Sony Xperia P
    Color indicates stress-test performance. Code optimization is always a work-in-progress.


    • Context-Sensitive Sprite Animator
    • Several Animation Layers
    • Dynamic Stereo Sound FX
    • In-House Collision Detector
    • In-House Physics Engine
    • In-House SlideShow Engine
    • Ergonomic Touch Controls
    • Native USB/Bluetooth GamePad Support
    • Native USB/Bluetooth Keyboard Support
    • OpenGL Rendering through LibGDX

    Known Issues:

    • Currently none.
    Please let me know if you find any bugs or issues.
    Remember, this is not a finished product.

    Technical Details:

    I decided to embrace the challenge of creating a game engine from scratch. Except for the rendering part, which is beautifully handled by libGDX, I created all the remaining components, such as the sprite animator, collision detector and physics engine.
    I have to say, I'm quite proud of what I accomplished so far. :D

    Finally, I have to thank @Informatix for his libGDX support and game tutorials, @walterf25 for his encouragement and of course @Erel for all his tutorials, dedication to this forum and for creating B4A.

    Thank you for your support, guys! :D

    FAIR USE STATEMENT: In accordance with Title 17 U.S.C. Section 107, this non-profit demo uses copyrighted materials intended for evaluation and educational purposes only.

    Attached Files:

    • logo.png
      File size:
      133.1 KB
    Last edited: Sep 4, 2015
  2. Cableguy

    Cableguy Expert Licensed User

    Just loved the logo!
    I used to play the arcades version of street fighter.. The best ever...( usually Iplayed Blanka or "alter-egoed" Ken)
    wonder likes this.
  3. sorex

    sorex Expert Licensed User

    just wondering...

    how do you control the player?

    and what if you go into tiny resolutions where your thumb covers half the screen?
  4. wonder

    wonder Expert Licensed User

    You control the player using your left thumb. Give it a try, it's pretty intuitive. :)
    Unfortunately the "your thumb covers half the screen" issue is something I'll have to deal with.
    The control scheme will be improved in the future.
  5. sorex

    sorex Expert Licensed User

    that's one of the reason that kept me away from using a joystick like control
    and probably the reason that these single touch games are popular since they don't require extra space and the cover misery.
  6. wonder

    wonder Expert Licensed User

    Good joystick controls on mobile are difficult achieve, but it can be done, especially for tablets.
    Either way, I have already under development a single touch/swipe/hold type control for this game.
  7. Cableguy

    Cableguy Expert Licensed User

    I was overwelmed by the unexpected start... 3 on 1!!! in my phonepad it runs tooooo fast, so I was almost dead by the time I understood who I was and how to control it. still awsome fluidity!
    thedesolatesoul and wonder like this.
  8. wonder

    wonder Expert Licensed User

    Thank you for testing Paulo!! :D

    @sorex, I added a control scheme to the first post. :)
  9. susu

    susu Well-Known Member Licensed User

    Great project! It's too fast for me. Maybe I'm getting old? :D
    wonder likes this.
  10. ivan.tellez

    ivan.tellez Active Member Licensed User

    Its a really great project, but, with lots of copyright infringement lawsuits.

    Even the controller has a trademark, and the Fair use is not allways a protection.
  11. wonder

    wonder Expert Licensed User

    Thank you, thank you @susu and @ivan.tellez!!! :D

    Indeed this project in an orgy of copyright infringement. ;) I'm using those elements, however, for nothing more than developing and showcasing my engine. The real project here is the Bulldozer Engine. :) Once it's ready, I will purchase videogame graphics, sounds and animations in order to release my own original product. :)

    EDIT: Alright @ivan.tellez, the download links are now available only for licensed b4x forum members.
    Last edited: Dec 11, 2014
  12. ilan

    ilan Expert Licensed User

    i tried your game and its really great. i like it, its only very very fast you need to make at 1/2 faster to be playable ....
  13. wonder

    wonder Expert Licensed User

    Thank you very much for testing!! :)

    Is the speed limited version also too fast?
    I'll try to address the speed issues in the next few days!

    What's the average libGDX speed?
  14. ilan

    ilan Expert Licensed User

    hi wonder, i have lot of libGDX games and what i think is the problem is you change every frame the sprite image, you should do it every 4 frames

    do it like this:

    dim frameint as int = 0
    dim drawint as int = 0 'sprite number (we have in this example only 3 frames)


    'draw image every 4 frames
            frameint = frameint+
    If frameint Mod 4 = 0 Then
    If drawint = 0 Then
                    drawint = 
    Else If drawint = 2 Then
                    drawint = 
    Else If drawint = 1 Then
                    drawint = 
    End If
    End If
    0,drawint) ,mbr1.x,mbr1.y,vpW*0.06,vpH*0.08,vpW*0.12,vpH*0.16,1,1,0)
  15. wonder

    wonder Expert Licensed User

    Thank you for your suggestion, @ilan12041981. I will look it up on my animation and movement routines. Please let me know the libGDX average speed and the Animation FPS average. Also which device are you testing it on.

    About this speed issue, I'm starting to wonder...

    Maybe the game is too fast because I made it so intentionally. o_O As I stated before, this engine is being created under the influence of Japanese fighting games, which are very fast by their own nature. Maybe there's nothing wrong with the rendering cycles and it's just the overall speed I've built the project on. If so, that will be easily adjustable for casual players. :)

    Here's an example of my dream/goal for my engine:
    Peter Simpson and ilan like this.
  16. wonder

    wonder Expert Licensed User

    - Added an optional libGDX speed limiter​
  17. ivan.tellez

    ivan.tellez Active Member Licensed User

    Hi, this is wrong. libGDX has no "average speed" The FPS will allways ve differen in each device, and also affected by the sprites and code. So, All the games had to be based on timing, not on FPS. This is why the illian aproach its also wrong. Maybe works for simple games, but its not the answer for a fighting game.

    You can see a little example on the tutorial How to make games by Informatix. See the Mind the step part.
  18. wonder

    wonder Expert Licensed User

    I'm using the "mind the step" as described by Informatix in his tutorial, which I read many times. My speed limiter is just an optional forced delay on the game main cycle. The game cycle will never run over 60 times per second. When enabled, it runs in parallel with the step technique.

    libGDX does have an average speed, it's a built-in function: lgGraphics.FramesPerSecond. The libGDX numbers you see on screen are given by such built-in funtions. The Animation numbers relate to my sprite animator, since I'm not using the GDX one. In all devices and emulators I tested, there are no problems with the sprite animation. The last set of numbers is nothing but my own calculation of the libGDX cycles.

    To my understanding so far, the game is too fast as per design, I will reduce the character speed and upload a new version.
    Last edited: Dec 14, 2014
    ivan.tellez likes this.
  19. ivan.tellez

    ivan.tellez Active Member Licensed User

    Well, sorry, i didnt explain myself. Your right somehow, libGDX does have a "Target" speed. What i try to say, is that you never should trust that "average" speed because it will depend on so many factors.

    In that case, i want to test the new version, congrats.
    wonder likes this.
  20. wonder

    wonder Expert Licensed User

    Hello again @ivan.tellez,

    I updated the game/engine.
    The actor speed is now 75% of the original and can be freely adjusted.

    Please test and let me know:
    • Optimal playable speed - Which one is the most comfortable for you?
    • Maximum playable speed - How fast can you handle the game out of you comfort zone?
    • Average libGDX speed with the speed limiter OFF
    Muchas gracias de antemano!! :D
    hibrid0 likes this.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice