Recently I came across Jennifer Dewalt's inspiring website about, well, building websites.
A few years ago, Dewalt decided to learn to code by building 180 websites in 180 days. This struck a chord with me.
So I changed up my own website. There's now a tab called "100 Projects." And I'm going to split it into quarters. This website is about where writing meets games--so there's a lot to learn beside coding! But I immensely liked the idea of doing 25 Code Projects in 25 Days, followed by other subjects: pixel art, game design, UI, audio, etc.
But let's not put the cart before the horse. Today, taking inspiration from Dewalt, I wanted to funnel that syllabus I wrote a few weeks ago into these more streamlined deadlines.
Well, my first step was to create this super cool take on Rock Paper Scissors, complete with a new rule system and everything. But seeing as how I've been troubleshooting that all week, I realized that I needed some kind of goods to deliver. So I needed to think even smaller. More by-the-book.
So I found a two-hour C# tutorial that has nothing to do with game development but we're going to follow along anyway.
Project 1/100 = Consignment Shoppe
Step One: Bird's Eye View
When I pay attention to professional programmers, I find one thing they do right off the bat: they define their mission. It's more like they translate their idea into a bullet list of requirements. Once they have a list of the things they want to happen in their program, they can then underline the nouns and pretty much figure out what kind of classes/objects they will need to create. It's both a big picture and fine details approach, and makes code seem a lot more concrete and a lot less abstract.
For Tim Corey, he defined the consignment shop demo in the following way:
1. List of Vendors
2. List of Items per Vendor
3. Each Vendor should have a default Commission rate
4. Commissions can change
5. Track how much to pay the Vendor
6. Track how much to pay the Store
Step Two: Using Excel and Visual Studio To Create Back End Design
We can use Excel to quickly organize all our "moving parts" if you will, and organize them by class and data type. I've never been a huge fan of Excel, but I have to admit, looking at that simple and well-organized table did have a Zen-like effect on me.
Then, Corey set up what our UI should look like in Windows Form.
All of this before hardboiling any code.
This is what's meant by Back End Design: putting down the bones before we make them move.
Step Three: Wiring the Front End to the Back End
Step Four: Testing Small Changes
Step Five: Clean Up
What I Learned:
In Excelsis Deo.
K.W. writes novels, short stories, the occasional ode, game scripts, and (with actual evidence!), this here blog.