.
Modify the UI while the game is running through our Developer tools and see the change immediately. Or, setup your game to automatically reload the UI anytime a file is changed.
Use React + Redux, Preact, WebPack, jQuery, Anime.js and others and benefit from ever increasing knowledge and tools of the web world.
ReactDOM.render(
<h1>Hello, Gameface!</h1>,
document.getElementById('root')
);
Use our declarative data binding to minimize the amount of code (especially boring code) you will need to synchronize the states of the game and the UI.
<div class="inventory">
<div class="inventory-item"
data-bind-for="item: {{player.items}}"
data-bind-style-background-image-url="{{item.icon}}"
>
<h3 data-bind-value="{{item.name}}" data-bind-color="{{item.rarity}}"></h3>
</div>
</div>
Work uninterrupted - anything UI related can be done from within Gameface without C++. The game's not ready yet? Test without the game in our test app. Data's not exposed? Mock it in JavaScript. Don't know how well your UI is working? Automate QA.
// Create some mock data
engine.createJSmodel("player", {
stats: {
health: 55,
mana: 33
}
});
Gameface is a standard compliant HTML5 engine - we support everything needed for game UI. Even more, standard HTML5 lacks a few key features that modern game UI needs so we extend it with custom CSS and Javascript to do what you normally would have no way of doing.
See the Pen Simple Health bar by Nikola Dimitroff (@nikoladimitroff) on CodePen.
No visual effect is out of reach - apply filters and blend modes, 3D and 2D transform UI elements, use transparent videos for particle effects.
Credits for the above video go to CyberWebFX
You don't need to guess what resolutions your players will be running on. Your UI will look as intended everywhere thanks to:
Want to use some platform-specific texture format (DDS, KTC, ASTC) or an image straight out of Photoshop (PSD)? You can do that. Want to load your UI textures by yourself? You can do that. Want to display your in-world camera capture in the UI (e.g. for a 3D player avatar)? You can do that.
If you are using the amazing Unreal Engine 4 or Unity3D, installation steps are as easy as 1-2-3. Our plugins for both engines will make you feel like our tech is a native part of the engine.
We are the fastest UI technology you can find anywhere and we have the data and testimonials to back it up. You’ve probably heard that HTML engines are usually slow - but Gameface was designed specifically for game UI and optimizes hard for it. For example, the UI above from the previous bullet, runs in under 1 ms on a standard PS4 (not PS4 Pro!).
We are aware our tech doesn’t run in isolation from your game. For best performance, we give you control over all subsystems we can.
void OnWorkAvailable(void*, cohtml::WorkType WorkType, cohtml::TaskFamilyId TaskFamily)
{
MyEngine::EnqueueWorkOnSomeThread([WorkType, TaskFamily]()
{
cohtml::Library::HintThreadUsage(WorkType);
CohtmlLibrary->ExecuteWork(WorkType, cohtml::WEM_UntilQueueEmpty, TaskFamily);
});
}
We write code so you don't have to and you only need an hour to understand how to use our API.
// your game loop
while (true)
{
// Update UI
uiSystem->Advance(MyEngine::CurrentTime);
auto frameId = uiScreen->Advance(MyEngine::CurrentTime);
uiScreenRenderer->Paint(frameId);
DrawUITextureOnScreen();
// Update engine simulation
}