Jump to content

  • Log In with Google      Sign In   
  • Create Account

T e c h l o r d

Member Since 15 Feb 2004
Offline Last Active Dec 30 2015 03:43 AM

#5100424 Thinking about making a Free-To-Play FPS any Advice (new here)

Posted by on 10 October 2013 - 09:07 PM

3. DONT start a team if you're new to Game Development. Join a active online team working on a project close or similar to the type of game you would like to develop. Collaborating online can be extremely frustrating, quarky, and confusing at times. Learn the DOs and DONT of communication within a online team. Gain thorough  undersanding of the tools: Chat Apps, Version Control, Project Management, and other networked Applications.


1. DONT re-invent the wheel! Adopt an affordable and proven cross-platform technology that has the Engine, Tools, and Documentation for developing FPS games such as UDK.I tried to develop a FPS engine with C++ and I failed to complete it after 3 years of development. I hadn't even started on the game:( Using UDK-out-of-box, I have a working multiplayer demo of my F2P Action  Survival Terror FPS within only 3 weeks develop time. Its FUN to develop when you see immediate results.


4. DONT be dependent on a third party to produce your content or logic for your game. Learn to model and Animate Characters, Architecture, etc;  and Programming Concepts (C, C++, Java) for Logic and Networking. These are in the highest demand and practice makes perfect! I would encourage you to aim at being a Jack-of-all-trades. Building a Team is extremely difficult. The role of Game Producer/Director will task you with knowing a little something about every aspect of the game development process.


2. DONT forget the crucial importance of networking and web integration in online gaming. You simply cannot make any type of Online game without Networking. Networking is also valuable in Single Player gaming. So I highly encourage you to have some rudimentary understanding of the networking involved, even if your not a programmer. If you dont have a turn-key solution for online Administration, Transactions, etc, you're going to need them custom made.


0. DONT develop a cookie-cutter F2P FPS. Take a chance and dare to be different. Thats the advantage of being an Independent game developer. I have absolutely no idea on how well received a F2P FPS with Tornado Destruction, Storm Chasing, Survival Horror, Hordes of Monsters, and Sci-Fi Weapons  will be, but, I do know that it will  be  different.

#5100072 Player Rewards/Gameplay Mechanics In Survival Horror

Posted by on 09 October 2013 - 10:08 PM

I'm developing an Action Survival Terror, following many of the guidelines presented here. The game is designed to cycle between intense Action sequences in which Survivors must destroy hordes of monstronsities; and moments of downtime to explore and scavenge ruins for supplies. In the moments of downtime, there is an opportunity to introduce some creepy overtones and jump scares (silence/ambience, distraction, sudden burst of load noise and shocking imagery).


The game's primary survivor mechanic is Permadeth in which the player must maintain their Character's Lift/Health Score above 0 or restart from the beginning. Although Characters have additional Attribute Statistics, any action or event that can reduce the character life/health score is a threat. This includes both combat and non-combat situations.


In a Survivor Horror game, I would agree that the primary goal is to invoke fear, followed by satisfaction of surviving threats.  What you can't see can be scarier than what you can. However, many Real-world Phobias based on what one can see: Fear Tight places, Spiders, Snakes, Clowns. We take advantage of the unknown by using the  First Person Perspective to limit the field of view to whats in front of the player. Monsters take many form in several iterations of the creatures found in the top 10 phobias. I personally dont like Spiders, and find great satisfactions in blasting Giant Spiders to bits.


In my opinion, a decent Horror game will have some level of Psychological Horror. I refer to this as the Creepiness Factor and this can be done within the Level and Character design (appearence) without any mechanics at work. I personally find someone starring or grinning endlessly for no reasion to be creepy.

#5097358 Improving player retention in a dungeon runner webgame

Posted by on 27 September 2013 - 08:02 PM

I'm not sure what you mean by Outer Loop. Perhaps you need to use Choke Points.

#4906070 Advice for game design interest

Posted by on 25 January 2012 - 05:05 AM

I realize that the big problem here is that I am uninterested in the programming and art aspect of creating games, yet I am interested in the gameplay and how the game is designed on a psychological level.

LiquidLeon, you are not alone. In fact, the desire to minimize the need for custom code and modelling to create new types of games is my inspiration for developing The Super 3D Game Platform. A Game Creation Platform suitable for both non-programmers and non-artist. However, until I complete its production you might want to consider the following products for Non-Programmers:

