Hat is a GPL licensed engine built on-top of xReaL. It supports scripting via V8 (JavaScript), hot-loading of many aspects of the game, Bullet Physics, OpenAL EFX, and much more.

Post article RSS feed Related Articles

A Quick "Thank You"

Apparently the demand for Rogue Reborn was much more than I could ever imagine. The number of emails, help, and so on was incredible. A ton of thank you towards Mike, aka Russian39, who has been the backbone in the last four weeks of pushing me to continue the project. It came to my attention that you can not ask for help in a project until you have something to show. So, this news is going to show a lot.

A while back I presented an article on the weapon scripts that I proposed. It was an exact port of the configuration that Rainbow Six: Rogue Spear RSEditor provided. This is a break-down of what the weapon system provides. The video below shows all the scripting below in application.

Specifying models and engine representation on the fly

The core of the weapon script is representing it with a model and a representation that it is bound by in the engine.

javascript code:
var m9 = new weapon.Weapon("M9", {
    model: 'model/weapon/m9/m99.md5mesh',
    engine_representation: weapon.ENGINE_M9,

This allows you to configure to provide more precise logic for the weapon as they are represented in the engine. This can be as generic as you want -- Load models in the game on the fly. Edit, continue, and don't worry about recompiling or exiting the game.

Accuracy and attributes

You logically will not be firing at the same accuracy throughout the game. Here you can configure how your weapons handle in a particular movement of the player. You can also configure weapons to support any number of zooms, determine the reticule timing, the encumbrance, the firing modes the weapon has, ammo types, rounds, the rate of fire, even support for a safety if such realism is desired.

javascript code:
    accuracy: {
        stopped: 1.26,
        shuffle: 1.75,
        walk: 5.16,
        run: 7.59,
        walk_fast: 7.59,
        run: 13.44,
        crouch: 0.70,
    attributes: {
        weapon_icon: 'textures/reticule/mp5k.tga',
        zoom: [2.00],
        reticule: 'textures/reticule/m9.tga',
        reticule_time: 0.76,
        muzzle_flash: 0.09,
        muzzle_velocity: 375,
        encumbrance: 2.78,
        empty_sound: 'sound/weapon/m9/m9-sliderelease.ogg'
    default_fire_mode: weapon.SAFETY,
    flags: [weapon.SAFETY, weapon.SEMI_AUTOMATIC],
    ammo: {
        type: weapon.AMMO_9MM_FMJ,
        rounds: 15,
        rate: 160,

Animation, sounds, and realism

Animating weapons, providing sounds, and syncing things together takes a long time. RR tries to help developers by providing a system for an easy interface for weapon animations. You define the animation, the time it plays, and any sounds it should play at a per-frame basis. The realism in sounds is just as important as the animation itself.

javascript code:
    animation: {
        reload: {
            animation: 'model/weapon/m9/m9-reload.md5anim',
            time: 2.73,
            sound: [{
                at: 13,
                play: 'sound/weapon/m9/m9-clipout.ogg'
                at: 43,
                play: 'sound/weapon/m9/m9-clipin1.ogg'
                at: 51,
                play: 'sound/weapon/m9/m9-clipin2.ogg'
                at: 63,
                play: 'sound/weapon/m9/m9-sliderelease.ogg'
        draw: {
            animation: 'model/weapon/m9/m99-draw.md5anim',
            time: 1.56,
            sound: [{
                at: 13,
                play: 'sound/weapon/m9/m9-slideback.ogg'
                at: 20,
                play: 'sound/weapon/m9/m9-sliderelease.ogg'
        fire: {
            animation: 'model/weapon/m9/m99-fire.md5anim',
            sound: [{
                at: 0,
                play: 'sound/weapon/m9/m9-fire.ogg'
        firelast: {
            animation: 'model/weapon/m9/m99-firelast.md5anim',
            sound: [{
                at: 0,
                play: 'sound/weapon/m9/m9-fire.ogg'
        idle: {
            animation: 'model/weapon/m9/m9-idle.md5anim'

Ballistics, environment realism, and proper physics is a huge part of any tactical shooter. Rogue Reborn is working to provide you that by integrating the Bullet physics engine. Here is a quick "developer" video showing a bunch of boxes being thrown around. This is a very, very early stage of the engine. It's a wire-frame video, so don't expect craziness.

We wanted to at least show two of the four models that have been ported for Rogue Reborn. All the features described above in the JavaScript weapon setup are being used in the screenshots below.

Demonstrating interaction system, leaning, and reloading.

Showing draw animation and interactions with the player.

An incomplete DE in a single shot fire mode reloading.

There are other miscellaneous happenings that have been going on as well.

  • Chambered reloads - Like real life, if you reload with a round still in the chamber it should be reflected in your total ammunition count.
  • Enhancements to GUI library
  • Enhancements to code-base
Rogue Reborn: Technology Demo (Google's V8 and GUI/Game Scripting)

Rogue Reborn: Technology Demo (Google's V8 and GUI/Game Scripting)

5 years ago Rogue Reborn 9 comments

Shouldn't scripting/GUI-editing be easy? We want people to mod when Rogue Reborn is released. Here is what we are doing to make that process easy.

Rogue Reborn: RS Interactions (climbing, opening, reloading)

Rogue Reborn: RS Interactions (climbing, opening, reloading)

5 years ago Rogue Reborn 18 comments

The Rogue Reborn team has implemented a vast portion of the interaction system from Rainbow Six: Rogue Spear. Developer's Blog.

Rogue Reborn: Technology Demo (OpenAL EFX + GLSL)

Rogue Reborn: Technology Demo (OpenAL EFX + GLSL)

5 years ago Rogue Reborn 8 comments

The last week was a mix of pleasure and pain as we took the sound and renderer into different directions. We are proud to demonstrate a very fun stun-grenade...

Rogue Reborn: Killhouse Two-Story

Rogue Reborn: Killhouse Two-Story

5 years ago Rogue Reborn 31 comments

Weekly update. Showing off an almost complete Killhouse two-story, various changed to the movement, and the upcoming map. Rogue Reborn is a port of Rogue...

Add game Games
Rogue Reborn

Rogue Reborn

5 years ago TBD First Person Shooter

Rogue Reborn is a modern port of Rainbow Six: Rogue Spear. The primary focus of this project is to incorporate all the elements of the original R6RS while...

Post comment Comments
LizardGamer May 9 2011 says:

Yay, something based off Xreal

+1 vote     reply to comment
Post a comment

You are not logged in, your comment will be anonymous unless you join the community. Or sign in with your social account:

Windows, Linux
Send Message
Release date
Engine watch
Start tracking
Embed Buttons
Link to Hat by selecting a button and using the embed code provided more...
215 of 756
Last Update
5 years ago
2 members