Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First draft of user interfaces for game development. #7

Open
wants to merge 5 commits into
base: trunk
Choose a base branch
from

Conversation

RayneZhang
Copy link

No description provided.

Copy link
Contributor

@cyrus- cyrus- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Structure and paper choice looks good. See comments for revisions to make by the second draft deadline.


Overview
--------
Starting with Spacewar in 1961, computer games have been around for over four and a half decades.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reword to "Computer games have been around for over four and a half decades, starting with Spacewar in 1961."

Overview
--------
Starting with Spacewar in 1961, computer games have been around for over four and a half decades.
Computer games are becoming increasingly important in lots of industries including software development, entertainment, education, military, and medicine.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • "are becoming increasingly important in lots of" -> "are not just for fun. They are also being used for training and discovery in many"

--------
Starting with Spacewar in 1961, computer games have been around for over four and a half decades.
Computer games are becoming increasingly important in lots of industries including software development, entertainment, education, military, and medicine.
Game development itself has been considered as a combination of multiple disciplines including programming, design, art, modeling, animation, music, etc.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"itself has been considered as a combination of" -> "involves"
"music, etc." -> "and music"

:filter: key == 'blow2004game'

This article presents a broad summary of the reasons why game development is hard nowadays.
In a high level, the author classified the difficulties into two categories: problems due to overall project size and complexity and problems due to highly domain-specific requirements.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"In a high level" -> "At a high level"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"domain-specific requirements" -> "domain-specific knowledge requirements"

This article presents a broad summary of the reasons why game development is hard nowadays.
In a high level, the author classified the difficulties into two categories: problems due to overall project size and complexity and problems due to highly domain-specific requirements.
Problems due to overall project size and complexity include the lack of excellent development tools, the inefficiency of development workflow, the barriers for multi-platform development, and the lack of excellent third-party components/engines.
Problems due to highly domain-specific requirements include the domain-specific knowledge about programming, mathematics, algorithms, computer graphics, etc.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"computer graphics, etc" -> "and computer graphics"

Most game development platforms require highly domain-specific knowledge of imperative programming languages, which has a steep learning curve for end-users.
For example, Unity3D employs C# as its scripting language and Unreal Engine uses C++ as its scripting language.
In this subsection we examine Functional Reactive Programming as a declarative programming language in contrast to imperative programming languages.
We also introduce visual block-based programming languages and visual dataflow programming languages for game development.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Functional Reactive Programming as a declarative programming language in contrast to imperative programming languages. We also introduce visual block-based programming languages and visual dataflow programming languages for game development. " -> "functional reactive programming, visual block-based languages, and visual dataflow languages for game development."

.. bibliography:: game-development.bib
:filter: key == 'elliott1997functional'

This paper introduced Fran, a functional reactive animation system which generated the paradigm called Functional Reactive Programming (FRP).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"generated" -> "introduced"

This paper introduced Alice, a 3D interactive animation environment.

.. todo::
Cite Visual Scripting features from Unity and Unreal that use visual dataflow programming.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please complete this todo for the second draft

.. bibliography:: game-development.bib
:filter: key == 'ebner2013towards'

This paper proposed to define the key requirements and challenges in constructing a new Video Game Description Language (VGDL).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"proposed to define" -> "discusses"

:filter: key == 'ebner2013towards'

This paper proposed to define the key requirements and challenges in constructing a new Video Game Description Language (VGDL).
It proposed an initial design to the semantics of the language and the components required to define a given game.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"initial design to" -> "initial design of"

@cyrus-
Copy link
Contributor

cyrus- commented Oct 28, 2019

a recent paper on Ceptre's UI that you should take a look at https://drive.google.com/file/d/1C3bjSZmGL2JDshkpuSjEgQ2SUd5lt2o0/view

Copy link
Contributor

@cyrus- cyrus- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looking good -- see comments for final draft. grade + additional feedback will be sent via email.

}

@inproceedings{elvezio2018mercury,
title={Mercury: A messaging framework for modular ui components},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

capitalize "UI" (you have to put it into braces in BiBTeX: {UI})

@inproceedings{elliott1997functional,
title={Functional reactive animation},
author={Elliott, Conal and Hudak, Paul},
booktitle={ACM SIGPLAN Notices},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't cite SIGPLAN Notices (it just republishes conference papers) -- cite the original conference

}

@article{maloney2010scratch,
title={The scratch programming language and environment},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

capitalize "Scratch"

@book{maloney2008programming,
title={Programming by choice: urban youth learning programming with scratch},
author={Maloney, John H and Peppler, Kylie and Kafai, Yasmin and Resnick, Mitchel and Rusk, Natalie},
volume={40},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the venue?

}

@book{maloney2008programming,
title={Programming by choice: urban youth learning programming with scratch},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

capitalize Scratch

.. bibliography:: game-development.bib
:filter: key == 'elvezio2018mercury'

This paper presented a framework as an improvement for the existing game engine architecture.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Use present tense ("presents" not "presented") in paper summaries.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sentence is vague and may not be necessary

Declarative Programming Languages for Game Development
---------------------------------------------------------
Most game development platforms require highly domain-specific knowledge of imperative programming languages, which has a steep learning curve for end-users.
For example, Unity3D employs C# as its scripting language and Unreal Engine uses C++ as its scripting language.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure "scripting language" is the right phrase here -- "native language"?

This paper introduced Fran, a functional reactive animation system which introduced the paradigm called Functional Reactive Programming (FRP).
The key ideas in functional reactive animation are its notions of *behaviors* and *events*.
Behaviors are continuous, time-varying values.
Events are values that occur at a single, discrete point in time, having no duration, such as a button press.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was there some specific mention of video game programming in this paper? If so, note that, if not, say why and describe why this paper is in this section in a little more detail.

Programming is done by dragging and snapping together colorful command blocks to control 2D graphical objects called sprites moving on a background called the stage.
This paper also describes aspects of Scratch and the language design that make it easier for young people to explore, express themselves, and learn.

The Blueprints Visual Scripting system :cite:`blueprints` in Unreal Engine is a gameplay scripting system that uses the concept of dataflow programming to compose game elements from within the Unreal Editor.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need a bib-item for blueprints

.. bibliography:: game-development.bib
:filter: key == 'maloney2008programming'

This paper reports on the Scratch programming experiences of urban youth from after-school programs over an 18-month period.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

again not clear whether video games were a specific topic of interest in this paper

Copy link
Contributor

@cyrus- cyrus- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great. final grades will be sent via email soon.

@@ -64,7 +69,7 @@ @article{cooper2000alice
}

@article{maloney2010scratch,
title={The scratch programming language and environment},
title={The Scratch programming language and environment},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs curly braces: {Scratch}

Events are values that occur at a single, discrete point in time, having no duration, such as a button press.
FRP aims to automate the low-level implementation details by providing the user high-level abstractions, which prevent them from having to explicitly manage common implementation chores that has nothing to do with the content of an animation.
The concept of FRP has been proven to be viable in not only game development, but also data visualization and web development.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how has it been proven to be viable in game development?

Base automatically changed from master to trunk February 14, 2021 02:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants