This project is still being designed. I plan to use Irrlicht and some of my own libraries to make a game. Here are some concept pictures.
I plan completely overhauling the GUI system integrated into Irrlicht.
Essentially GUI can be described as:
GUIwindow
-size x,y
-It is completely blank
=GUI elements are defined by several primitives, just like primitives in 3d rendering=
These are:
GUIline
-start point, end point (so it is really just a line segment)
-color, with alpha channel
-the layer it is in: z
GUIregion
-a guiel(GUI element, as opposed to picture element) in the window, smallest unit.
-not to be confused with a color pixel
-position x,y
-the layer it is in: z
GUIevent
-The mouse over a defined region (YES! This is the only event specific to this, I'll explain more later)
GUItexture
-can be bound to regions
-here is where you can import external image files that I will make supported, most commonly .jpg, .bmp and .png.
-has x,y dimensions, choose which part of it will be bound to the region.
=====
For GUIevent, I will make a different subsystem for quick access of keyboard and mouse events. GUIevent should then access those for example:
if (GUIevent = "region_button1", Irrlicht_thing_to_get_mouse_data)
int button_clicked = 1;
You can further build upon GUIregion by making a GUIrectangle_region. This will just define a rectangle set of guiels, and will probably be a premade basic tool preincluded. You can 'add', if you will, different regions into one region, so just a branching kind of structure:
region1 = GUIregion::GUIregionDef(4,4,1); //last is layer it is in
region2 = GUIregion::GUIregionDef(2,2,1); //last is layer it is in
region3 = GUIregio::GUIregionDef
(
GUIregion::addGUIregions(
region1, region2
)
);
sorry if I just insulted the c++ language deities I'm just working from prior knowledge, I really don't know what I am doing, just that it is fun.
There's a WHOLE bunch of stuff I have been brainstorming about, if you have any questions on any aspect of my game, chances are I have at least some of it planned out, so go ahead and ask me.
Also, here is a font map I am using. Using only the GUI system primitives, it is possible to create a simple text system. I have spent several days thinking out that [what I think is] robust GUI system based on those primitives. For pretty much every GUI situation I have thought of, it seems to offer a way to do it.
EDIT:
^What this is simulating. The player is NEAR ENOUGH a cabinet to look inside. The caibent contains cups and a fork, the player can then simply click their names and move them to say his right hand. The dish is all by iteslf because it is not contained in anything, this means it is probably just lying on a table or something. In the game I am making, you don't really have to click on anything in the environment, pretty much all item handling and changing is done through the Item Explorer. I am considering renaming it simply "Explorer", because I will add a few more concepts to it later.
Game Idea 14
ok
it would be nice to add color gradients to lines and regions
and don't forget to give the chance to show elements with alpha trasparency.
you can also try to move the camera to center the image on the item wich is highlighted in the menu explorer. so the player can easily see wich item is going to be selected in the menu
so if I see the dish in the menu andIi move the mouse above its name, the character will look at the dish and maybe a 3d label appear above the dish.
and don't forget to give the chance to show elements with alpha trasparency.
you can also try to move the camera to center the image on the item wich is highlighted in the menu explorer. so the player can easily see wich item is going to be selected in the menu
so if I see the dish in the menu andIi move the mouse above its name, the character will look at the dish and maybe a 3d label appear above the dish.
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
-
- Posts: 126
- Joined: Wed Sep 29, 2010 8:23 pm
Re: ok
REDDemon wrote:it would be nice to add color gradients to lines and regions
and don't forget to give the chance to show elements with alpha trasparency.
Sorry, I think I forgot to mention that alpha channel will be supported
Yeah, things like a color gradient applied to a region would be able to be built from simple primitives like so:
You have a region, x,y.
You have a grey scale gradient texture
You have a folder with textures that are solid colors, highly saturated, with 50% on their alpha channel.
I will prebuild this into a class, maybe regionGradient, you can give one of it's functions addRegionGradient() several arguments like color of the gradient.
I am thinking about having regions have their own layer groups, for example:
Window1 contains
WindowLayer1 contains
region1 contains
region1layer1
region1layer2
WindowLayer2 contains
region2
WindowLayer3 contains
region3
I might also model it after the structure of c++ class definitions, where some layers contained in regions are private data, and others are more 'global' data, and are public.
That is a good idea. I was also thinking to let the player be able to just click on items and they will go to a predetermined slot, say, the player wants any items he clicks on (in the 3d world) to TRY first to go to his right hand, next his left, if it doesn't fit in there, then go to his backpack if he is carrying one.REDDemon wrote:you can also try to move the camera to center the image on the item wich is highlighted in the menu explorer. so the player can easily see wich item is going to be selected in the menu so if I see the dish in the menu andIi move the mouse above its name, the character will look at the dish and maybe a 3d label appear above the dish.
Here is a good visualization of a higher level object, which is a TextField Class, it will be able to be applied to regions.
^TextField objects CONTAINED within 4 regions, can you spot them all?^
EDIT
Just look at all the pebbles withing range on the ground! And a nice old plastic bottle to put them in too!
EDITEDIT
Here is a method I am working on, just the design