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

Fill purpose for Game Physics #3419

Closed
hrzhuang opened this issue May 12, 2023 · 4 comments · Fixed by #3444
Closed

Fill purpose for Game Physics #3419

hrzhuang opened this issue May 12, 2023 · 4 comments · Fixed by #3444
Assignees
Labels
enhancement newcomers Good first issue to work on!

Comments

@hrzhuang
Copy link
Collaborator

Spun-off of #3391. Other examples (except for HGHC and Template which are meant to be bare bones) had a short introduction to the Problem Description section in the SRS which could be directly used as the purpose in SystemInformation. However, this introduction for Game Physics is too long to be used directly. A short summary of this introduction (and the Goal Statements) is needed.

@smiths
Copy link
Collaborator

smiths commented May 12, 2023

@hrzhuang this is a good issue. I've assigned it to you, since I don't think it will take long and you know the context of what we are trying to accomplish. You can put the proposed text as a comment first so that I can give you comments before we proceed.

@samm82 samm82 assigned hrzhuang and unassigned halonazhao May 12, 2023
@hrzhuang
Copy link
Collaborator Author

hrzhuang commented May 12, 2023

How does "simulate 2D rigid body physics in a simple, lightweight, fast, and portable manner, for use in game development" sound?

For ease of reference, the introduction of the Problem Description section is the following.

A system is needed to create a simple, lightweight, fast, and portable 2D rigid body physics library, which will allow for more accessible game development and the production of higher quality products. Creating a gaming physics library is a difficult task. Games need physics libraries that simulate objects acting under various physical conditions, while simultaneously being fast and efficient enough to work in soft real-time during the game. Developing a physics library from scratch takes a long period of time and is very costly, presenting barriers of entry which make it difficult for game developers to include physics in their products. There are a few free, open source and high quality physics libraries available to be used for consumer products.

I think there is also a correction to be made in the first sentence here: the system doesn't create a physics library, it is the physics library.

@smiths
Copy link
Collaborator

smiths commented May 24, 2023

@hrzhuang I like your proposed purpose, but I think we should simplify it even further. Our first goal is to get the functionality right. I have less confidence that we'll achieve the nonfunctional requirements like simple, lightweight, etc.
Also, I don't want to claim those things until we have an unambiguous way of specifying those qualities. At some point, we will want to return to the conversation about the nonfunctional requirements, but for now, I think we should leave them out of the purpose. Let's just say:

"simulate 2D rigid body physics for use in game development"

I thought about taking out the game development part, but I think we should keep it, since the scope of the project comes from an existing project built for game physics.

I agree with you that the introduction would be changed to something like "A simple, lightweight, fast, and portable 2D rigid body physics library allows ..." I left the nonfunctional requirements in there to help remind us that this is something we should expand/clarify in the future. @hrzhuang please either fix the introduction, or create an issue that we can assign to someone else for this.

@hrzhuang
Copy link
Collaborator Author

I created a PR that adds this purpose and fixes the introduction. I changed the first sentence of the introduction to

A system is needed to simulate 2D rigid body for use in game development, in a simple, lightweight, fast, and portable manner, which will allow for the production of higher quality products.

so it reuses the purpose instead of saying the same thing slightly differently. Also Drasil puts the phrase "A system is need to" at the beginning of every introduction (which is something we might want to relax as another issue).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement newcomers Good first issue to work on!
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants