a powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · programming -...

35
2015-2016

Upload: others

Post on 17-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

2015-2016

Page 2: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Lecture 3

Phil Smith

Page 3: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Learning Outcome 2Be able to design computer games. 1. Design

2. Development environment

3. Programming

4. Program design

5. Units

6. Delivery

Page 4: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

How will you make your game? Form teams of 2 or 3 students if you wish to or work

independently. Learn and use the game dev process.

brainstorming, meeting, scheduling, prototyping, playtesting, iterating, demoing.

…lots of iterative development

Use a game engine or HTML/Javascript.

The three paradigms. (Development environment) event driven, object oriented, procedural

considerations e.g. development facilities, gaming resource offered, library availability.

Delivery: environments e.g. desktop application, mobile app, web based, applet, handheld, console based

Page 5: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Programming - Unity Considerations – programming in Unity

2d or 3d, any type of genre.

The unity game engine uses c# or javascript or boo for its programming language.

Boo is a bit like python.

Much of the maths needed is built into the Unity engine.

Unity also includes simulated physics e.g. gravity and collisions.

You can also code gui window which acts like a pane of glass over your game, here you can add text like scores etc; this forms part of the interface.

Unity also include many game components.

Page 6: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Programming - Unreal Considerations – programming in Unreal

2d or 3d, any type of genre.

The unity game engine uses c++ and Visual studio 2013.

Much of the maths needed is built into the Unreal engine.

Unreal also includes simulated physics e.g. gravity and collisions. This is made easier by the use of blue prints.

You can also code gui window like Unity.

Unreal also include many game components.

Page 7: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Programming – Construct2 Considerations – programming in Construct2

2d only.

Any code uses javascript.

Much of the maths needed is built into the Construct2 package.

Construct2 also includes simulated physics e.g. gravity and collisions. This is made easier by the use of events and actions.

You can also code gui window.

You need to design or download sprites.

No programming needed. (But will have to Prototype)

Page 8: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Programming – Html5 & Javascript

Considerations – programming in Html5 & Javascript.

All code is in javascript.

No maths included (unless you use jquery libraries).

No simulated physics.

No GUI window.

You need to design or download sprites/images etc.

Lots of programming needed.

Jquery libraries might be very useful.

Page 9: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Programming – Python Considerations – programming in Python.

All code is in Python (obviously).

Will need to import the library Pygame.

Some maths included.

Some simulated physics.

You need to download game assets.

Lots of programming needed.

Page 10: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Programming – ? Considerations – programming in ?.

If you have experience of other packages capable of developing games, Ok.

Page 11: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Any genre, or new genre of game

Any art style

Any code

You can download, use, and modify anything:

code, content, music, other projects

Don’t ask if you can use something. You can.

Even if it has a copyright you can use it because it’s fair use, plus you aren’t selling your game, yet.

How will you make your game?

Page 12: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

1. You must develop a game that has a level of interaction or challenge and may be applied on a range of platforms.

2. Therefore it may be web based, GUI based, games console, mobile deliverable or a range of other platforms.

3. Implementation must be based on a suitably complex problem that ensures use of multiple actions and user interaction.

What should your game include.

Page 13: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Design What should a game have? (Three things)

1. An objective. What is the purpose? Is it to get the highest score or save a character or discover something.There needs to be an end goal, something the player works towards.

2. Definitive rules and interactions.Character movements and limits, interaction with other game objects. You could have time limits to complete a level etc.

3. Fun.If it is not fun to play your game will fail.

Page 14: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

You as a game designer Game Designers devise what a game consists of and

how it plays.

They plan and define all the elements of a game: its setting; structure; rules; story flow; characters; the objects, props, vehicles, and devices available to the characters; interface design; and modes of play.

Once the game is devised, the Game Designer communicates this to the rest of the development team who create the art assets and computer code that allow the game to be played.

Page 15: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Game Design tools

storyboards

pseudo code (you already know how to do this)

Narratives (in game)

action lists

graphical tools

actor interaction dialogues

Page 16: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Game Design - Storyboards tools

