Come up with game ideas
Opportunities to be aware of:
Dec 19th // Amazon Future Engineer Scholarship Due
Jan 7th // NSA Codebreaker Challenge Due
Completed
Encryption vs Encoding
Revisit Info Theory Concept
About Control Flow
Flux
Today
Generating Game Ideas
Upcoming
Quiz eventually
TASK PART 1
For our next bit, pun intended, work with a partner and come up with 8 different ideas for a video game. The video below may help you come up with ideas. Start writing them down. You don't need to turn them in today, but you will need to turn them in an upcoming class. We will also use these ideas for a task in one of our upcoming classes.
Last week, you spent a little time playing with the Game Designer Toolkit. In this process, you were to think about the different values in the game, how they affect the game, and what data types may be used for them.
A lot of these values would be hardcoded into the game; they'd be on the ROM chip, not saved in a battery-powered ROM chip, nor on some other type
You'd need to make these same considerations related to your own game.
TASK PART 2
Choose 4 of your 8 ideas.
for each... think about what type of values your game may need, and discuss what type of data may be needed/used in order to play the game. Think back to the designer toolkit for ideas.
Previously, we looked at a video about how the first video game to allow saving was the original Legend of Zelda on the NES. This is sort-of true. We'll look more at how that works later.
The first game to feature any sort of saving was the 1978 shoot 'em up title, Space Invaders. This is an important game historically, and something you could learn about more if you're interested in the history of the industry. For right now though, the thing to know is that it was the first game to save user data.
What did it save?
It saved player's high score.
That's it.
So we have 8 scores. In the screenshot, we can see a high scoring player gets to choose 3 characters for their initials. Today, that would be 8 x 3 bytes. However, they probably weren't using ASCII. You could only choose capital letters, and no numbers. So, only 26 characters to choose from. So, that's only 5 bits per character, instead of the 7 or 8 in ASCII, or Extended ASCII.
The player initials took up 8 x 3 x 5 bits, or 120 total bits.
In some games, the game designers never expect you to max out the score. They make it some ridiculously high value.
When we talk about data types and bits, there are some data types than can only hold so many bits. For example, a Boolean is always only True or False, and so it only holds one bit, a 0 or a 1.
We talked about integers before, just a value that's a whole number. In Python, we just talk about integers, and they can hold pretty much any number. This isn't true for all languages and systems. C has different types of integers. A 'short' in C holds 16 bits, where as a 'long' is 32 bits, and a 'long long' is 64 bits.
In some systems, when a value gets too large for the variable containing it... bad things can happen. Here, you have the "Map 256 glitch" (aka "split-screen level" or a "kill screen"). In Pac-Man, the creators used an 8-bit value to store what level you're on. 8-bits can hold values 0-255. So when you beat level 255... problems occur. The creators never expected players to play the game that long.
We've talked about Binary Overflow before...
do you remember what it is?
In Space Invaders, the designers planned for that. When your score would hit 10,000, it just goes back to 0.
The high score is 4 digits in length, and nothing is worth less than 10 points. Everything in the game gets you some multiple of 10 points, so the highest score you can get is 9990, when you hit 10000, it rolls over to 0, and you start again. Jon Tannahill of Australia is in the Guinness Book of World Records for a score of 218,870, on an original 1978 arcade machine, playing for almost 4 hours, with the game's score rolling over from 10,000 back to zero 21 times during the process.
Because your score always ends in 0, I don't really believe 9990 is the highest score, I think the highest score is 999, and they just slap a 0 on the end to make bigger, more exciting scores. It takes 10 bits to make 999 in binary. So, the high scores are 8 x 10 bits, or 80 total bits. So, the storage needed for the high score screen data would be 200 total bits; 120 from the player's initials + 80 from their scores.
Player progress wasn't stored, it would just check if your score was higher than the 8 scores it had saved. If you scored higher than one of the previous 8, it would place your score in the list (and drop the lowest score).
This was a start though!
It also led to competition, people wanting to see their name on that high score list... which also meant profit.
TASK PART 3
In space invaders, destroying enemy ships would increase your score.
In Pac-Man, it was collecting the little pellets and eating the ghost and fruit.
You already narrowed your ideas from 8 to 4.
Now let's narrow them further to just 2 of those 4 ideas.
In those two game ideas... How might players increase their score?
What values might affect a player's might affect a player's score?
What sort of values and data types would be used to calculate the score?