2D Shooter Game Creator: The 2D shooter game creator will let YOU create your own games~ in the style of classic lightgun games~ e.g. Time Crisis
3D Adventure Studio: an editor for creating adventure games in style of Gabriel Knight 3 (WIN)
3D Game Engine: alpha release of an unfinished 3D game engine (DOS/GNU/Linux)
3D Game Studio: produce 3D realtime applications - demos~ adventures~ role playing~ action~ advertising~ or racing games - without programming skills (WIN)
3D Rad: a programmable~ user-friendly~ 3D real-time engine (WIN)
3DCakeWalk: allows the development of commercial quality games with all the "state of art" features you will find in today's leading games
Abstract RTS Engine: An RTS engine under development intended for user-produced rules~ AI~ and media modules (mods)
ADePT: adventure developing and playing toolkit
ADRIFT: a simple~ yet powerful IF game designer (WIN)
Adventure Book: CYOA creator
Adventure Builder: text adventure authoring system (DOS/WIN)
Adventure Game Engine: engine for creating graphical first-person adventure games with full support for inventory~ save/load games~ inventory~ puzzles~ conversations~ full motion video~ cutscenes (WIN)
Adventure Game Studio: make your own point and click adventure games without programming; recently rewritten~ now supports the standard Sierra interface as well as the LucasArts interface. Very nice. (WIN)
Adventure Maker: free toolkit to creat point-and-click software for Windows and PSP without programming(Win/PSP)
AdventurEd: system in development for creating graphical adventure games (Amiga)
AGAST: Adventure Game Authoring System to create and play your own graphic adventure games like those from LucasArts and Sierra On-line (WIN)
AGT: Adventure Game Toolkit for creating text adventures with graphics and sound (DOS)
Aiee!: design text adventures without programming experience
ALAN: for creating interactive fiction (Amiga/Unix/DOS)
Alice: create your own scripts that control the motion of 3D objects for games~ training simulations~ etc (WIN95+)
Antiryad Gx: easy multi platform game creator tool
AZALTA: system with endless adventures~ an infinite number of large worlds to explore~ hundreds of puzzles to solve~ creatures to meet~ and items to find -- you can even create your own worlds/creatures/items (WIN/Amiga)
Blades of Exile: a fantasy role-playing system (WIN/MAC)
Blender: free and fully functional 3D modeling/rendering/animation package~ including games (Unix/Windows/BeOS)
Blitz Basic: the legendary Amiga Basic compilier for the PC (WIN)
Blitz Basic II: basic programming package for creating high-quaility games on the Amiga (Amiga)
Blox Game Engine: Simple 2D game engine targeted at windows users using visual
ButtonTalk: easy to use tool for creating interaction fiction (MAC to create~ exports HTML)
Byond: create online games and applications using a simple programming language
Ca3D-Engine: create a variety of 3D applications~ including games~ simulations~ and training and architectural software
CAECHO: Spanish program for creating interaction fiction (DOS)
CAT: Creative Adventure Toolkit: adventure authoring utility for writing text adventures on your PC (WIN)
Clean Game Library: complete development system for 2D games (platform games~ side scrollers)~ using the functional language Clean (Win~ MAC~ Linux)
Coconut: 2D adventure game development tool (WIN/LINUX)
Coldstone: the most complete solution for developing games on the Macintosh (MAC)
Crystal Space: free (LGPL) and portable 3D engine written in C++ (WIN/MAC/DOS/LINUX)
Cycon Online Gaming -COG- Engine: Open Source project aimed at simplifying the creation of online video games with no programming experience necessary.
Dark Basic: BASIC language that lets you create fast full-screen DirectX and Direct3D games with incredible ease. You can write a 3D game in minutes! (WIN)
Delver: shareware single-player overhead-view tile-based computer RPG construction kit written in Java (JAVA)
Digital Loca-Lite: 3D authoring tool~ especially designed for beginning 3D-Game-makers (Win95+)
Dimension3: 3D game creator (MAC)
Divinity: RPG maker/editor (MAC)
DS Game Maker: Using point and click techniques for adding action and interaction, you can make simple games for your beloved console
Engine001: a game creation engine where you can bring your Action RPG and RPG ideas to life
Erasmatazz: Authoring tool used to create interactive storyworlds (WIN/MAC)
Explorations RPG System: independent role playing game engine
FPS Creator: make your own action packed FPS games without any programming or 3D modelling knowledge
G-Wiz: Game Wizard will be tool for designing and playing text adventure and role-playing games (WIN)
Game Book Player: This application allows you to write fighting fantasy like game books and has lots of neat features.
Game Builder Lite: for creating animated adventures and educational programs (DOS)
Game Editor: design 2D games for PCs and mobile devices
Game Maker: allows you to make exciting computer games~ without the need to write a single line of code(WIN)
Game Music Shop: Offers more than 25 packs of music exclusively designed or games and multimedia applications, with hi-quality previews and an mmediate delivery after purchase
Game Studio: the leading authoring suite for 2D and 3D multimedia projects~ especially computer games
GameBrix: the first product created for Adobe flash designers that enables them to build flash based web games
GameMaker & GameMaker Lite: simple~ card-based development system that enables you to create simple adventure games with graphics~ buttons~ and text (MAC)
Golden Realm: 2d Game Maker engine available for only $1.00
Golden T Game Engine: game programming for JAVA programmers
GRAAL: script-based Graphic Adventure Authoring Language (Amiga)
Hephaestus: computer role-playing game system with loadable adventures; with the compiler~ you can write your own adventures in a simple yet powerful scripting language~ and share them with anyone else who has Hephaestus (JAVA)
HUGO: a programming language and authoring system for interactive fiction (WIN/DOS/Linux)
IndianaJava: system to create and run 2D graphic adventure games (JAVA)
Inform: a design system for interactive fiction (WIN/MAC/Amiga)
InterAx: create games in an easy to use yet powerful visual environment without programming or scripting. (WIN95+)
JACL Adventure Creation Language: free open-source language for creating interactive fiction and web-based adventure games
KOF91: 2D fighting game engine (WIN)
KPL: Kids Programming Language a freeware educational program
Lassie Adventure Studio: freeware adventure game creation tool for building classic Lucas Arts-style games with Macromedia (now Adobe) Flash and Shockwave
LawMaker Game Engine: new game engine tailored toward indie game developers
Legendary Tales Editor: text-based gaming environment which allows anyone to create or enjoy independent adventure modules set in any medieval~ swords and sorcery fantasy setting(WIN)
LucasHacks: the ultimate SCUMM hacking resource including the new SCUMM Revisited (WIN)
M.u.C.e.S: Multichoice Creation System (MuCeS) allows you to create any type of multiple choice text adventure
MAC Game Creator Toolkit CD ROM: special registered versions of 5 MAC creators~ plus tutorials~ utilities~ and sample games (MAC)
Magx: compiler for creating text adventures which is downward compatible with all of the existing versions of the AGT language(DOS/Linux)
MechaniQue: easy to use programming language for IF (JAVA)
Megazeux: an object oriented ANSI game maker with many features not found in ZZT (DOS)
MMOWorkshop: Described my submitter as "At this time only free of charge available production proven and professionally supported system to develop mmorpgs"
MMOWorkshop: The Torque MMO Kit is a complete, production ready, commercially proven MMORPG solution
Multimedia Fusion: create exciting interactive applications with a mouse-driven interface - this is the one I use (WIN)
My Adventure Game: simple tool for creating graphic adventures
Odyssey-Creators: software to help in game creation and game creation software
Official Hamster Republic RPG Construction Engine: create your own role-playing games with no programming experience (DOS)
PAWS: IF authoring system (Various)
Pie 3D Game Creation System: make your own 3D action games (DOS/WIN)
Platform Studio: free to use software for creating great platform games
Play Basic: a game programming language designed to take the learning curve out of 2D game making
Playcrafter: Create flash games for online game
PlayerRealms: free online adventure game maker
Playground: build computer environments for 4-8 year olds to play~ design~ and create games (WIN)
Point & Click Developers Kit: 2D point and click adventure game developer
QML Quest Markup Language: free XML-based Choose-Your-Own-Adventure game system
Quest: Axe Software's app that allows you to create your own text adventure/RPG games~ quickly and easily. (WIN95+)
QuestMaker: for making graphical adventure games (DOS)
Ray Game Designer: Previously commercial (now freeware) 3D Game building system for Windows 3.x and Windows 95. It allows you to create games based on a RayCaster engine without any knowledge of coding: you only use a point-and-click interface and your favorite drawing tool
RayDream Game Studio: program to design computer games for Windows~ Linux and MacOSX
Reality Factory: suite of applications that have been created in order to enable people that are NOT programmers to make advanced~ 3d first and third person games for PC's running Windows (WIN)
Realm Crafter: create your own multiplayer online RPG
Ren'Py: a programming language and runtime~ intended to ease the creation of visual-novel type games
REXX Adventure: text adventure engine (OS2 Presentation Manager)
Royalty Free Music: Royalty free music by category
RPG Toolkit Development System: for the Creation and Play of your own RPG Games (WIN)
RuneSword: RPG game and construction set (Win95+)
SCI Studio: create games for Sierra's SCI engine(WIN)
Scirra: FREE open-source DirectX game creator. Using a drag-and-drop interface, it makes game creation fast and powerful
Scribe: development system for interactive fiction
Scrolling Game Development Kit: complete game development system whose features can be used by experts and beginners alike
Sharendipity: designed with non-programmers in mind. Not only does it provide a drag-and-drop programming interface, but it also enables users to re-use game components that have been shared back to the community
Silent Walk FPS Creator: create FPS style games without any programming knowledge
SKClone: RPG game maker (WIN)
SLUDGE: (Scripting Language for Unhindered Development of a Gaming Environment) is the box of cogs that will be available so that anyone (within reason) can use it to make an adventure game. (WIN)
Sphere: RPG engine specialized for making 2D~ console-style RPGs~ similar to Final Fantasy and Phantasy Star (WIN)
Stagecast: create multi-level games~ mazes~ puzzles and simulations for the Web~ using the mouse to demonstrate what you want each character to do(MAC/WIN)
StoryHarp: Audioventure Authoring System adds the dimension of voice to interactive fiction development (WIN95/NT)
StoryLand: create Cooperative stories~ using only a WEB browser
StorySprawl: a site devoted to the creation of hyperfiction
SUDS: adventure game system which combines the content and feel of a text adventure game with the point-and-click style of Windows (WIN)
TADS: text adventure development system (DOS/WIN/MAC/Amiga/AtariST/OS2/Acorn)
The 3D Game Maker: point & click 3D game creator (Win)
ThinBASIC Adventure Builder: Interactive Fiction creator
ToonTalk - Making Programming Child's Play: build and run all sorts of computer programs (WIN)
VERGE: a role-playing game creation system (DOS)
Visionaire2d (English Version): software that enables you to create your own adventure game without even having experience in a programming language
WinPAW: windows version of the Professional Adventure Writer (PAW)(WIN)
Wintermute Engine: a set of tools for creating and running graphical adventure games(WIN)
World Builder: create your own adventure games (MAC)

