Building Tic-Tac-Toe in a Google spreadsheet [video](youtube.com)
youtube.com
Building Tic-Tac-Toe in a Google spreadsheet [video]
https://www.youtube.com/watch?v=Vbnm5dFr_A4
27 comments
A few years ago I wrote a Minesweeper clone in Google Spreadsheets: https://docs.google.com/spreadsheets/d/1367o4BYYNynmMan_1I5x...
That is very cool! I'll mention it at the end of the series. Might come back to doing something with Apps Script some day!
I love that he makes real mistakes and then shows how to debug them (using docs, debug output, etc).
I am glad you liked it! I also really enjoy watching people build things, and I am always more interested in the journey than the result.
Makes one wonder about an IDE that use grids like that, but where one can grow multiple sheets/regions as needed without disrupting what exist already.
Like insert cells, shift existing cells right or down in Excel?
yep. Thing is that this is likely to break existing formulas etc at the best of times.
Its funny how it seems only Apple has a spreadsheet the offers free floating "sheets", but there it seems to be treated more like a presentation/layout refinement (meaning that even the "humble" spreadsheet is basically a tool for desktop publishing).
I do believe Excel and others have the ability to reference cells from other sheets, but that still means having to flip between them to keep things in sync.
Its funny how it seems only Apple has a spreadsheet the offers free floating "sheets", but there it seems to be treated more like a presentation/layout refinement (meaning that even the "humble" spreadsheet is basically a tool for desktop publishing).
I do believe Excel and others have the ability to reference cells from other sheets, but that still means having to flip between them to keep things in sync.
I did some of that in part 2! For the most part, it is smart enough to do the right thing for simple operations like cut and inserting rows/columns, however they are indeed some edge cases that it doesn't handle well.
Formulas will only break if you got them wrong, usually if you confused relative and absolute addressing. Or if you perform your own cell address calculations and the cells are no longer where your formula says. I am pretty sure it is almost always not the fault of Excel.
Yup. A few rules I try to follow when designing spreadsheets that will be used for more than 15 minutes:
- Any cell that contains a numerical value (as opposed to a formula) is highlighted. All such cells are at the top of the first sheet.
- Never ever use VLOOKUP or HLOOKUP, as inserting columns or rows will break them. Use INDEX and MATCH instead.
- Never use OFFSET, as it's a 'volatile' function, meaning Excel will recalculate the value for any cell which contains it, if any value in the sheet changes. Use INDEX instead.
- When you're tempted to enter a value directly in a formula (e.g. when you divide by 12 for the number of months in a year), just don't do it. Move the value to an input cell. This goes also for parameters in an OFFSET formula.
- Any cell that contains a numerical value (as opposed to a formula) is highlighted. All such cells are at the top of the first sheet.
- Never ever use VLOOKUP or HLOOKUP, as inserting columns or rows will break them. Use INDEX and MATCH instead.
- Never use OFFSET, as it's a 'volatile' function, meaning Excel will recalculate the value for any cell which contains it, if any value in the sheet changes. Use INDEX instead.
- When you're tempted to enter a value directly in a formula (e.g. when you divide by 12 for the number of months in a year), just don't do it. Move the value to an input cell. This goes also for parameters in an OFFSET formula.
That was fun, easy to understand and informative. He shows how he debugs real errors and builds a decent product pretty quickly. The only complaint is that his voice was drowned in music in the intro.
Thanks for the feedback! I fixed that in part 2.
[deleted]
rly? #13?
This is almost impossible to listen to. If one must have background music in a video, use some god damn sidechain compression. Or even better, drop the music. /rant
Aside from that - awesome.
Aside from that - awesome.
Thanks for the feedback! I fixed it in part 2, let me know if it's still an issue for you. Also, I did not know that's how it's implemented in real life (learned it from this thread). Perhaps I should try building that in Web Audio in another series!
What is sidechain compression?
you put a compressor on the background music with the sidechain input set to the channel your microphone is on, so when you speak the music is automatically pushed to the background and you can actually hear the mic.
What the other poster is describing is more commonly called "ducking". https://en.wikipedia.org/wiki/Ducking
The secondary audio (background music) automatically lowers when the primary audio (narration) is active. It allows the narrator to talk over the background music without being muffled by the music.
An automated way to do this is in audio production is by using the sidechain input of a dynamic range compressor. https://en.wikipedia.org/wiki/Dynamic_range_compression#Side...
The secondary audio (background music) automatically lowers when the primary audio (narration) is active. It allows the narrator to talk over the background music without being muffled by the music.
An automated way to do this is in audio production is by using the sidechain input of a dynamic range compressor. https://en.wikipedia.org/wiki/Dynamic_range_compression#Side...
In this case, it's basically where when the presenter is speaking, the music quiets at the exact moment, so you can hear more clearly but still have the music.
And it you're adding the music after the speech is recorded, you can use look-ahead so the music can fade out gently before each piece of speech instead of having to abruptly cut off to avoid obscuring it.
Url changed from http://chancancode.tv/tic-tac-toe-1, which redirects to this.
It seems to me that this would be a lot easier by just using Apps Script.