csci 101 introduction to software development and design
TRANSCRIPT
Learn the step-by-step thinking that characterizes writing computer programs
Learn terminology and ideas behind software development and design
Algorithm:◦ set of steps that describe what the program must
do◦ written in English
Programming:◦ turning an algorithm into an English-like language
the computer can understand◦ there are lots of programming languages
◦ also know as "coding"
Debugging:◦ Testing the software to find and remove errors
Input:◦ an unknown amount of positive numbers◦ -1 to stop the list
Output:◦ the average
Processing:◦ read numbers until the user enters "-1"◦ total up all the numbers◦ print the average (total divided by count)◦ stop
Get First number
Print total / count
Get Next number
Is it -1
add number to total
add one to count
Yes
No
Information to Track:1.number that was input2.count of numbers3.total of all numbers
Test/Debug
Algorithm
Sour
ce C
ode
Idea!!!
Analyze the Problemand Design a Solution Programming
DONE!!!
Write Storyline Schedule tasks
•Brainstorm•Define purpose/goals
DesignDesign
• Build/find sprites•Build Objects
• Write Conditionals• Build Rooms
•TEST often/Evaluate
DevelopDevelop PublishPublish
•Write player instructions
•Sell•Make $$$$
ConceptConcept
GOAL - Games need to have a Goal for the player to work toward.
CHALLENGE: needed to keep the game interesting and engaging for the player. ◦ Ex: increase difficulty as player progresses.
ROOMS – Determine your rooms. This environment may be a maze, castle, forest, racetrack, or underwater cave.
ENHANCEMENT – Use Sounds and
Backgrounds to enhance the environment and gameplay experience.
Objects allow the player to attain the Goal.
◦ GRAPHIC: The appearance is called a Sprite.
◦ BEHAVIOR: Determined by events and actions (Conditional Statements )
Events trigger specific Actions (Ex: If Player collides with enemy, then lose 1 life).
Each object has properties and behaviors encapsulated inside of it.
This entire collection of properties and behaviorscan be referenced through the object name
Creation Behavior – Start moving
Collision Behavior – Bounce
Left Mouse Behavior – Increase Score Bounce
Image – Sprite propertiesbehaviors
Building behaviors is an example of Event Programming
Wait for some specific Event to happen
Perform some action(s) in response to it.
Creation
Collide with Wall Object
Left Mouse
EVENTS ACTION(S)
Start moving
Bounce
BounceIncrease
Score
The computer knows & does only what you tell it
The game is created by defining a set of instructions or conditional statements for the computer to follow.
Computer instructions must be completely defined and appropriately sequenced, or an undesired outcome may result.
Game Description Fruits move randomly around
the room; bouncing off the wall
When the left mouse clicks on the fruit, the score is increased by 5 and the fruit jumps to a new location
ObjectsAppleBananaCherryBombWall
Development Team (1 pt) List team members (first and last official name) and expectations of how you will work together...
Title: (1 pt) Determine the name of your game...Description
(7 pts) Describe the game. State the purpose of the game, give a high level walkthrough in words of the characters, locations, tasks etc. that the player will encounter as they progress through the game. List any constraints you currently know
Determine the Game Play (10 pts) Within the game, what goals should be accomplished? How does the player advance to the next level or acquire new skills in the game? What challenges will the player face when trying to accomplish these goals? Describe the mechanics of how the player actually plays the game; associate user controls with user actions (keyboard/gamepad controls).
Room Map(5 pts) How many rooms are in the game? You should have at least two. How are rooms structured or ordered? Provide a map of the 'physical layout' of the game showing how different physical locations or rooms are ordered and/or connect to each other.
Sounds (3 pts) What are the audio requirements of the game? Background music, alert sounds for particular events or actions, general background noise? If you don’t know what sounds you’ll use, tell how you will work on getting them.
Backgrounds (3 pts) What backgrounds will you need? If you don’t know what backgrounds you’ll use, tell how you will work on getting them.
Objects Needed (10 pts) What objects need to be defined? It may be useful to break the objects down into subcategories - player character, 'non-player characters' (e.g. 'monsters'), room objects (walls, doors), scoring/health objects (treasure, fuel pellets, first aid kits etc.), controller objects etc.
Events/actions (10 pts) For each object, list the associated events. For each event list the associated actions. What rules does the game implement?
Game Design Assignment
Event to move is the arrow keys◦ Add event -> keyboard … select which keys
◦ To stop it… -> keyboard -> No key
Projectile starts moving when it is created
The ‘shooter’ creates the projectile
◦ keyboard -> space