- Archana Ahlawat, Nik Bramblett, Dara Buggay, Ryan Chung, Samarth Desai, Ian Eldridge-Allegra, Aaron Paskin, Sam Slack, Owen Smith, David Tran
- Started on October 31st, ended on December 15th, estimated 1,500 hours total amongst all group members spent on the project
- Files used to start the project: Run default_pkg.Main in src folder. This launches SceneController, which creates the welcome screen from which the user can either play a pre-existing game, build their own game, or view the settings for the game.
- VOOGASalad is a 2D game authoring environment that gives users the ability to create arcade-style games of genres ranging from RPG's to platformers, save and reload them, and play them, with no programming experience necessary.
- Information about using the program: to play a game, select the play game button in the menu and click on a previously created game. To build a game, select create. Create sprite objects, which can be viewed under default sprite objects, and place them on the scene wherever. Their images can be created by loading an image file or drawing them with the drawing tool. Ultimately they are saved by clicking the create button. Edit their properties by clicking on them and editing information about their proprties like actions and conditions, parameters, and dialogue. When editing a sprite object, it is important to click the apply button to save any changes. The game can be saved by going to file and clicking save, and then can be re-run and edited by going to play and selecting the game the user saved. An important note: when first opening the program, you will be prompted to select an empty directory on your system -- it really does have to be empty unless it has been populated only by our program. This will then be saved to local.properties (you may have to refresh eclipse's file system for this change to be recognized the next time). This will be your working directory. If you want the already created games, copy the Demo Games directory from data onto your computer, and select that as your working directory.
- Resources: Java documentation on list change listeners, lambda expressions, and layout components like HBoxes, VBoxes, TreeViews, and tabs, Program Creek for examples on list change listeners, StackOverflow for researching specific, small algorithms that were useful, and newthinktank.com for an example on MVC.
- Data or resource files required by the project: in the TextResources package, there are several properties containing titles and labels used in the conditions and actions tab. Actions.properties, Operations.properties, and the properties files that are referenced within those (ie each action category and each operation type has a properties file). The drawing utility uses a properties file to find its tool classes. The resources folder contains several images used within authoring, and the languages subpackage contains the language locales that are supported. local.properties holds the file path selected for storing/loading games, including a resources folder holding a text file of all exported games.
- Decisions, assumptions, or simplifications made: in making our role playing game, the genre isn't exactly defined, so we took that to mean make a game building application that can support as many games as possible. In the end, we had functionality for genres like RPG, platformer, puzzle, and arcade shooting games. There was a lot of debate regarding whether or not to use a grid -- ultimately the decision was that the engine would not use a grid (otherwise it would be difficult to produce smooth movement) but the authoring environment would to make it easier for the user. This does place some limitations on what the user can do and how specific they can be in their game design, but it also simplifies the process.
- Known bugs, crashes, or problems with the project's functionality: regarding actions and conditions, cannot copy actions and conditions from one sprite object onto another, cannot completely load the treeview of actions and conditions of each sprite object after being saved, and cannot create sprite actions and conditions from the sprite creator (only in the map editor).
- Extra features included: Our game engine has a game data producer and viewer, which allows the user to view information about any object at any point in the game like its position and parameters. Press f1 to use it.