storyboards

Page 17: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity
Page 18: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Whether you are creating a website, putting together a PowerPoint presentation or game, always plan it out first.

A little thought can go a long way.

Page 19: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

What is its Purpose? What are your goals?

What is your presentation for? To educate?

To sell?

To convince?

To inform?

To entertain?

Or a combination of the above?

Page 20: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Who is your audience?�Know your audience!�Is it a serious matter?�Can it be

entertaining?�Do they care about

what you have to say?�Once you know your

audience, target your presentation to THEM.

Page 21: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Generate Ideas

Use your notes

Decide what you need and what you don’t need.

Do you need more info?

Page 22: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Based on your brainstorming session, make a plan.

Use your plan to design your presentation.

Decide what pictures or diagrams you will need and have a teammate create them.

Page 23: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Provides an overall rough outline of what the presentation will look like, including: Which topics go where,

the links,

and a conceptual idea of where your images go, and what the layout will look like.

You don't have to be able to draw to produce a storyboard. You need only sketch in the outlines.

Someone should be able to look at your storyboard and put together the same site you would have done.

Page 24: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Game Design tools

Narratives (in game)

What text will you use in your game,

You should have an opening screen with the name of the game (perhaps in fancy text) and objective, it should be text that build tension and anticipation.

You should have game over/level over text

You should consider some kind of reward text e.g. score or lives remaining etc

This will need to be documented.

You will also require one or more screen layouts which show where the text will be.

Page 25: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Game Design tools

action lists.

This is a bulleted list which splits the complete development job into individual tasks

1. Shows them in order

2. Shows who will be doing them

3. How long they take

4. When they need to be done by

5. The skills and resources needed

6. Used by the project manager

7. Given to the whole team

Page 26: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Game Design tools

action lists.

Another type of action list is a simple data structure useful for many various tasks within a game engine. One could argue that the action list should always be used in lieu of some form of state machine.

Whilst this is valid in game design we will use the bulleted list version.

Page 27: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Game Design tools

graphical tools

What tools did you need?

E.g. Adobe photoshop for graphic creation/modification.

Development tools used.

Include chrome debugging etc if web based game.

You will need to record the tools use, why you needed them and which tools were rejected and why.

Page 28: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Game Design tools

actor interaction dialogues

If you game has and game object dialogues then these need to be recorded.

Your storyboard can include these dialogues but you will need to have several storyboard panels show the dialogue exchange.

Page 29: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Program Design1. Program design:

1. considerations

1. purpose,

2. modularity,

3. systematic approach,

4. data dictionary,

5. structure charts,

6. flow charts,

7. state diagrams

Page 30: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Program Design1. Programming:

1. use of eg data types,

2. conditional statements,

3. control structures,

4. objects,

5. listeners,

6. syntax rules,

7. parameter passing

Page 31: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Program Design1. Programming Units

1. elements eg

1. functions,

2. procedures,

3. methods,

4. widgets,

5. GUI components,

6. symbols,

7. avatars,

8. characters

Page 32: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

Game prototyping It is always a good plan to try out a game idea by

writing dirty code to see if it works.

Dirty code means not worrying about programming standards, meaning full names or code commenting.

You will need to produce some prototyping code if you do not need to write any game code. We will need this to satisfy the exam board. And our code will need to demonstrate good programming practices.

But we will keep it simple.

Page 33: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

What now - Now you need to think of a game.

Then

Design it.

Assignment 2 will be your design and you will need to include all the types of design from the previous slides.

You need to complete you design for assignment 2 which will be issued about the middle of November.

Alongside your design you need to be developing the game as well – this will be the focus of assignment 3 (along with testing) which will be issued on our return from Christmas.

Page 34: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

What now - As you develop your game, create and use a test plan.

This will be needed in assignment 3 as well.

Enjoy.

Page 35: A Powerpointwiki.computing.hct.ac.uk/_media/computing/hnd/hndu39_lecture03.pdf · Programming - Unreal Considerations –programming in Unreal 2d or 3d, any type of genre. The unity

What have we learnt today?Over to you -