March “State of the Game” Address

Mar
01

March “State of the Game” Address

With February coming to a close, we’ve made some great strides on the engine and toolkit.  From the render tools being feature complete in Imaginator, to the input and render systems being nearly complete on engine side, we are now able to begin moving into game logic.  March will potentially give us the first build for all backers, which is aimed to contain player controls (1st person), planet generation, terrain manipulation, and basic creative aspects such as being able to put together simple buildings.

Build

Nothing too fancy to show just yet.  We’re still finalizing most of the backend systems in the engine.  As soon as we have accomplished the renderer (all those wonderful visuals that will come soon), we should start being able to show some interesting content.

Code

There has been some significant progress on the code side, both in the game and in the toolkit.  The breakdown is below.

Launcher

We have added a new project in our solution for the launcher.  Backers will simply need to download the launcher to get access to the first and all subsequent builds (with Steam and other distribution platforms having the latest launcher when we go live).  Launcher will also contain the latest news to make it easy to check in with the project, and direct access to our forums to post bug reports and/or respond to others.

Game

The two major milestones of input and renderer are finalizing today.  Audio will be added during March to prep the first build.

We’ve begun preliminary work on the planet generation algorithm (which will simply be one face of the planet where the early builds will take place).  We will also be generating a very simple “universe” that will contain a star which acts as the light source for the planet.  Day/night cycle will be in effect by rotating the planet face around.

Ultimately, the first build that will be available should allow you to interact with any blocks of the planet, and travel the full length of the planet face.  You will be able to dig out any blocks, and place them wherever you like.  You will also be able to “subdivide” the blocks up to 3 levels to create more intricate buildings and structures by working with smaller blocks.

April will expand upon this simple functionality by adding in the first pass at cultures and the early access town, as well as preliminary locations to be found throughout the planet.  We will continue to refine both of these until the potential Summer early access build release.

Toolkit

As you need the proper tool for the job at hand, we have spent most of the time in February on the tools necessary for the engine to function.  The renderer tools are in a “feature-complete” state, and are currently allowing us to load in a wide range of mesh and texture types, import shaders from external programs, and create cubemap and materials.  We will continue to build various tools as game systems require data on the fly.

In the examples below, we are using random assets to test the tools out.  Also their UIs have not been finalized as it has not been needed yet internally to get the proper data in, so there will be spacing issues.

Mesh Editor

MeshEditor

As is our standard template, all meshes are listed on the left.  For organizational purposes, categories will be available, and the top search bar will allow us (and modders) to quickly find the asset in question.  The top gray area is the mesh viewer, which is currently setup but not being used yet.  The bottom area is the mesh’s hierarchy.  This would be used if a mesh imports with multiple submeshes, and allows you to assign a material and check that each part is correct with the properties view on the right.  Right portion allows you to import and remove meshes, change the name of the overall mesh and its parts, set the material (which will be viewable to ensure the mesh looks correct), and some stats about the mesh such as the vertex count.

Materials can be auto generated per mesh loaded in (default), but this option can be disabled in the toolkit’s options area (for instance, if you have a few materials that will be reused for most assets, you can disable this functionality and simply choose the material in the list on the right).

Texture Editor

TextureEditor

Similar to the mesh editor.  Textures on the left, which can be categorized in the future, along with a search functionality.  Texture view in the middle, and similar buttons/controls on the right.

Cubemap Editor

CubemapEditor

Cubemaps are created from textures imported in the texture editor.  Once you add a new cubemap, you can drag and drop textures from the texture editor into the proper slots to generate your cubemap.

Shader Editor

ShaderEditor

The shader editor is broken into 3 tabs:  the vertex program, the fragment program, and the error console.  Both the vertex and fragment programs function as a rudimentary IDE for shader designers including line numbering, syntax highlighting, auto tabbing, simple “intellisense” functionality, and more.  Shaders can be built by hand in the GLSL language, or imported from Mental Mill (this is a temporary feature, and we will be building our own visual shader designer after the early access build goes live).  The shaders can then be compiled to check for any errors which will be listed in the error console tab.

Material Editor

MaterialEditor

As seen on the left, materials have been auto generated by the 4 meshes loaded in.  The materials begin without any shader linked.  When a shader is chosen on the right side, the editor will parse the shader and provide the inputs in the middle-right panel.  These inputs can range from the textures used, colors, various parameters, etc.  Texture slots function the same as the cubemap editor where you can drag the texture from the texture editor onto that input slot.  This applies as well to cubemap slots.  Everything else can be manually set.  The final material will be shown in the gray area on a sphere model (and on the mesh it is attached to within that editor window).

Cross-Platform

We stand behind ensuring that Imagine Nations, and the Imaginator toolkit, are fully cross-platform.  As we’ve received a handful of questions related to this subject, we wanted to explain the process over 2014.

Our first build, and the early access launch, will be on Windows only.  This is mainly to ensure that the base game is in a fully working and stable state.  As we are building the entire game on a cross-platform foundation, when we are confident that everything is working appropriately, we will begin to generate the builds for Mac and Linux.

The main difficulty is that generating those builds isn’t a quick and easy process like it is on Windows (at least when developing on Windows), and we would prefer focusing our entire time to ensure the game is solid.  Once we accomplish that goal, we can then focus all of our time on both creating the builds for the other platforms, and testing them without any distractions.

We would like to have all the platforms launched by the end of 2014, but it really depends upon the state of the game.  If all goes well, we will definitely hit that goal.  If not, there’s no reason why the other builds wouldn’t be launched in 2015 (much earlier than the release date).

Campaign

As you can read from the notes above the game is beginning to come together.  Please support our crowdfunding campaign on our website.  Every pledge supporter earns “Backer Access” to tech demos, alpha demos, beta demos and special access to “Backer’s Only” Forums.

– The Imagine Nations Team

 

 

Share

This topic contains 0 replies, has 1 voice, and was last updated by  Mike 3 years, 6 months ago.

  • Author
    Posts
  • #2189

    Mike
    Keymaster

    With February coming to a close, we’ve made some great strides on the engine and toolkit.  From the render tools being feature complete in Imaginator,
    [See the full post at: March “State of the Game” Address]

You must be logged in to reply to this topic.