Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - hailstone

Pages: 1 2 3 4 [5] 6 7
101
General discussion / CS_OWNDC
« on: 25 December 2008, 12:51:39 »
I came across http://www.nullterminator.net/opengl32.html which says:
Quote
under some OpenGL ICDs (ATI Rage Pro, RivaTNT, etc.), the window style of CS_OWNDC must be included in the window class. Otherwise OpenGL will not function.

So I looked at the Windows style and it is only being included for fullscreen windows. Maybe this is the problem with the ATI cards we have been having? Then I read from http://blogs.msdn.com/oldnewthing/archi ... 12970.aspx that it's not good to be including it but in a comment at the bottom it says OpenGL apps require it.

102
General discussion / Bots Get Smart Article
« on: 23 December 2008, 03:07:39 »
Article on AI in games.
http://spectrum.ieee.org/dec08/7011

103
General discussion / "New Game Screen" Redesign
« on: 20 December 2008, 04:12:32 »
This is a continuation of discussion from viewtopic.php?f=15&t=3974&p=20650#p20650

Quote
there should be a button on the main game screen saying MAPS, once clicked opens a smaller a window which lets you choose the map and give a description
I think this could be done without having a new window.

104
General discussion / GUI Libraries
« on: 8 December 2008, 11:38:49 »
My comparison hasn't been as thorough as I would like but I did find out more about the libraries. I'll talk about some things I noticed here and below are some information about each one. I've also included Allegro and Glut based libraries below them and then beyond that some information on designing GUIs.

A lot of them are quite old, discontinued and don't have large communities. The most active ones would be GuiChan with last release 26 April 2008, and CrazyEddie with last release 3 December 2008.

Most have the basic features, some have less and some have much more. CEGUI seems to have the most features followed by bramstein.

The sizes I've put are just the download file. They might include compiled libs, tutorials, examples, etc.

To choose a library we need to know what we require. Here is what I think we should have:
A skinning system (probably TinyXML)
Components (check box, radio button, text edit, combo box, list with scroll bars, progress bar, tooltips, movable windows, button, label)
Customizability
Make and VS build
Integrate with TGA images
Integrate with SDL and win32 (ie independant of windowing system)

Some nice things to have:
Graphical Editor
Clipboard
Save state
Drag and drop
Menu Bar
Context Menu
Tabs
Dialogs (save/open file, etc)
Docking

############ Information ###################

