30/11/2022 - Day30 (253 LOC)

OMG, we finished it! 30 days of oppd, one month.
The last one is a car racing game where you bet on the winning car.



You may (not) be interested in some oppd statistics. Here they are:

- 30 mini-or-not-so-mini-programs were written in 30 days (plus one "bonus track" on day 9)
- Many lines of code were written. Exactly, this amount per day:

DayLines of code
Day 1431
Day 2290
Day 3178
Day 4170
Day 5274
Day 6269
Day 7101
Day 8228
Day 9326+118
Day 1068
Day 11327
Day 12230
Day 13317
Day 14160
Day 15212
Day 16114
Day 17460
Day 1889
Day 19248
Day 20360
Day 2194
Day 22127
Day 2396
Day 24204
Day 25198
Day 2680
Day 27194
Day 28184
Day 2969
Day 30253

- We had a minimum of 68 lines of code on day 10 (the CPU tester program) and a maximum of 460 lines on day 17 (the most complex game of Tombola ever)
- And, for the lovers of statistics (like me), 6351 lines of code were produced in total, with an average of 211,7 lines of code per day (take that, The Mythical Man Month)

You may (or may not) also be interested in 'the masterplan' of oppd. I wrote this in advance before day 1, and slightly changed it while doing oppd:



And tomorrow, not another oppd program, but Advent of Code!
See you in the future!

29/11/2022 - Day29 (69 LOC)

A fantastic game of timezones, the correctness of which is left as an exercise to the reader.



Tomorrow is the last day of oppd! Couldn't imagine we'd get so much far (without going crazy).
Besides the last program, I'll try to give you some statistics.

28/11/2022 - Day28 (184 LOC)

Today I wanted to be esoteric: I wanted to do a program that composes weird signs into magic symbols, but I'm scared they look more like electric diagrams .
At least I'm proud of the function array I used in the code.



And for tomorrow, another game.

27/11/2022 - Day27 (194 LOC)

An ambitious treesize clone for the command line.
Definitely one of those programs you can't write in one day.



Tomorrow, something esoterical.

26/11/2022 - Day26 (80 LOC)

We all love the redhead nerdy guy called Ed Sheeran.
With today's program, you'll never run out of Ed Sheeran songs.



For tomorrow, something that seems quite harder to implement.

25/11/2022 - Day25 (198 LOC)

