Date post: | 20-Mar-2018 |
Category: |
Documents |
Upload: | phungthien |
View: | 216 times |
Download: | 3 times |
Overall: Very good document
Graphic Novel
Game Engine User
Manual
Sean Kelly
Emanuel John
Davey McNight
1
Contents
Abstract 3
Introduction
a. Functionality 4
b. Target Audience 6
c. Target Devices 6
d. Application Benefits 6
7. Mock-Ups 7
a. Web UI 7
b. Android UI 11
2
Abstract
The Graphic Novel RPG Game Engine Program/App (GNGE) is a
hybrid web and software app that will allow game developers with no
programming experience to create novel-like games targeting Android
devices with no programming experience. The games that can be created
from this application will allow players to make decisions about the story to
create a nonlinear and more interactive experience for the readers.
The game developer will create and compile the story content on the
a web-based application whichapplication that will then package the game
into an Android executable file that could can be played on an Android
tablet.
3
Introduction
Functionality: This application consists of three parts:
1. Web App Editor
● A web app editor that allows a non-technical user to add user-
generated content and then package the file into an .apk file to use
on the Android device. User will add story information through the
web app and the software will generate XML files that will create a
storyboard. The system will then package files into an .apk to play on
an android device. The editor will allow users to preview their games
from within the editor.
2. XML Parser and Domain Classes
● This application will consist of several Domain classes
○ Game Class: This class will load all the data created on the
web interface UI. The data will be hash maps of all the XML
files and the additional data. (Act Number, Scene Number,
Event Number, and Decisions the user can make at each
event.)
○ Act Class: This will keep track of the name, image
4
backgrounds, and will contain a list of Scenes.
○ Scene Class: This will keep track of the name, image
backgrounds, and will contain a list of Events.
○ Event Class: This will keep track of the name, body text from
the story, and will contain a list of decisions.
○ Decision Class: Each decision will have a value and each
decision will hold the scene, act, and event name.
○ Parser Class: This class will parse the xml and make changes
accordingly. It will mainly monitor the decisions and jump to
events caused by the decisions made.
3. The XML event management and documentation
● This part of the project involves integrating the above classes to work
together as one functional component and making the game work.
This will involve users responding to decisions, saving game states
and tracking the program flow. In other words, this part of the project
is responsible for making sure that the action listeners work when
user clicks a button (makes a decision). This phase involves the
documentation of the entire project from inline code comments to the
external technical manual and user guides including the help pages
5
for the web UI.
Target Audience:
● This project is designed for game creators/writers to easily create
android games.
Target Device: Tablet (Android)
Application Benefit:
Game creators will have a simple and free way to develop their ideas
into android applications. No programming experience required. The
application will exist on the web, where it is easy to deploy new features
and bug fixes to users. The code will be open source, so any developer can
contribute changes to improve the experience of developing games.
Mock Ups
Web Interface Mockups:
After logging in, you the user can select any one of your projects that
you’ve saved on your the user’s account. Within the project, you the user
6
can see the many acts of which your story consists. Selecting an act will
show you a view of the many scenes that make up that particular act.
Selecting one of those scenes will show you the events in that scene, and
selecting one of those shows the event editor
The event editing view will consist of a form-like interface where the
details for the event can be entered. You can assign body text and a title to
the scene, as well as create any number of dynamic user decisions that
lead to other places in the story. In addition, scenes can be “dynamic” in
that their content depends upon previous scenes.
Finally, it will be possible to create an Android APK using the
“publish” UI, which merely shows you a progress bar as your APK is
created, and then allows you to download it
7
Fig 1. Web Interface home mockup
Fig 2. Web Interface act viewer mockup
8
Fig 3. Act editor mockup
Fig 4. Event editor mockup
Android User Interface:
These images will show you the way the user will move through the
9
story on the Android device.
Fig 5. Basic android UI
The user will push buttons which will cause events. Events will lead to
other events. Button one will lead you to a new event. The event did not
create a new scene but led to a new part of the story.
10
Fig 6. Basic android UI
Now when the user picks button two. It goes to new a new scene.
The user could have choose this to begin with. The flow of the story will be
open ended. Allowing for players to write their own story.
Fig 7. Android UI
11
Graphic Novel
Game Engine
Technical Manual
Sean Kelly
Emanuel John
Davey McNight
12
Contents
14. Technical Summary 14
a. Required Hardware 15
16. Content Schema 16
a. XML 16
b. Database Design 17
c. Diagrammatic XML Structure 18
19. Responsibilities 19
19. Schedule 19
13
Technical Summary
This environment, temporarily named the “Shameful-Duck”
environment, is to consist of two distinct technical entities:
1. A fully functioning graphic-novel engine that targets Android tablets.
2. A web application to allow content creators to construct graphic-novel
games using the “Shameful-Duck” engine. The users of this
application will not be required to have any programming experience.
The Android-based engine is entirely content-driven: content is
supplied in the form XML that describes the flow of the graphic novel, as
well as directories containing graphical and audio content.
The content editor (“SD-Editor”) consists of a graphical frontend
wherein users can construct and preview their game as they would see it
on an Android device. The system will allow users to maintain accounts so
that they can save and modify ther existing works without hassle. Finally,
this system is capable of packaging content with the Shameful-Duck
engine, providing it to the user as an .apk file that is ready to be installed
and played.
There is also a thorough tutorial that will guide users through making
a simple game, and assist them with the features included in the SD-Editor.
14
All of these technical features are free and open source, licensed
under the MIT license.
Required Hardware
● The only requirement is an Android device, though a tablet is
preferred, as the engine will be designed to run on a tablet rather
than a mobile phone.
15
Content Schema
<?xml version="1.0" encoding="UTF-8"?><shameful-duck version=”0.1”><act number="1" start_scene="1"> <scene number="1" name="The Hotel Room" start_event="a1-s1-e1"> <event id="a1-s1-e1"> <body>
/* Some call to action*/ </body> <decision> <option outcome="event a1-s1-e2"> /* Decision 1 */ </option> <option outcome="event a1-s1-e3">
/* Decision 2 */ </option> <option outcome="scene 2"> /* Decision 1 */ </option> </decision> </event> <event id="a1-s1-e2"> <body>
/* Some story and a call to action */ </body> </event> <decision> <option outcome=""> /* decision x */
</option> <option outcome="scene 2"> /* decision y */
</option> </decision> </scene> <scene number="2" name="The Hallway" start_event="a1-s2-e1"> /* Some scene with content*/ </scene></act></shameful-duck>Listing 1. Basic XML structure
16
There is currently no internal database requirement for this app but
the web UI might require a database and some extra server utilities in order
to be able to track users, data and to also automate creating of the game’s
apk file.
Draft Database Design (Schema diagram)
WebAPP: ⇒ Since logins and signups are totally managed using Oauth, the
Web UI needs only 2 tables:
1. Users tables
2. User items saved.
fig 5. webapp schema
Diagrammatic XML Structure: ⇒ The android app does not include any
internal or external database. However, here is a simple pictorial view of
17
the XML schema.
Fig 6. XML Schema structural diagram
Responsibilities
● Sean Kelly - Web UI
● Davey McNight - Android Code (XML Parsing)
● Emmanuel John - XML Event Management/Documentation
Schedule:
● 24 March: User Manual (incr), Technical Reference Manual (incr),
18
APK generator, Java Classes, Basic XML Structure, Web interface
design draft (incr)
● 31 March: User Manual (incr), Technical Reference Manual (incr),
Mobile User interface and simple prototype, Web interface design
draft, Basic Web Interface functionality (incr)
● 7 April: User Manual (incr), Technical Reference Manual (incr), Web
user interface and integration with apk generator, more changes and
additions to android app, Basic Web Interface functionality (incr)
● 14 April: User Manual (incr), Technical Reference Manual (incr), Web
Interface functionality, Testing and code documentation.
● 21 April: Complete First Draft of Software and Documentation, Web
UI Help page.
● 30 April: Final Presentation (3:00 - 5:30 pm)
19