Another step forward for SDXM, my 2D game engine being built with Qt and c++. There is now functioning, gimmicky image distortion, and so far the effects are: water, spiral, and pixelate (more coming). You can observe the background in this video. Possible usage is for underwater levels where the effect can be applied to the frame buffer, transitions between stages, or other fancy 2D gimmicks.
This also shows you 3000 sprites on a single stage + 1 user-controlled sprite, which is indicated with a yellow arrow. It also demonstrates a custom composition mode of color exclusion for the 3000 sprites, which is why they have different colors than the user-controlled one, which is composited with normal colors. This video also shows layering, and image scrolling.
Not shown here, but have been tested: real 3D plane, solidity collision, audio, and scaled fullscreen (not ideal or optimal, but is a possible option for anyone without access to their graphics card settings).
The target framerate is set for 30 frames per second. The average real-time frame rate drops to 22 with all my cycles. So I have to adjust the timer dynamically a bit to try to force true 30 frames per second. It’s wonky and isn’t that reliable. But maybe that’s just because so many things are being animated. A regular game won’t be this heavily animated. There are 3000 sprites with 10 frames each. And there are at least 60 frames in the background distortions. So this isn’t how a normally optimized game would be. It’s just me testing the limits, a benchmark, if you will.
Optimal running resolution of 640x480x32. I know, it’s lackluster, but thems the beans for now. I need to accomodate possible 3D gimmicks later.
For more information, feel free to leave your comments below or visit my designated website for this project at http://sdxm.eastfist.com. If you are feeling generous, I would be grateful for any financial support or donations that could further develop this project. You can find out more information at the website.
Metroid Fusion sprites are used under Fair Use for educational purposes.
Background graphic is mine.
Let me know in the comments what kinds of games you want to be able to make. I’ll try to implement as many gameplay mechanics as I can think of (within reason for a hobbyist like myself). Expect at least Mario, Metroid, Castlevania, Contra, Ninja Gaiden, 1942, Tetris, Pac-Man mechanics. RPGs like Chrono Trigger, Legend of Zelda and Final Fantasy seem easy, but the battle systems and menus are something that might be too daunting for me, for now. I know how, but it’s not a priority (or rather, I can’t see how I can present it in an intuitive way for end-users). Also, no networking capabilities simply because I don’t know how. And no 3D requests.
Programming is very much like writing a novel. You already know how it all works out in your head, you just have to sit down and write it. Pages… and pages… and pages of code.
Tags: 2d, 3d, benchmark, demo, deus ex, engine, features, game, gears, gimmick, image distortion, kit, machine, qt, saelee, sdxg, sdxm, software, tutorial, video