Return to Home Page
Greg Santo's Game Programming Portfolio
   
Go! Kart Level Editor


Program Description

The Go! Kart Level Editor was designed to aid in the development of Go! Kart. The Level Editor was then packaged with Go! Kart so that users could easily create their own levels for Go! Kart. The Go! Kart Level Editor is an easy-to-use WYSIWYG (What You See Is What You Get) editor. The Go! Kart Level Editor allows the user to customize a level's tileset (the graphics that make up the map), background, music, particles (i.e. snow or rain), and map name.

Programming Challenges

The main programming challenge I faced during the development of the Go! Kart Level Editor was creating an application that was useful for the the development of Go! Kart while maintaining a simple and appealing interface so that the average person could create levels with ease.

The result of this challenge is the two-window layout shown in the screenshots below. The main window displays a preview of the map (which is updated in real-time) along with the tileset (the map's graphics) for the map.

The second window, The Property Editor, makes it incredibly easy to change the properties of the current level. The ueser can easi;y resize the map, change the background, change the music, etc. with a few clicks of the mouse.


Features
For more detailed information about the Go! Kart Level Editor please visit ShatteredRealmProductions.com

  • WYSIWYG Editor
  • Easy-to-ues point & click interface
  • Resize the current map at any time
  • Save preset values for tileset information
  • Hide the Property Editor to system tray to save desktop space


Screenshots

The Go! Kart Editor's Main Screen
The Property Editor
You can hide the property editor to the system tray
You can save and load maps from the system tray to save desktop space


Code Sample
The CreateBrowser function creates a file browser for the property editor (i.e. when you click a "Browse..." button). The function accepts the variable which will be set after the browser is returned, the path for the browser to start in, a file type filter, and the default extension to add to the file name if no extension is specified.

int CPropertyEditor::CreateBrowser(char **variable, const char *path, char *filter, char *defaultExtension)

{

    CFileDialog Browser(TRUE, defaultExtension, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,

                        filter, NULL);

 

    // If the path is not an empty path then change the inital directory

    if(strcmp(path, ""))

    {

        Browser.m_ofn.lpstrInitialDir = path;

    }

 

    if (Browser.DoModal() != IDOK)

    {

        return IDCANCEL;

    }

 

    CString fileName = Browser.GetFileName();

 

    string *temp = new string(fileName.GetBuffer(fileName.GetLength()));

    *variable = (char *)temp->c_str();

 

    fileName.ReleaseBuffer();

 

    return IDOK;

}


Downloads

Go! Kart Setup.exe - This is the Windows Installer for Go! Kart. This includes the Go! Kart Level Editor.

Go! Kart.zip - This is a zipped version of all the necessary files for Go! Kart. This is for users who do not want to run an installer. This includes the Go! Kart Level Editor.
   
Copyright © 2006 Greg Santo