Game Idea 14

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Post Reply
macron12388
Posts: 126
Joined: Wed Sep 29, 2010 8:23 pm

Game Idea 14

Post by macron12388 »

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.

Image

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.

Image

EDIT:

Image

^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.
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

ok

Post by REDDemon »

it would be nice to add color gradients to lines and regions :D
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
macron12388
Posts: 126
Joined: Wed Sep 29, 2010 8:23 pm

Re: ok

Post by macron12388 »

REDDemon wrote:it would be nice to add color gradients to lines and regions :D
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.

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.
:) 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.

Here is a good visualization of a higher level object, which is a TextField Class, it will be able to be applied to regions.

Image

^TextField objects CONTAINED within 4 regions, can you spot them all?^

EDIT

Image

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 :)

Image
Post Reply