Software Development/Opensource project/Computer Graphics: Graphical Development system Title: Development of a C-based Graphical Development System Objective: To create a graphical development system that outputs C code, which can be customized, optimized, and compiled to create applications such as video games. Justification: There are two major approaches to video game development taken by beginner game developers. One is 'hard', where beginners do things just like the pros and attempt to create the product using code written in a normal language. The other way is 'easy', where an application is used to create games using simplified scripts and graphics systems. The main problem with the 'easy' method is that it limits the capabilities of the final product in certain ways, and can be potentially very inefficient. Moreover, these projects often resort to the use of 3rd-party plug-in software to overcome the limitations of the system. Finally, most of these systems involve giving money to the small companies that make the programs; many copies have been obtained through illegal means, which is an indication to the need for an alternative. There should be a way to overcome the limitations while keeping an interface that makes it fast and easy to bring out the imagination with as little need for advanced methods as possible. Description: This project will provide a system that allows the user to design games (or given creativity, advanced animated presentations). This system is to use a point-and-click interface combined with optional typing in order to facilitate the most intuitive access. It will also provide a method for controlling and creation of animations, sounds, and other components used in games. The system will not produce actual binary code directly, nor will it require an interpreter; instead, it will output C code. This will allow the user to optimize and add advanced features if he or she should so wish. It also allows the final product to run with good speed, and assures cross-platform compatibility (something missing in all mainstream game-creation programs). Limitations: Time is the only enemy of the project. Everything else can be developed using information freely available on the Internet. Similar applications are known to require professional teams that constantly maintain the software and add new features.