RegEngine - Design

Warning! Some information on this page is older than 3 years now. I keep it for reference, but it probably doesn't reflect my current knowledge and beliefs.

Feb 2010

RegEngine - Design

I'm now starting coding new game engine. It's called RegEngine. Here is a general design. It's coded in C++ for Windows. This time it will be general game engine, not only renderer. Also, this time I'm going to create an editor (I've never done this before).

I will use wxWidgets 2.9 as GUI library for the editor. It's not an obvious choice though. For example, C++/CLI (which I use at work) is also nice technology as it allows to freely mix native and managed code so one can create GUI with Windows Forms while coding the rest in native C++. But personally I prefer something that is fully native. Qt is also good, looks more mature, stable and, well, "serious" than wxWidgets and it's also free for some time. But wxWidgets is more lightweight than Qt (to a certain degree, as GUI library can be). It also looks like wxWidgets is the only GUI library that has both docking and property grid control built in. (I'm talking about version 2.9 here, because stable 2.8 version of wx doesn't have the property grid yet.)

I want to separate engine from renderer. But I'm not going to make an abstraction to be able to transparently switch between DirectX and OpenGL as it makes no sense for me. I just want to have the ability to use my engine, with all its functionality like scenes, actors, scripts, AI, sound etc. with new renderer I would code some day, let it be DirectX 11 or software one. To do this, my engine will be component based. An actor standing in the scene will just have its name and/or some ID, position, bounding volume and a set of components. If it's visible, its rendering component will be an object from the renderer.

There is also a great idea I want to incorporate into my engine that I know from Krzysiek K. (greetings!). It goes like this: The game, which will be a document for the editor (that's what you can create as New, Open, Save, Save As etc.) is a single, big tree of objects of different type. This tree includes both resources (like textures, meshes, sounds) and scenes with hierarchies of actors inside them, as well as any other entities (like dialogs in an RPG game). Object can have sub-objects and can also have a set of properties of different types (like bool, int, float, string, vector, matrix, color). Framework for these properties (I'll call it "reflection") will automatically serialize them to/from file, show them in property grid in the editor and hopefully make them visible to scripts. This whole idea gives consistent framework to store, serialize and edit all game data.

As creating new dialog boxes is not my favourite activity (no matter if it's coding or clicking :) I've been thinking for a long time about the "ultimate" set of general controls necessary to make a game editor. I currently think that it's sufficient to have:

Some not so necessary and more difficult to code controls are:

RegEngine will consist of modules compiled as static libraries:

First screenshot:

Comments (1) | Tags: engine RegEngine | Author: Adam Sawicki | Share


2015-06-29 07:19:17
soccer shoes,
softball bats,
supra shoes,
swarovski outlet,
swarovski outlet,
north face outlet online,
the north face outlet,
north face uk,
the north face outlet,
calvin kleins outlet,
celine bags,
cheap nfl jerseys,
air jordan retro,
michael kors outlet,
nike sneakers,
oakley vault,
oakley vault,
cheap oakley,
ray ban sunglasses,
discount shoes,
ugg boots clearance,
flat iron,
air max 2015,
nike outlet,
nike running shoes,
nike free,
nike running,
nike air max,
nike mercurial,
roshe run,
cheap nike shoes,
north face jackets,
north face jackets women,
oakley sunglasses outlet,
oakley outlet,
oakley vault,
cheap oakley sunglasses,
omega watches,
pandora sale,
pandora charms,
ralph lauren outlet,
prada outlet,
prada outlet,
prada shoes for men,
polo ralph lauren outlet online,
ralph lauren outlet,
ralph lauren outlet,
ralph lauren shirts,
ralph lauren outlet online,
ralph lauren outlet online,
ray-ban sunglasses,
ray ban sunglasses,
ray ban sunglasses outlet,
cheap ray ban,
burberry outlet,
red bottoms,
tory burch handbags,
abercrombie and fitch kids,
abercrombie fitch,,
air huarache,
jordan shoes,
jordan retro,
nike air max 2014,
nike air max 2015,
babyliss pro,
basketball shoes,
beats by dre outlet,
beats headphones,
beats by dre outlet,
beats by dr dre,
burberry outlet,
burberry outlet,
burberry outlet,
christian louboutin shoes,
christian louboutin,
christian louboutin shoes,,,
coach handbags outlet,
coach factory outlet online,,
coach bags outlet,
chanel outlet,
converse shoes,
hermes handbags,
cheap glasses,
sunglasses for women,
hollister clothes,
chanel bags,
softball bats,
christian louboutin,
ferragamo outlet,
salvatore ferragamo outlet,
hair straightener,
gucci sale,
gucci belt,
gucci handbags,
gucci belt,
gucci shoes outlet,
gucci outlet,
hermes birkin bag,
hermes birkin,
hermes bags,
hollister kids,
insanity workout calendar,
iphone 4s cases,
jimmy choo shoes,
air jordan,
air jordan shoes,
juicy couture,
juicy couture outlet,
kate spade,
kate spade bags,
longchamp bags,
longchamp outlet,
louis vuitton canada,
louis vuitton outlet stores,
louis vuitton outlet,
louis vuitton outlet,
louis vuitton outlet online,
louis vuitton outlet,
louis vuitton handbags,
marc jacobs bags sale,
mcm bags,
mcm handbags,
michael kors outlet store,
michael kors outlet online,
michael kors outlet,
michael kors uk,
michael kors,
michael kors outlet online sale,
michael kors purses,
michael kors handbags,
michael kors,
michael kors outlet online sale,
michael kors bags,
mont blanc,
new balance,
ray ban sunglasses outlet,
knock off designer handbags,
rolex watches,
jordan 6,
omega watches,
roshe run,
roshe runs,
salvatore ferragamo shoes,
north face jackets outlet,
thomas sabo,
tiffany jewelry,
tiffany co,
timberland boots,
timberland outlet,
tommy hilfiger polos,
tommy hilfiger coupons,
toms shoes,
toms outlet,
toms shoes,
tory burch handbags,
tory burch handbags,
true religion jeans outlet,
true religion outlet,
true religion jeans women,
ugg boots,
uggs outlet,
ugg australia,
ugg boots clearance,
coach outlet online,
vans shoes,
dresses for weddings,
yoga pants,
uggs outlet,
polo ralph lauren outlet online,
burberry outlet online,
toms shoes outlet,
cheap michael kors,
tory burch shoes,
prada outlet,
longchamp outlet,
chanel bags,
true religion jeans outlet,
abercrombie fitch,
hollister co,
new balance store,
converse sneakers,
lululemon outlet,
cheap jerseys,
nfl jerseys,
rolex watches,
omega watches,
giuseppe zanotti,
mac cosmetics,
mizuno running,
handbags outlet,
hilfiger outlet,
ed hardy,
levi's jeans,
bcbg max azria,
bebe outlet,
gucci outlet,
polo ralph lauren outlet,

Post comment

Nick *
Your name or nickname
Your contact information (optional, will not be shown)
Text *
Content of your comment
Calculate *
(* - required field)
STAT NO AD [Stat] [Admin] [STAT NO AD] [pub] [Mirror] Copyright © 2004-2017 Adam Sawicki
Copyright © 2004-2017 Adam Sawicki