#4901868 One Game World, Multiple Interfaces...

Posted by on 11 January 2012 - 08:23 PM

How can the RTS players have relationships with the First Person players and so on.

This has been brainstormed here but the illustration gives a better picture.

Posted Image

#4901782 One Game World, Multiple Interfaces...

Posted by on 11 January 2012 - 04:23 PM

I predict that future Games will provide game worlds in which several genres co-exist with multiple client interfaces (that caters to a particular genre). Role-Players will play Game X as a 3rd Person RPG. Strategist will play Game X as a Top Down RTS. People who enjoy blowing things effing up with BFGs will play Game X as a FPS. This is an inspiration going into the design the Super 3D Game Platform (S3GP). I'm aiming for a 3D Client offers a configurable interface which caters to a particular genre and each genre can be be played in 5 popular game-perspectives: First-Person, Third-Person, Top-down, Isometric, and Side-Scroll.

Posted Image

Firstly, my strategy towards accomplishing this goal is to institute a Moderated Open Repositor (MOR). MOR is a centralized Data Repository in which Developers and Players can collaborate and share game content between themselves and their products. The goal of MOR is to simplify the management for Developers/Players to get their content into the game, and providing a layer of protection from malicious damage to games in production. MOR operation is straight forward. Contributors upload their Media Files to the MOR Host Server for review and approval. Moderators inspect files for damage, compromise, obscenities, etc. Approved files are moved to the Closed Repository (Production) for use in game.

