Register
handmade.network»Forums»Work-in-Progress»Ouzel game engine
Elviss Strazdins
4 posts

Game developer from Latvia. Author of the Ouzel engine.

Ouzel game engine
3 years, 3 months ago Edited by Elviss Strazdins on Dec. 9, 2016, 5:55 p.m.
Hello!

I am Elviss Strazdins, a game developer from Latvia. I have been working on games and game engines for more than a decade (13 years to be exact). I am now working on a C++ game engine "Ouzel" (available on GitHub) for 10 months. It will also soon be added to the handmade project list.

I started working on it, because I wanted a fast C++ game engine that can be used without platform restrictions (I am now supporting Windows, macOS, Linux (tested on Ubuntu and Raspbian), Android, iOS, tvOS and working on Windows Phone and UWP support). I was using cocos2d-x a lot before, but its code is a huge mess and it is single threaded, so I had a really small time frame for my game logic. My engine has a separate threads for rendering and game logic. Unlike almost all the other engines, my engine supports Direct3D11, Metal and OpenGL rendering backends and XAudio/OpenAL audio backends. This allows me to launch the game on any platform without translation layers like ANGLE.

There is still a lot of work to be done (Roadmap), but I would really appreciate your feedback about the project.

Thank you!

long time; // know C
Benjamin Arnaud
75 posts / 1 project

hacker for the society of sharing.

Ouzel 2D game engine
3 years, 3 months ago
Greetings Elviss, Welcome to the HMN !

I've looked at your GitHub repository, this looks promising. Honestly quite impressed by the number of platforms you are supporting.

There are things to be said about coding a low level / high performance multiplatform 2D engine.
I have a great love for 2D development because it keeps you away from the trade-off and rounding issue of 3D rastered engines.

Is there a build or a few samples I could try on Windows ?

All the best to you and Ouzel !
Elviss Strazdins
4 posts

Game developer from Latvia. Author of the Ouzel engine.

Ouzel 2D game engine
3 years, 3 months ago Edited by Elviss Strazdins on Sept. 6, 2016, 9:43 a.m.
Hi! The samples are located in the "samples" directory (https://github.com/elnormous/ouzel/tree/master/samples). Just open the Visual Studio (or Xcode) project and build it. But make sure to checkout submodules before that. Unfortunately there are no prebuilt samples available, but if you want it, I can build them and upload to the Ouzel homepage.

long time; // know C
Ronald Fenelus
3 posts

None

Ouzel 2D game engine
3 years, 3 months ago
I tried building and running the samples and ran into issues with XAudio 2 on Windows 7. MSVC 2015 includes the windows 8.1 SDK default, which includes XAudio 2.8 which isn't actually available on Windows 7. To build and run on Win7 I either have to install the a DirectX SDK from June 2010 and deal with whatever conflicts come from that or build without XAudio2 support. Since the DX SDK thing is a hassle I just built without XAudio support which allowed me to run the samples (except for the audio sample, unsurprisingly).

It might make sense to load the audio library dynamically and check for existing versions; You could fall back to 2.7 on Windows 7, for example. This is discussed a bit here: https://hero.handmade.network/forums/code-discussion/t/53

There also seems to be a bug in the sample program where you can click the buttons you use to select which sample to run while running a sample, even though they're not visible.


None
Elviss Strazdins
4 posts

Game developer from Latvia. Author of the Ouzel engine.

Ouzel 2D game engine
3 years, 3 months ago Edited by Elviss Strazdins on Sept. 9, 2016, 12:27 p.m.
Thank you for suggestions. Yes, others have also noted that XAudio causes problems on Windows 7, so I will look into this and fix it. I am also working on a fix for the main menu (it does not lose the mouse and keyboard "focus").

long time; // know C
Elviss Strazdins
4 posts

Game developer from Latvia. Author of the Ouzel engine.

Ouzel 2D game engine
3 years, 2 months ago
I have fixed both of the problems. Now Ouzel engine can be run on Windows 7 (XAudio is being loaded dynamically) and menu is not active if it is not a child of the active scene anymore.

long time; // know C