Today will be remembered as a day of great misfortune.
It started with one of my coworkers' PC freezing; then another one's dog eat a sock and had to be carried to the clinic.
At the end of the day, another one of my collegues said he has covid (he's good, btw).
So the theme of the day is: FIREWORKS!



Tomorrow should be a better day. It would be hard to be worse.

24/11/2022 - Day24 (204 LOC)

I was very undecided on what to do for today.
Initially, I planned an anagram game, but it ended up being unfeasible or not so funny. So, at the end of the day, I decided to implement the nice game of 'lights out'.



Tomorrow, an explosive way to end an heavy week.
P.S.: we're at 6 days from the end of oppd.

23/11/2022 - Day23 (96 LOC)

A simple game where you have to find the author of a random quote.



Still don't have clear what we'll have for tomorrow, but I'll find something.

22/11/2022 - Day22 (127 LOC)

According to Wikipedia, morse code was the official way of transmitting messages in the navy until 1999.



Tomorrow, a game again (but, were you tired of games?)

21/11/2022 - Day21 (94 LOC)

I'm late. A capital cities game with places and states you wouldn't imagine.
And it's Dhaka, not Dacca.



Tomorrow, back to when radio was not invented.

20/11/2022 - Day20 (360 LOC)

On a lazy sunday afternoon, I'm proposing a "robots&teleports" game, derived from an old DOS game I can't remember the name. Use "space" to teleport, the arrow keys to move. If you want an harder game, change the number of teleports, killers and powerpills in the code.



Tomorrow I see a stressing working day and a geography game. Will have not that long time to code.

19/11/2022 - Day19 (248 nice LOC)

You start with an amount of 100$, and then you put all your life in the hands of a RNG.
I particularly like the slot machine arm's animation, don't you?



Tomorrow games again, but this time no money, only robots.

18/11/2022 - Day18 (89 LOC)

A very simple banner creator with british error messages.



Tomorrow we will go gambling.

17/11/2022 - Day17 (460 LOC)

Somehow I decided that tombola's algorithm was easy to implement. Nothing could be more wrong.
In fact, it's 22.29 and I still have to write tombola's checking algorithm, and I'm stuck into functions with funny names like checkForTombola and variables as strange as isQuaterna.



Tomorrow a less complex (I hope!) program that will print nice (?) banners on your monitor.

16/11/2022 - Day16 (114 LOC)

A simple game of stopcounter.



Since Christmas and Advent of Code are so near, tomorrow we will play TOMBOLA!

15/11/2022 - Day15 (212 LOC)

This in case you don't remember which day of the week you were born on.



Tomorrow the pace will slow down a bit. It has been already a though week.

14/11/2022 - Day14 (160 LOC)

A funny game of jar and beans to start the new week.



Tomorrow, something to count how many days are there for Christmas or Advent of Code.

13/11/2022 - Day13 (317 LOC)

In this strange sunday, a clone of Wordle.



The wordle algorithm is more complex than it seems.
Tomorrow, a game reminiscent of old italian television shows.

12/11/2022 - Day12 (230 LOC)

Are we living in a simulation? Maybe here is the answer.



Tomorrow, a game with words.

11/11/2022 - Day11 (327 LOC)

Too tired to say anything else than 'pong', 'you can't win' and 'gif encoder failure'.


Tomorrow, the proof of the simulation.

10/11/2022 - Day10 (68 LOC)

Today I'm drunk, and I pretend it's 10/11, but it's 01.52 of 11/11.
Let's say it's 10/11. It's actually still 10/11 somewhere in the western emisphere.
I hope noone notices this particular, anyway.
Today's program is a CPU tester, that will produce a score, related to the speed of my own computer.



Sources are on github.
Tomorrow, a game again.

09/11/2022 - Day09 (326+118 LOC)

Today was hard from a working standpoint. But I survived, and made not one, but two little programs!
One is a rock-paper-scissors game, and the second one is the soko-ban game.



Only one program (the rock-paper-scissors one) was planned, but it seemed too simple, so I decided to do the second one.
You can add levels just creating a .txt file, and the file format is (I think) quite standard in the soko-ban world (whatever that means).
Sources on github and I'm tired.
Tomorrow's program will test you CPU.

08/11/2022 - Day08 (228 LOC)

For today, a weather forecaster with a subtle sense of humour.



Sources are on github, ofcoz.
Tomorrow's program will be the simplest game ever.

07/11/2022 - Day07 (101 LOC)

Today's program is quite static. Of course, because it's an ASCII-rendered landscape.



(the upper figure is supposed to be a plane)
Sources are on github.
Tomorrow's program is based on the first idea I had for oppd, and will provide an all-text weather forecast.

06/11/2022 - Day06 (269 LOC)

oppd reaches its first week of existence, between daylight saving time and exploding dental prothesis.



You know where the sources are.
Tomorrow: skylines.

05/11/2022 - Day05 (274 LOC)

For today, a familiar game with fruits represented by letters and funky function names as 'snizzle' and 'startGrowthProcess'.



Note: after this recording I discovered how to hide the cursor on the console.
The sources are as always here.
Tomorrow will still be game-focused, but with something older.

04/11/2022 - Day04 (170 LOC)

As promised, some music for a rainy day (yuki satellites by radix)



(and some vu-meters with peak levels).
The sources are as always here.
For tomorrow, I will try my hand at an old but good reptilian game.

03/11/2022 - Day03 (178 LOC)

Ladies and gentlemen, welcome to the typing game. How fast can you type?
Discover how fast you are with a fantastic console multicolour program.


My current high score is 2069. What's yours?
Ah, you know the sources are here.

And for tomorrow: music!
P.S.: oppd wouldn't be possible without this program.
It's incredible that software like this is completely free. Take that, Bill Gates.

02/11/2022 - Day02 (290 LOC)

"You have two minutes..."... errr, no, this was yesterday's program.
But this day's program is very similar; it's a 2D maze that has grown to the third dimension, just like the square in 'Flatland'.


Unfortunately, this day's .gif quality is not that good (refresh).
Sources are of course here.

Tomorrow I will try to create a typing game.

01/11/2022 - Day01 (431 LOC)

"You have two minutes to design a maze that it takes one minute to solve"
I can't do that, but probably the day01 program of oppd can.


Sources are here.
Next task for tomorrow is to build a 3D maze out of this one.

31/10/2022 - Day01 theme

Theme of day01 will be a two dimensional maze.
I will build a 2d maze, draw it, and probably develop a small game where you have to reach a specific point in the maze in the smallest number of moves.
Have fun!

22/10/2022 - Intro

People do things like Inktober or One song per day.

I decided to write one program per day, starting on November the 1st 2022.
This means that each day, beginning with almost no code (just a quick skeleton with a bunch of libraries), I will write an entire program from scratch on a theme I chose for that day.

This brings me back to the core of programming, that is: getting an idea done without concentrating too much on aestethics or other distracting things. For this reason, I've chosen to create console applications, with the C++ language.

I have already written down 30 ideas for each one of the 30 days of November. Talking about days, there will be working days, and holidays, so in working days I will try to stick to "simpler" programs, while I will face the more complex ones in the weekends.

My recipe for success (that I will promptly disregard):

1) Plan everything in advance
2) Write detailed specs
3) Don't add "that simple feature"
4) Don't give up

(will see if it works).

All programs will be uploaded to github.
I will reveal the first theme late on the 31st of October, so you can code along if you accept the challenge, and I will publish a mention of any interesting program I get here on this blog. Code on!