I believe there could be a benefit to utilizing a High Level Architecture (HLA) which is a general purpose architecture for distributed computer simulation systems. Using HLA, Games can interact (that is, to communicate data, and to synchronize actions) to other Games regardless of the computing platforms. The interaction between Games is managed by a Run-Time Infrastructure (RTI). Hypothetically speaking, HLA could support two separate Games Server/Clients fused together in cyberspace to create a new game experience, sharing players and resources.

#4900263 Game Design Mashups

Posted by on 06 January 2012 - 03:34 AM

One being a mix of Battlezone, Absolute Zero, Terra Nova, X-Com, Dune, Alien Legacy mashup.

That sounds like one heck of a mashup!

I'm aiming for a Online Game that is 3-in-1 Genres: Shooter, RPG, RTS. The 3D Client offers a configurable interface which caters to a particular genre and each genre can be be played in 5 popular game-perspectives: First-Person, Third-Person, Top-down, Isometric, Side-Scroll. The Genre compliments the Character's Role:

Kings (Commanders) - RTS
Queen, Bishop, Rook, Knight (Special Forces) - Quad Squad Tactical 3PS
Pawn (Soldiers) - FPS

#4900202 Game Design Mashups

Posted by on 05 January 2012 - 08:11 PM

Hi truant,

