tz0 / game Goto Github PK
View Code? Open in Web Editor NEWFor game project
For game project
Currently ResourceManager fails by throwing an exception when a texture/sound is not found. Consider changing this to display a warning message in the console to allow the game to not crash.
The team coordinator is responsible for the production and submission of the report. Via email, I believe.
During the course of the project, four reports must to be submitted before the respective presentation.
Allow static decorative sprites to be specified in the level file
We want the Tech 17 player to be able to rotate freely (left and right arrows apply a torque to the body), and the jetpack's main thruster will cause him to move in the direction he is facing.
Implement the level exit.
Components needed to complete:
The farther TECH-17 is from a fan, the less force it should apply to him.
Core:
Stretch:
Might want to use a struct for this.
Not all walls should kill you. There should be regular walls, which you can bounce off of, and "lethal" walls (maybe lasers) that end the game immediately if you touch them.
From PlayerView.h
Milestones/schedule
Software architecture
List the team member contribution in the report
Level design graph
Put down your ideas under this issue.
A radial force consists of:
We want the force to linearly fade to zero as we approach the edge of the radius for a realistic feeling.
To check if an object is affected by the radial force, use raycasting. This is because the force can be blocked by something solid, like a wall. However, any other physical object (like something floating around in the level) won't block the force.
We can create a circle the size of the force's radius to see which dynamic objects are inside the area we need to check, then raycast to all those objects to check how far away they are and thus how much force to apply.
Tasks:
Title. Should be updated in real-time.
Components should not depend on/modify other components. Interrelated components will be managed via Systems.
ConnectComponents
method as this functionality will no longer be used.Since we want to use percentage to simplify the location representation of every "actor" and we use our physics engine's origin, which is right in the center. We probably want to create a small conversion procedure.
The conversion procedure does simple things. For example:
x_level_file = reader.read(leve_1, fan_1, x); // read a float number (as percentage) from json, it could be a fan's x location
x_level_sys = kLengthPlayground * x_level_file - (kLengthPlayground / 2) // transform convert it into an valid value for the physics system
However, just something we need to keep an eye on. Open to discussion.
TODO: reformat the current level file:
Rapidly tapping the enter key at the main title screen causes the animation/transition to the level select screen to loop.
This will be similar to the exit door entity, except will cause a different event to fire (Lethal)
Recreate the level from the first presentation for the demo on Tuesday.
Currently, the player can control TECH-17 even if the game window is not in focus on their machine.
Simple Fix:
Better Fix:
Add your content into the slides - Erik
Add your content into the slides - Tao
Add your content into the slides - Cullen
Add your content into the slides - Yangyang
Implement the entrance to the level.
NOTE: width and height could be determined by sprite, but this is not ideal if we want display scaling
Components needed to complete:
Executive summary
Related games
World
Characters
Fans should push the player character and have the following adjustable characteristics:
Needed components:
The HUD should go in either the top or bottom of the screen, possibly in a corner. We may want to make it partially transparent to give a better view of the level.
Fuel control should probably be implemented in ControlCenter, with the GUI calling accessor methods from elsewhere to get fuel information.
Currently, though limbs' rotation is damped and spring, they should be prevented from rotating to extreme angles. This will be done with a rotary limit joint.
I think we should reevaluate the current value of 0.7, and possibly reduce the amount of damping (make it closer to a value of 1).
The status bar should render on top of the game view.
If the escape key is pressed from any menu, it should go to previous menu. If it is pressed at the title screen, the game should close.
Each time a level starts, new event listeners are added to the event manager. These event listeners are never reset, so after several levels there will be many duplicate event listeners for each event.
When you run out of fuel, the game shouldn't immediately end. We need a heuristic to see if the player will eventually reach the exit given their current speed and trajectory.
Could also just use a short timer to see if the player reaches the exit within, for example, 5 seconds after running out of fuel.
So far in the level.json, we specify walls with a radius
, but fans using a width
. Maybe we can later on consolidate on one or the other. A radius
for walls makes sense because that’s how they are implemented internally so if we make them both the same way let’s use a radius
.
Title Picture
Art Direction
Tags & Dialog
Refine Level design graph
Main Menu
Level Select Menu
Pause / End Game Menu
Navigation between menus and game
Test current TJG on lab environment.
Player composition
UI Flowchart
Mechanics analysis
Plot graph
NOTE: Levels (and perhaps more importantly, the level camera) should have a 160:81 aspect ratio so there is no distortion when turning TECH-17.
Serene will have 12 levels which tell our story. Gameplay mechanics will be gradually introduced throughout the course of the game. The following is a rough outline of mechanics introduction. Story can be decided later on.
Currently if you beat level 12, it goes to level 13. Maybe after beating level 12 we can display a special "game complete" screen.
There should be a way for the player to tell how strong fans are.
Best solution: Use a particle spawner. This can also be re-purposed for jet pack smoke.
Rename LevelView member playerview_render_system to levelview_render_system
I believe this was forgotten when we changed the view name from PlayerView
to LevelView
.
Capitalize first letter on various statusbar/dialogue system methods within LevelView
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.