Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / artificial-intelligence

Middleware in Game Development

5.00/5 (2 votes)
15 Apr 2016CPOL5 min read 19K  
Whether you are looking for an entire game engine to develop your idea into a game, or an efficient easy-to-use video codec to deploy full motion video, this list will guide you to the best middleware to use while developing your game for Intel® architecture.

This article is for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers

Intel® Developer Zone offers tools and how-to information for cross-platform app development, platform and technology information, code samples, and peer expertise to help developers innovate and succeed. Join our communities for Android, Internet of Things, Intel® RealSense™ Technology, and Windows to download tools, access dev kits, share ideas with like-minded developers, and participate in hackathon’s, contests, roadshows, and local events.

Image 1

Middleware can have a number of different meanings in software development. But in game development, middleware can be thought of in two ways: one as the software between the kernel and the UX, and the other more important one as software that adds services, features, and functionality to improve the game as well as make game development easier. Whether you are looking for an entire game engine to develop your idea into a game, or an efficient easy-to-use video codec to deploy full motion video, this list will guide you to the best middleware to use while developing your game for Intel® architecture.

Game Engines

A game engine typically encapsulates the rendering, physics, sound, input, networking, and artificial intelligence. If you are not building your own engine, then you will need to use a commercial version. The game engines below have been heavily optimized for Intel® hardware, ensuring that your game runs great no matter which Intel® platform you choose to develop for.

Engine Description Intel Resources

Unreal* Engine 4

Unreal Engine 4 powers some of the most visually stunning games in existence while being easy to learn. Blueprints visual scripting lets you jump in with no programming experience, or you can go the traditional route and use C++. Unreal supports cross-platform game development on your Intel® processor-based PC and Android*devices.

https://software.intel.com/en-us/articles/Unreal-Engine-4-with-x86-Support

Unity* 5

Unity 5 is extremely easy to learn and supports both Unity Script and C# programming support. Unity supports cross-platform game development on your Intel processor-based PC and Android* devices.

https://software.intel.com/en-us/articles/unity

Cocos2d-x

Cocos2d-X is an open source game engine that supports cross-platform 2d game development on your Intel processor-based PC and devices. Cocos2d-x supports C++, JavaScript*, and LUA and allows developers to use the same code across all platforms.

https://software.intel.com/en-us/articles/creating-multi-platform-games-with-cocos2d-x

Marmalade

Marmalade is designed as a write once, execute anywhere engine. Developers can access low-level platform features for memory management and file access, while using C++ or Objective-C* for game scripting. Marmalade supports cross-platform game development on your Intel processor-based PC and Android* devices.

https://software.intel.com/en-us/android/articles/marmalade-c-and-shiva3d-a-game-engine-guide-for-android-x86

libGDX

libGDX is an open-source, cross-platform game development framework for Windows*, Linux*, OS X*, iOS*, Android*, and Blackberry* platforms and WebGL-enabled browsers. It supports multiple Java* Virtual Machine languages.

https://software.intel.com/en-us/android/articles/preparing-libgdx-to-natively-support-intel-x86-cpus-running-android

Optimization Tools

Intel provides a number of tools for analyzing and optimizing your game. Does a particular section of your game cause long frame draw times? Do you want to optimize your code for multicore performance? Intel’s optimization tools can help you unleash the full performance of Intel hardware.

Intel Optimization Tools Description Intel Resources

Graphics Performance Analyzers (GPA)

GPA is a set of powerful, agile tools enabling game developers to get full performance out of their gaming platform, including (but not limited to) Intel® Core™ processors and Intel® HD graphics, as well as Intel processor-based tablets running Android.

https://software.intel.com/en-us/gpa/faq

Intel® VTune™ Amplifier

Intel Vtune Amplifier gives insight into threading performance and scalability, bandwidth, caching, and much more. Analysis is faster and easier because VTune Amplifier understands common threading models and presents information at a higher, easily understood level.

https://software.intel.com/en-us/get-started-with-vtune

Intel® Compiler Tools

Intel Compiler tools generate code that unlocks the full horsepower of Intel processors.

https://software.intel.com/en-us/compiler_15.0_ug_c

Intel® Thread Building Blocks (Intel® TBB)

Intel TBB lets you easily write parallel C++ programs. These parallel programs take full advantage of multicore performance, are portable and composable, and have future-proof scalability.

https://software.intel.com/en-us/android/articles/android-tutorial-writing-a-multithreaded-application-using-intel-threading-building-blocks

Other tools to consider

Using these additional tools can further specialize your game. Generate realistic looking vegetation with efficient levels of detail (LODs), compose your Mozart-like audio masterpiece, or improve your global illumination with lifelike shadows and lighting. If you’re looking to push the limits of what is possible in game technology, consider the tools below.

Audio Description
Wwise* Multithreaded high-quality audio that integrates easily into multiple game engines and is easily deployed to multiple platforms.

FMOD*

FMOD is a suite of tools for both game development and sound deployment. FMOD studio is an audio creation tool for authoring sounds for your game, while FMOD Ex is a playback engine for sound, with cross-platform compatibility and support for a variety of engines including Unity, Unreal, Cocos2d, and Havok*.

Lighting

Description

Beast*

Autodesk’s Beast provides high-quality global illumination, simulating physically correct real-time lighting.

GUI

Description

Scaleform*

Autodesk’s Scaleform creates menu systems that are both lightweight and feature-rich. Scaleform supports multithreaded rendering, is easy to implement, and supports DirectX* 12.

Misc.

Description

Bink* 2

Bink is a video codec with a self-contained library that does not require software installation. Bink supports multicore CPUs, such as 6th generation Intel processors, for smooth video playback of your game.

SpeedTree*

SpeedTree generates realistic trees with LODs for your game. SpeedTree supports per-instance and per-vertex hue generation to reduce the number of assets for your game, as well as shader optimizations for Intel HD graphics.

Umbra

Umbra is multicore-optimized occlusion-culling middleware, compatible with integration support for Unity and Unreal engines.

Simplygon*

Simplygon automatically generates new LODs by intelligently reducing the number of polygons in models that different LODs require.

Feedback

We value your input! Feel free to comment if you have middleware you’d like to see added to this list. And share screenshots of what you’re working on with middleware in the comments section below.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)