A couple of days ago, I promised to talk about why I've decided to start with a prototype. The obvious argument against prototyping is that time / resource will be spent on something disposable.
For this project, I see 2-3 strong arguments in favour.
I mentioned in my very first post that this App is intended to be delivered on UWP, and that I'm not strong on that platform. I could have targeted UWP from the get-go, but there would have been a learning curve and therefore it would be a while before I had anything to showcase.
Having something to show people is powerful. Whether for this blog or as a devlog on itch.io or if I decide to solicit seed funding from GOG.com, a working prototype (however limited, or ugly) would carry a lot more weight than a lot of words describing what I intend to create. That's the first argument.
The second argument is that if I engineer it right, the prototype is not necessarily disposable, at least not all of it is.
My current project structure is pretty simple. I have a WinForms .exe project which holds the UI code. This is likely near 100% disposable, to be replaced by UWP. I also have a Class Library .dll project which holds all the "game" code. This is the code related to the grid of gems. This Library holds all the game rules around:
what gems can swap?
what is the effect of swapping a pair of gems?
what special effects can gems have?
what score is earned from a swap?
This Library should carry forward to the UWP version unchanged.
So, as long as I don't over-invest my time in the UI, a prototype can be a plus. If you look at Tuesday's screenshot, I think I'm pretty safe so far!
One final thought. Yesterday's GDC video contained one more stat, which I didn't highlight - approximately 25% of project's effort was design / code / test. Since this is the part I'm comfortable with, that's sobering. The rest was art, marketing, publishing and all the other stuff this project is going to teach me along the way. By getting a solid start on the code base, I'd like to think I'll be able to focus better on those challenges as they arise. Time will tell.
PS I really hate blog posts that have "meaningful" graphics introducing them. The graphics usually staged / forced / boring. So expect the "wall of text". However, today I did think of something borderline appropriate. :)