You're not alone. That's the primary design inspiration behind my Super 3D Game Platform (S3GP) current in development. S3GP's Game Engine is being design to produce unique 3D Computer Games based on one or more basic game mechanics that define popular computer game genres/sub-genres: FPS, RPG, RTS, Puzzle, Arcade, etc. I'm aware that this goal would appear to be a nearly impossible to achieve. However, I believe it can accomplished within a 3D Game by consolidating at every level in the development process taking a top-down approach starting from the most complex to the simplest feature.

#4898570 MMO: Permanent Death

Posted by on 31 December 2011 - 06:32 PM

I'm using Permanent Death in the Highest Risk/Reward PVP Tournaments and Raids. Participants for these events are made fully aware of this risk up front. Its the highest gamble of Skill/Wits/Dedication and those who take on the challenge will bring their emotions with them and that's a desired effect. Participants that meet their fate in these events have their Character names engraved in a Memorial, while characters who are successful have their Character names etched into the Lore of the World and become Legendary.

#4893798 Component Aggregation

Posted by on 14 December 2011 - 05:02 AM

Hi Clockwork Frog,

There are some really deep discussions on Entity Components like this one. I agree that components are cool for Game Entities. I found myself evolving naturally towards Component-based Entities in writing my umpteenth iteration of a 3D GUI which is now the core for my Game Platform. In fact, I thought I came up with some revolutionary approach to designing GUIs at the time, only to discover after reading ~20 Threads on GameDev.net and some popular Articles on the net the approach has been adopted by Pros for years :angry:.

In my opinion, one of the most complicated (foggy) aspect of the concept is working out the inter-communication between components (especially between components that have dependencies on one another). There are very few guidelines on how to implement such communications so I borrowed ideas from my previous GUI development. Looking into Observer Pattern, Signal/Slots, and Delegates could be useful in devising inter-communications for your components.

Although, I'm no expert on components implementation, I would warn anyone using the approach to avoid going overboard on the number of components used, otherwise you end up with a bloat similar to the hierarchy bloat you're trying to avoid in the first place. I've seen other developers create `Position Components` to simply hold a set of values like a Position Vector3.

#4882888 Basic Component Based Entity

Posted by on 11 November 2011 - 03:59 AM

So I've been working on a simple component based entity system so I can create entities on the fly without have to have extreme levels of inheritance.

I'm not sure anyone can write a simple Component-based Entity System. Firstly, there's no standard definition for a component or entity. Secondly, there's a massive amount of grey area between Component communication which also appears to be the most complex aspect behind the approach. Thirdly, its not a programming paradigm in itself and trying to treat it as such complicates matters. Perhaps a Component-Oriented Programming Language would be cool, however, as it stands its just a architectural pattern applicable to high-level modular game entities - imo.

Components are cool for Game Entities. I found myself evolving naturally towards Component-based Entities in writing my umpteenth iteration of a 3D GUI which was the highlight for my Game Engine. In fact, I thought I came up with some revolutionary approach to designing GUIs at the time, only to discover after reading ~20 Threads on GameDev.net and some popular Articles on the net the approach has been adopted by Pros for years :angry:.

With my new found knowledge, I ditched my previous Game Engine design and started building the all new Entity Component-Objects design that adheres to two concepts:

  • An Entity is a container defined by its Components!
  • Components are Special Purpose Objects that belong to the Game Engine's Subsystems: Rendering, Physics, Audio, Scripting, Input, Networking, Solvers, etc.
Of course, I have my own definition of components/entities and my own communications system implemented with techniques derived from my previous GUI inter-communication and data modeling. But, I think if you hit the two concepts you're doing good for a basic component system and I'm no expert on the subject as I find myself constantly tweaking the system.

@crancran, I noticed that you're using Ogre and many of the addons that I'm using for my game engine. Would you be interested in comparing notes?

#4875437 Immersion

Posted by on 22 October 2011 - 03:00 PM

Well, books are immersive. Think about that.

