Guichan is a small and efficient C++ GUI library designed for games. It comes with a standard set of widgets and can use several different objects for displaying graphics and grabbing user input. . Guichan has a very abstract design which allows users of Guichan to use different objects for displaying of graphics and grabbing of user input. Guichan comes with (for now) 3 implemented graphics objects (SDLGraphics, OpenGLGraphics and AllegroGraphics) and 2 implemented input objects (SDLInput and AllegroInput), . Guichan is designed in a very abstract way making it very easy to extend Guichan for your own needs. It is even very easy to implement new graphics objects making Guichan as portable as ansi C++ is.