Share My Creation Project Ryu - Bulldozer Engine Tech Demo

PROJECT'S CURRENT STATUS:
- 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.

project-ryu.png
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!

promo.png

Concept Art

game-screens.png

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!


Controls:
help.png


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.

Features:

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

Attachments

  • logo.png
    logo.png
    133.1 KB · Views: 2,499
Last edited:

Cableguy

Expert
Licensed User
Longtime 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)
 

sorex

Expert
Licensed User
Longtime User
just wondering...

how do you control the player?

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

wonder

Expert
Licensed User
Longtime 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.
 

sorex

Expert
Licensed User
Longtime 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.
 

Cableguy

Expert
Licensed User
Longtime 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!
 

susu

Well-Known Member
Licensed User
Longtime User
Great project! It's too fast for me. Maybe I'm getting old? :D
 

ivan.tellez

Active Member
Licensed User
Longtime 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.
 

wonder

Expert
Licensed User
Longtime 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:

ilan

Expert
Licensed User
Longtime 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 ....
 

ilan

Expert
Licensed User
Longtime 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?


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:

B4X:
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+1
        If frameint Mod 4 = 0 Then
            If drawint = 0 Then
                drawint = 2
            Else If drawint = 2 Then
                drawint = 1
            Else If drawint = 1 Then
                drawint = 0
            End If
        End If
      
        Batch.DrawRegion3(Frames(0,drawint) ,mbr1.x,mbr1.y,vpW*0.06,vpH*0.08,vpW*0.12,vpH*0.16,1,1,0)
 

wonder

Expert
Licensed User
Longtime 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:
 

ivan.tellez

Active Member
Licensed User
Longtime User
Update:
- Added an optional libGDX speed limiter​

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.
 

wonder

Expert
Licensed User
Longtime 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.
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:

wonder

Expert
Licensed User
Longtime 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
 
Top