I concur and would add Audio-books to that statement. In fact, some of the most immersive games I've played were text-based games like the ones found at IronRealms.com. You read the text, and your mind's-eye constructs a world of wonder incorporating previous experience from your senses. I suspect that why most game developers start with a Story. The challenge is translating that story into an interactive environment and stimulating the senses with synthesized narration of visuals, audio, force-feedback and input, that is usually all performed within your mind's eye.

#4870042 Mana++: A RPG Spell Creation Language

Posted by on 07 October 2011 - 03:32 AM

Hello all,

I'm brainstorming the concept of using a Visual Scripting Language to create Spells within a RPG. The premise behind the concept is to use Programming as a Game Mechanic in which players can experiment in creating unlimited types of spells and devise strategies for Spell Creation and use. My current idea for Mana++ is to replace common Programming constructs with Magic Symbols and words associated with Magic:

Spell - A Function Construct
Rune - A Variable or Label Construct in a Spell.
Chant - Jump Construct
Scroll - A List,Queue,Stack,Vector Data Structure for Runes and Spells
Conjure - A Spell Cast (Function Call) within another Spell
Amulet - If...Else...ElseIf..Endif Conditional Construct In a Spell
Talisman - Switch...Case Construct in a Spell
Casting Circle - Do,While,For...Loop Construct in a Spell

The challenges are figuring out how visually represent spell and balancing their effect. Its not desirable for Mage 1st Class to know how to conjure "Nuclear Dragon Breath" Spell that can vaporizes everything instantly. I would suspect some form of `costs` to create and use spells would be applied. These costs would be in units of time, materials, mana, etc. For instance you would not be able to write certain constructs until you have obtained certain items or learned certain skills. I'm opened to ideas on this.

#4855006 How to document a game engine + game development?

Posted by on 29 August 2011 - 04:28 AM

How to document a game engine + game development?

My game engine + game, two projects solution, got 2500 lines today. I already begin to forget how I did some stuff. I need first of all:

1. To find a way HOW to document my engine architecture.
2. Then to reread the whole code and document what is done so far, before it gets more complex.

UML diagrams could help for high level design. All the cool stuff we learned in class I might apply now. Finite state machine would be nice. Sequential diagrams are nice too.

Sometimes just code comments is enough documentation, for example for some method.

For some things I feel like writing explanations in pages.

So the way I imagine this is a pdf file with lots of UML diagrams, code examples and text explanations here and there. Like a reference for my engine. Imagine there is Contents as in a book, and you have stuff like UI, IO, Managers and then in Managers you have chapters like EffectsManager, LevelManager, BulletsManager and so on... I would spend two weeks on something like this, including research on HOW to do it first of all. It would make things so much easier when this game engine hits 10 000 lines and more.

Not to mention how easier it would be to get comments about the engine. I can give that document to a pro game developer, he can read the whole in less then hour, and throw some suggestions.

I have not done anything like this before so give me some opinions guys.

Thank you

Hi calculemus1988,

Documentation is very important and often overlooked.I commend you for acknowledging its value early in your project. With that said, its possible that you may have a need to do more than just document the code. Heres a list of Web Applications and Services I'm using for the development of the Super 3D Game Platform.

You can also include a Forum such as PHPBB. However, what I usually do is start Topics in other popular Forums such as GameNet, TheGameCreators, and many others.

Good Luck to you.

#4845279 OpenGL GUI

Posted by on 05 August 2011 - 06:01 PM

The typical Widget Class Hierarchy is old news. Trust me, after 9 iterations of GUIs, The components-based approach is by far the most flexible method I've ever seen and others are taking heed. In fact, I wouldn't be surprised if the Entity Components method wasn't in inspired by GUI development. Games in particular feature GUIs with heavily animated Widgets and unique input device control. Do you just want duplicate Windows or create a GUI for games? After all Widgets are Game Entities too.

With the Components-based GUI, you can can turn the entire game world into 2D/3D Widgets if you need to. You can create unique Widgets like Knobs, Logic Gates, Drawing Pads. You can create Widgets that change behavior dependent on the context of use. Rendering is one part of the GUI, and its secondary. Additionally, many prefer to soft-code (aka Script) the GUI, not hard-code it. I use a combination of XML and LUA (S3GXL Example) for my Game Platform. Thus, you can use Components in the Source and a Widget Hierarchy in the script.

The input and collision components are the primary mechanism for User-Interaction. The visual component is secondary, a representation controlled by the state of the interaction. So, I'd suggest you solve how to 1) manage input , 2) create collision shapes, 3) render visuals, respectively. I assume you have solved 1 & 2.