URL:
Code: [Select]
[url=http://www.rightbraingames.com/tech/]http://www.rightbraingames.com/tech/[/url]Description: It supports hardware rendering of multiple user interface windows into separate texture buffers to improve performance and allow for complex animation effects.
Size: 7mb zip with ogre example,
No. Dependencies: Mocha, Freetype 2
Ease of Use:
Ease of integration:
Features: ok but some basics missing, ogre support
Documentation: readme file, doxygen but needs building
OS: Only Windows supported but apparently cross platform
Support/Maturity/Community/Status: seems to have a lot of work to go and not that active
Build: VS files

URL:
Code: [Select]
[url=http://guichan.sourceforge.net/wiki/index.php/Main_Page]http://guichan.sourceforge.net/wiki/index.php/Main_Page[/url]Description: A portable C++ GUI library designed for games using Allegro, HGE, OpenGL, OpenLayer and/or SDL.
Size: 544KB tar.gz with examples
No. Dependencies:
Ease of Use: seems fairly easy
Ease of integration: don't know
Features: decent amount
Documentation: API, FAQ, partial User Guide and Tutorials (including sdl)
Support/Maturity/Community/Status: v0.8.1
Build: Multiple compilers
Limitations: No dirty rectangle system, No marking of text, No drag and drop, No clipboard

URL:
Code: [Select]
[url=http://www.bramstein.com/projects/gui/]http://www.bramstein.com/projects/gui/[/url]Description: GUI library for prototyping and building game user interfaces. It is based on OpenGL and written in (portable) C++. The library is completely free and open-source.
Size: 7MB zip with libs and project file
No. Dependencies: no extra
Ease of Use:
Ease of integration:
Documenation: SDL examples,
Appearence: Source based themes
Features: adequate
Support/Maturity/Community/Status: The library is no longer maintained due to a lack of time.

URL: http://sjgui.sourceforge.net/
Description: gui framework for use in interactive OpenGL applications.
Size:
No. Dependencies:
Ease of Use: seems easy enough
Ease of integration: should be ok, might require taking over windowing
Documentation: Lessons, API
Appearence: doesn't look fantastic, source based templates?
Features: very basic, text edit, check box
Support/Maturity/Community/Status:

URL: http://www.cegui.org.uk/wiki/index.php/Main_Page
Description: Crazy Eddie's GUI System is a free library providing windowing and widgets for graphics APIs / engines where such functionality is not natively available, or severely lacking. The library is object orientated, written in C++.
Size: 3.4MB zip includes some samples, project files
Dependencies: FreeType2, Perl C Regular Expression, some optional ones
Ease of Use:
Ease of integration:
Appearence: XML skinning
Documentation: Tutorials, FAQ, API
Features: Might be possible to use with tinyxml, devel layout editor
Support/Maturity/Community/Status: 3 December 2008 CrazyEddie (0.6.2 released)
Notes: they seem to be changing from xerces to expat for xml but have tinyxml in the download

URL: http://glam.sourceforge.net/
Description: The GLAM toolkit is an OpenGL-based cross platform user interface toolkit for creating 2D or 3D user interfaces.
Size: Sugar 49KB, GLAM 249KB, glamrock 118KB
No. Dependencies: 2 (glamrock, sugar - http://www.sourceforge.net/projects/libsugar)
Ease of Use:
Ease of integration: Don't know
Features: OpenGL transformations, radio button, button, text, status bar, windows, check box, menu, sroll bar, slider, tooltips, containers
Documentation: handbook, GLAM api (missing glamrock api)
Appearence: glamrock has a custom config theme system
Build: autoconf and make
Support/Maturity/Community/Status: Beta, no activity in trackers or forum
Thoughts: Documentation is quite good

URL: http://glgooey.sourceforge.net/#Info
Description: GLGooey is a platform-independent, small, extensible collection of user interface components rendered using OpenGL.
Size: 1.8MB zip including samples, project files
No. Dependencies: libpng and zlib if using png
Ease of Use:
Ease of integration: need to figure out how to use with sdl
Documentation: api and examples using GLUT
Appearence: XML Skinning
Features: Numerous components, docking, sigslot (Signals and Slots), TinyXML, freetype
Build: make
Support/Maturity/Community/Status:

URL: http://jet.ro/turska/
Description: Turska is a compact and simple framework & UI component library.
Size: 3.3MB zip with Irrlict framework
No. Dependencies:
Ease of Use:
Ease of integration:
Features: very basic
Support/Maturity/Community/Status:

URL: http://libufo.sourceforge.net/
Description: LibUFO is a C++ core library for forms respectively graphical user interfaces (GUI). It is mainly used as OpenGL GUI toolkit.
Size: 748KB tar.gz (src and includes are about 2MB uncompressed)
No. Dependencies: pkg-config
Ease of Use: looks ok
Ease of integration: meant to work with openGL and SDL, works with tga images
Appearence: KDE theme files and (XML User interface Language with tinyxml?) and css style themes
Documentation: examples, tutorials, api
Features: button, popup, combo box, docking, label, radio button, sliders, text edit, progress bar, menu, check box, button, tab, custom 3d widgets and more
Build: Any ISO compliant compiler, pkg-config, make, vs
Support/Maturity/Community/Status: 2005-10-29    0.8.4 (ie old)

URL: http://aedgui.sourceforge.net/
Description: aedGUI is a cross-plataform, easy-to-use, non-intrusive C++ GUI library that runs on top of SDL, providing themeable widgets without learning Yet Another API.
Size: 748KB zip
No. Dependencies:
Ease of Use:
Ease of integration:
Features: ok amount, tinyxml
Documentation: small info on theme, example
Appearence: Source, xml
Build: make and vs project files
Support/Maturity/Community/Status: v0.1.8a

URL: http://gigi.sourceforge.net/
Description: GUI library for OpenGL
Size: 2MB zip
No. Dependencies: FreeType, DevIL, and Boost.
Ease of Use:
Ease of integration:
Features: Signals and Slots, save state, drag and drop, basic components, some predefined dialogs
Appearence: XML, basic editor
Documentation: API, source based tutorials, build info
Support/Maturity/Community/Status: 0.7.0, not any community
Build: SCons

URL: http://sourceforge.net/projects/openglui
Description: OpenGLUI is a cross platform XML based GUI for OpenGL.
Size: < 2MB
No. Dependencies: TinyXML, maybe others
Ease of Use: Very
Ease of integration: Should be ok
Features: basic components, predefined defaults, very well written code, not a library
Appearence: simple XML
Documentation: example app
Support/Maturity/Community/Status: 0.85, not any community, last commit about 2 years ago
Build: comes with VS project and make

####### GLUT or ALLEGRO or other based ##############

URL: http://www.codeplex.com/buttermilk
Description: XNA game / GUI engine that was being built for the game "Rogue Bishop".
Support/Maturity/Community/Status: DISCONTINUED

URL: http://members.allegro.cc/miran/masking.html
Description: library for writing GUI's in C++. It is an addon library for the Allegro  game programming library which means that it only works with Allegro.

URL: http://adime.sourceforge.net/
Description: Adime is a portable add-on library for Allegro with functions for generating Allegro dialogs in a very simple way.

URL:
Code: [Select]
[url=http://www.orbitalmindsoft.com/nasgui.html]http://www.orbitalmindsoft.com/nasgui.html[/url]Description: A Skinnable GUI Library for the  Allegro Game Programming Library

URL: http://glui.sourceforge.net/
Description: GLUI is a GLUT-based C++ user interface library which provides controls such as buttons, checkboxes, radio buttons, and spinners to OpenGL applications.

URL: http://glow.sourceforge.net/
Description: The GLOW Toolkit is a cross-platform object-oriented framework for building interactive applications using OpenGL or similar APIs such as Mesa. It is, at its heart, an C++ wrapper for GLUT.

URL: http://plib.sourceforge.net/pui/index.html
Description: The Picoscopic User Interface (PUI - pronounced 'poohey') is a simple set of C++ classes that allow programs written in GLUT and OpenGL to create buttons, sliders, menus etc.

########## Other Information about GUIs #################
http://www.doolwind.com/blog/?p=52
Code: [Select]
[url=http://www.rivermanmedia.com/programming/5-object-oriented-game-programming-the-gui-stack]http://www.rivermanmedia.com/programmin ... -gui-stack[/url]http://unity3d.com/support/resources/un ... -easy.html
http://sol.gfxile.net/imgui/
http://www.picogui.org/

EDIT: added more information for LibUFO
EDIT 2: added RightBrain GUI
EDIT 3: added PUI
EDIT 4: added OpenGLUI thanks to Silnarm.

105
General discussion / Moving UI Components
« on: 6 December 2008, 14:44:00 »
I think components.cpp/h should be moved to the gui folder.

Also the rendering methods for components should be moved from the Renderer class to their component class. For example, Renderer::renderButton should be moved to GraphicButton::render. This should make it easier to replace with a GUI library and also makes calling simpler. ie in menu_state_root.cpp "renderer.renderButton(&buttonNewGame);" becomes "buttonNewGame.render();"

computeCenteredPos and Renderer::renderText should be moved to GraphicComponent class. renderText is called in Renderer::renderResourceStatus but other than that I couldn't see any problems moving the methods.

It might even be slightly quicker since it wouldn't need to call the getX() sort of methods, although, they might be inlined.

106
General discussion / Map Editor
« on: 19 November 2008, 01:16:02 »
This is a continuation of posts from GAE 0.3 Planning

I think Qt and wxWidgets essentially achieve the same thing. Both run on different operating systems and as far as I know both can run on many Linux desktops.

The compiling would need to be changed to include the Meta-Object Compiler for Signals and Slots in Qt. Since wxWidgets is already included I don't see the need to change it.

Aslo Cross-Compiling Windows Applications on Linux (wxWdigets)

107
Mods / Glest Community Development Monthly - Issue 11
« on: 11 November 2008, 11:33:55 »

108
General discussion / Australian Made Game Tool
« on: 5 November 2008, 08:04:28 »
I was going through my game production lectures and they mention an OpenGL debugging tool made by Damian Trebilco. GLIntercept is a free tool.

109
General discussion / Compiling with Code::Blocks on Windows
« on: 5 November 2008, 00:35:15 »
The VS solution file is imported easily into Code::Blocks. I downloaded zlib and put that into deps. I go to compile libglest but it comes up with incomplete type error. I tried with 0.2.x and 0.2.8a. I needed to remove "_inline" from glprocs.h

Code: [Select]
typedef struct _DirIterator {
struct __finddata64_t fi;
intptr_t handle;
} DirIterator;

Build Messages:
include\platform\win32\platform_util.h|134|error: field `fi' has incomplete type|

110
General discussion / Network Code
« on: 4 November 2008, 08:46:02 »
I've been looking through the network code and I wonder why there is a check for order when it is using TCP. The message even states it shouldn't be out of order.

client_interface.cpp
Code: [Select]
if(nextseq++ != msg.getSeq()) {
throw runtime_error("File fragments arrived out of sequence, which isn't "
"supposed to happen with stream sockets.  Did somebody change "
"the socket implementation to datagrams?");
}

111
General discussion / Game Performance Monitoring
« on: 31 October 2008, 23:46:33 »
I've been reading about a lot of new features that people would like and I think it eventually increases the requirements of the computer to play. I think it would be good to have a way to see what features are taking the most out of the performance - like a profiling tool that might say shadows is using 5% of processing. I played a game recently that even adjusted different features automatically depending on how well your system was performing.

112
General discussion / Compiling GAE on Windows
« on: 14 October 2008, 14:14:28 »
This is the week before assignments are due so I have been quite busy working on them and unfortunately haven't been able to get GAE compiling on Windows yet. Now for some good news: I found a win32 binary of GAE 0.2.7 that Daniel had made for those that can't wait.

"Extract windows install file into Glest 3.1.2 directory (it will overwrite one file, menu.xml)". I'm not sure which exe, both seemed to work.

I will keep trying to get it compiling but it might not happen until this semester is finished in a few weeks.

113
Mods / Glest Community Development Monthly - Issue 10
« on: 11 October 2008, 05:24:20 »

114
General discussion / Compiling GAE on Linux
« on: 3 October 2008, 06:26:51 »
Hi all,

I've just uploaded the source to the SVN repository, so now I will help people compile it for linux. It should also be possible to compile on Windows but I only want to do one thing at once.

1. Get Dependencies:
The name is most likely [libraryname]-devel especially in package management software.
SVN (to download the source) or download from release system
SDL
OpenAL SDK
Xerces-c
OggVorbis
OpenGL SDK (if you already have the headers don't worry, I think the files are outdated)
Perforce Jam (Boost Jam didn't work when I tried it)
wxWidgets (if you want the map editor)

Might also need autoconf and autogen.

The next are available from the download section of glestae project:
Glest Data files
Four Path Magitech (not sure if this is needed)

Let me know if I missed any.

2. Check out the source:
This is for the current latest release. You can omit '/tags/0.2.7' if you want the whole repository but its over 25MB.
svn co https://glestae.svn.sourceforge.net/svn ... tags/0.2.7 [directory to put it in]

OR
Download it from the release system. http://sourceforge.net/project/showfile ... _id=293627

NOTE: you can also use a GUI like KDE SVN.

If you want to look at the source before 'checking it out' you can go to http://glestae.svn.sourceforge.net/viewvc/glestae/

3. Configure:
a. Go to the directory where you checked out the files
(in a console)
b. Go to 'mk/linux'
c. Type './configure'
d. If it says to use jam, it worked and you can go to the next step, otherwise you need a dependency from step 1 or something else went wrong. If it didn't work try autogen. ie. 'sh autogen.sh' then run configure again.

4. Run jam:
a. Type 'jam'
b. It should be compiling now and will take a while.
c. If it gets to the end without any errors (should say something like linking glestadv) go to next step, otherwise there might be a problem with the code or missing a dependency.

5. Copy and run binary:
The binary should be in the directory, named 'glestadv'.
a. Copy this to the root of the data files
b. Make sure the glestadv.ini is in the directory and configured the way you want it
c. Run the binary as normal

These instructions are not completely tested so there could be a few errors. I would like everyone to be able to compile the source. After linux users can compile I will help with Windows users unless someone else does it before me.

115
General discussion / Glest License on Website
« on: 30 September 2008, 12:59:10 »
I was just looking through the Glest website and no where on it does it mention what license Glest is. I think it would be good to include the license somewhere on the website.

116
General discussion / GAE Proposal
« on: 27 September 2008, 01:42:04 »
Since Daniel has been out of action for a while and his site is unavailable I think it's time to find hosting somewhere else and get some proper roles and project structures in place.

Roles:
Project Coordinator
Project maintainer
Website maintainer
Programmer
Graphics (might not need this if data is separate project)
Quality Assurance
Documentation

I will be the temporary project coordinator and maintainer until things are setup.

Software maintainer definition from Wikipedia:
"a software maintainer is usually one or more people who build source code into a binary package for distribution, commit patches, or organize code in an source repository"

GAE will split into sub-projects each with their own maintainer.

Sub-Project Categories:
Base
Graphics
Tools (e.g. Map Editor, exporters)
Multiplayer (e.g. lobby, network code)
Gameplay (e.g. tech tree, various features)
Documentation (e.g. tutorials, compiling, processes, coding practices, design)

Due to the size of the data it's not going to be possible to include it in the svn on free hosting. So only source code and documents will be included.

Possible hosters:
http://savannah.nongnu.org/
http://www.tuxfamily.org/en/about
http://www.assembla.com/
http://unfuddle.com/about/tour/plans
http://sharesource.org/
http://code.google.com/
http://sourceforge.net/

Resources to help in the setup:
Game development and production by Erik Bethke
http://producingoss.com/
The Game Producer's Handbook by Dan Irish
http://svnbook.red-bean.com/

If you want to take a role or have ideas let me know.

NOTE: this isn't going to happen overnight.

117
Mods / Glest Community Development Monthly - Issue 9
« on: 27 September 2008, 01:37:57 »

118
Mods / Glest Community Development Monthly - Issue 8
« on: 16 August 2008, 09:35:33 »

119
General discussion / Free Distribution System
« on: 27 July 2008, 04:20:57 »
I thought people might like to know about this free distribution system - Archive Games.

http://www.editingarchive.com/archivegames/

120
Mods / Glest Community Development Monthly - Issue 7
« on: 14 July 2008, 11:44:22 »

121
Multiplayer / GGZ Gaming Zone
« on: 8 July 2008, 08:07:08 »
I thought it might be possible to use this in the future. It's sort of like how there is the TA Spring client but this one is a network designed for all open source games.

http://www.ggzgamingzone.org/
Quote
What is GGZ?
The GGZ project makes free online gaming possible. We develop games and work with other game projects to create a better environment for playing on the internet, and we showcase all that on the GGZ Community site, inviting everyone to join us there.

122
General discussion / Valgrind
« on: 22 June 2008, 02:54:35 »
Glest was mentioned as using Valgrind which I didn't realise previously:
Quote
Valgrind is an award-winning instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail.

http://www.valgrind.org/gallery/#games

123
Mods / Demo Mod
« on: 19 June 2008, 09:47:10 »
This topic gave me the idea of having a demonstration mod which is smaller than the standard tech tree for people with slow connections to see if they like Glest (1 or 2 small factions and maybe the loading screen has the features of some other mods). Just putting the idea out there.

124
Mods / Glest Manual Project
« on: 12 June 2008, 13:31:44 »
I think it would be good to make these manuals for Glest:
Glest Coding Manual - Information on compiling, style guidelines, naming conventions, programming tips, design tips, processes, code explanations and tools.
Glest Media Creation Manual - Modelling and Animation, textures, tilesets, other images and audio and video.
Glest Scripting Manual - XML files, Lua and Scenarios.
Glest User Manual - Tips about playing the game, installing and community.

Resources
Writing a Software Technical Reference Manual
Writing a User Manual

I would like to be in charge of the Glest Coding Manual. Daniel Santos sent me an email saying, "I want to get as much of the code within the "Effective C++" guidelines as possible". I have the book called "Effective C++ (third edition): 55 ways to improve your programs and designs" by Scott Meyers. I think this is the book he mentioned. I also have the book called "Industrial Strength C++" by Henricson and Nyquist.

Since there is already information on compiling I will move on to style guidelines and programming tips. As well as reading the books I will be looking at the existing style of the Glest code and probably websites I come across.

Each manual will be in pdf and html format. As always people are encouraged to contribute and provide feedback.

I hope to have a basic draft by the end of the month.

125
Mods / Glest Community Development Monthly - Issue 6
« on: 11 June 2008, 12:49:43 »

Pages: 1 2 3 4 [5] 6 7
anything