November 26, 2008
Non-Standard Containers for Games
I think something that every game developer comes to grips with when developing tools and game code is dealing with design problems in C++ STL. The C++ standard library has some really nice features (stream-based i/o, map, algorithm), but its lacking some features that are deal-breakers for use in modern game technology:
* The allocator API design cannot support instanced allocators (allocators cannot be specified at object construction time)
* It impossible to use relocatable blocks of memory (due to internal pointer storage within the STL classes)
* Some aspects of STL make debugging hard (examining set and map contents using expressions or watch windows)
Does anyone know of an open source project that addresses any of these shortcomings? I for one would love to see an alternative standard library that addresses these issues well.
Some more thoughts after the jump.
Continue reading "Non-Standard Containers for Games"
Posted by GeoffEvans at 11:50 AM | Comments (0)
October 26, 2008
Hello!
I am Geoff Evans, Senior Tools Programmer at Insomniac Games. I will be making frequent (hopefully) updates to this blog including:
* Announcing new releases of open source and commercial products relevant to tools, engine, and game development
* Posing interesting development questions and looking to you to participate via comments for answers/feedback
* Sharing anecdotes on coding, build systems, IDEs, and SCM
Do these sound appealing? Do they sound terribly boring? Am I missing something? I defiantly want to hear from you. You can reach me at here.
I am a big fan of RSS (Google Reader, specifically) to wrangle all my news. If you want to grace us with your subscription you can do so via RSS here.
Posted by GeoffEvans at 07:18 PM | Comments (0)
July 24, 2007
Game File Format Central
Guess the title says it all, eh? :)
Posted by JayK at 07:19 AM | Comments (7)
Simplygon Review on GameDev
Another poly reduction app comes our way. Does anyone actually use these in production? I know I've been at places that have tried and for the most part, it was always better to do it by hand or resurface the model if need be - even for background geometry.
Posted by JayK at 07:07 AM | Comments (0)
What determines good middleware?
An interesting discussion was happening at ChaosEngine regarding middleware - what general criteria do folks look at when evaluating whether a particular middleware meets their needs or not? Thoughts?
Posted by JayK at 06:56 AM | Comments (0)
FX Composer 2.0 RC1
This one's been awhile in coming, but it seems to have finally made it out with some interesting features, one of which is Mental Mill, graph node editor for shaders.
Posted by JayK at 06:46 AM | Comments (0)
July 04, 2007
Improved drag-drop implementation (CodeProject)
This is a demo application that shows how to implement a drag and drop solution that gives you more positioning control. As long as you move an object within its container, there is no need to perform a true drag and drop operation; you simply change its location. This application shows how to automatically switch between the two methods. To do some exact positioning you would like to see the outline of the object while moving it. This application also shows how to do this. It's also possible to move the object with the arrow keys. To align objects you most likely need some grid to snap against. This is also included in this application. To give this demo some more value the drag-drop object is also resizable via a corner grip. This is all done in Visual Studio 2005 and the 2.0 framework.
Posted by JayK at 11:49 AM | Comments (0)
Lightsprint
Lightsprint is a new solution for realtime radiosity and global illumination available for PC and consoles.
Posted by JayK at 08:28 AM | Comments (0)
June 29, 2007
GPU Caps Viewer
A handy little util for checking out caps on any gpu.
Posted by JayK at 09:03 AM | Comments (0)
June 27, 2007
Omegame releases Omegame Menus Master
Omegame announced Menus Master v2.5, the most complete, flexible and user-friendly solution to create game user interface (UI) for any c++ platform.
Menus Master provides all the functionalities artists need to create any kind of sophisticated game user interfaces: 2D and 3D front-ends, in-game UIs and heads-up displays.
• No programming assistance needed:
- With Menus Master, artists can create up to 80% of your game UI and HUD, without any programming assistance.
- Programming assistance is only needed when the UI is integrated into the game, and if complex interactions between the game UI and the game must be established (i.e. to manage dynamic databases).
• No Creativity Constraints:
- Menus Master Studio supports any kind of resources needed to create AAA game UI: Texts, bitmaps, 3D objects, animations, videos, sounds and music.
- All parameters of these objects (position, size, motion, colours, alpha, etc.) can be easily modified and animated within Menus Master Studios.
- 2D and 3D are treated the same in Menus Master; Menus Master offers powerful tools to manage 3D and 2D.
- 3D meshes can be imported from any third party software with their own animations. Animations can also be created within Menus Master.
• Easy Localization:
- All texts created in Menus Master can have several language fields, one for each language, and these fields can be Unicode (Japanese, Korean, Chinese, etc.)
- UI project language can be changed at any time to check if the page layout conforms to wishes.
- All texts are saved in a *.CSV file. The linguistic team can work separately on this file (translate, correct, add languages …) at any time.
- When using Unicode fonts, Menus Master generates a bitmap file with only the characters used in the UI.
• Fully open and scalable:
- Menus Master has an open I/O architecture; all interactions between Menus Master and the platform are made through drivers.
- Menus Master is consequently totally compatible with any existing market’s platforms, present and next generation, as soon as technical specifications are known.
- Any standard or exotic peripherals (camera, microphone, magic wand ...) can also quickly be supported by Menus Master thanks to its drivers-based architecture.
- This open architecture also allows to use any homemade technology or third-party middleware with Menus Master.
- Omegame is establishing partnerships with middleware companies to make their solution work with Menus Master.
• Real time preview in real conditions (WYSIWYG):
- Menus Master allows a real time preview of the game UI, at any time.
- On a multi platforms project, any resources can be assigned to a specific platform. Users can quickly switch between the different versions to appraise them according to the platform constraints.
- Moreover, the drivers-based architecture of Menus Master also allows to use any homemade technology or 3rd party middleware within Menus Master Studio.
- You can consequently use in Menus Master Studio your own cutting -edge 3D engine, or the latest third-party sound middleware you need, etc ...
- So what you see on your screen is exactly what you will get in your game.
• Teamwork:
- Menus Master allows several artists to work on different parts of a UI at the same time.
- Any asset manager can also be integrated into Menus Master.
• Parallel authoring:
- Menus Master allows to create, from one UI, several others UIs for different platforms.
- Each UI can have its own dedicated resources and parameters (A next-gen version of the UI can have higher resolution textures and a higher display resolution for instance)
- Menus Master Data Generator is batchable with the game production pipeline. UI made with Menus Master Studio can consequently be smoothly integrated into the game.
• Programmer friendly:
- Menus Master Development Kit uses C++ namespace called ''MmDk'', in order to avoid any naming conflicts with the existing game's components.
- Menus Master avoids fragmentation memory problems; data in the memory is used where it is allocated; no additional memory allocation is needed. UI Data is released with one sole memory release.
- All external resource files keep their in-game format; they don’t have to be modified to be used by Menus Master.
- They are loaded according to the game engine’s protocols, allowing custom loading technologies (dynamic, streaming, etc.).
- Several UI data can be stored together in memory; they can be used at will, possibly at the same time.
- UI Data can be processed at will (compressed, encrypted, etc.).
- Menus Master Data Generator provides resource usage statistics, useful to optimize resources management.
Posted by JayK at 04:20 AM | Comments (0)
