6 – Improvements, Round 1


🎯 Learning Objectives

After this lesson you should be able to:

  • Recap and apply your knowledge of Agile Development
  • Develop your programming and games development skills further
  • Iterate the development of your chess game
💬 Key Vocabulary

  • Chess
  • Agile
  • Sprint
  • Iteration
  • Debug
  • Goal
  • Checkmate
  • Version Control
  • Iterative development
  • Testing
Last lesson, you…

  • Learned the basics of chess
  • Built the first stages of a chess game
  • Considered the first steps of iterative development
Today, you will…

  • Improve your game
  • Recap Agile and start to apply it

📝 Starter Activity

  • Let’s see what you remember about Agile.
  • Here are the case studies from lesson 1 to remind you.
  • Read through them if you need to, then answer the questions.

Case Study 1 – Marc

Case Study 2 – Jun

Case Study 3 – Marie

Questions

  1. What was Agile?
  2. What are the benefits of the Agile style?
  3. How might we use it today with our chess game?
  4. What issues do you expect to encounter?

Click here for the answers

📖 Learn It – Version Control

  • Version control is a really important part of the Agile process.
  • Being able to go back on changes, or even have multiple possible changes being tried at the same time, is one of the things Agile requires.
  • Software developers working in teams are constantly writing and changing code. One developer on the team may be working on a new feature while another developer fixes an unrelated bug, so each developer needs their own copy of the files, but with their changes added to the finished version without causing conflicts.
  • Version control tools make this possible. They’re actually quite simple in how they work. Rather than overwriting the original files, version control saves special files which record only the changes to the original file, whether it’s something added or removed – opening the new version simply applies the changes to the file as it opens, without affecting the original.
  • All of this is good news. It means that even if what you have done ? breaks everything ?, there’s always a backup of the original files.
  • Lots of different version control tools exist, but the most famous one is called git.

Have a watch of this video to find out more:

📝 Activity 1 – Iteration time!

Last time you took some unfinished code and added a new feature to it, getting the pawns moving. It wasn’t explicitly mentioned, but what you did was your first sprint. You took the program from one working state (drawing the board and not much else) to another working state, where you had a single piece moving as designed.
Now it’s time to iterate, and start your second sprint. Code of the right stage is visible below. Your job will be to add more features today, which you might want to do in lots of short steps rather than doing it all at once.

You need to complete the following tasks today:

  • Work out which piece you want to get working next, and do a short sprint to add it to the game.
  • After this, test to make sure everything still works.
  • Get the rest of the pieces working using more sprints – remember, each stage should reach a point where nothing is broken.
  • Have a look at the special moves in chess: promotion, castling and en passant. Thankfully, these have already been done for you, as they’re a bit of a headache, but you should write a short response explaining how using sprints would have helped to get these working.

💬 Summary

In this lesson, you…

  • Produced iterations of your game which added more features and improvements.

In the next lesson, you will…

  • Join up with other students into a group
  • Assign yourself roles within the group
  • Start to make independent progress on your games project

🏅 Badge it

🥈 Silver Badge

  • Upload code with another piece working as intended.
🥇 Gold Badge

  • Upload code with all pieces working as intended.
🥉 Platinum Badge

  • Upload your written response about the special moves and sprints.