Sunday, 5 March 2017

PocketCiv: Prototype

Time to once again resurrect my blog after far too long an absence! :D

Haha, but it hasn't really been that long considering I've been in training for proper software development and hadn't really stopped blogging during that time. As mentioned in my last blogpost as part of the training course we were called upon to do some personal blogging, documenting our time at QA's Academy. Link: QA Trainee Blog

Although half of that blog was personal posts about what we've been up to (spoilers, mine involved Dungeons and Dragons and boardgames :P ) we were also asked to write some technical articles about areas of technology that interested us. A real opportunity for me as I've been posting about things in computing that I find interesting here on this blog for years :D It hardly felt like an obligation at all!

My topic of choice for these technical blog posts was Procedural Generation, something that I have dabbled in several times (check the tag for it!) Seeing as I had previous experience with creating interactive examples of procedural content generation I decided a big feature of my technical blogpost would be such little, interactive web apps :D So many of them!

This was probably a bit of a tall order and I found it damn difficult to keep up with the intended, weekly publishing schedule (alternating from personal to technical). This was on top of our training too so I frequently finished posts off the weekend after the Friday they were due :P I'm quite pleased with the first couple of technical blogposts I did which you can see links for below:
Each of those pages has ~3 interactive web applets on the same page to mess around with, I'm pretty pleased with how they came out in terms of aesthetics and how well they integrate into the text. I can see myself revisiting the concept in the future and making some more article/demo combinations :o

(Third technical blogpost on pseudorandom number generation and procedural textures is buggy and unfinished. the fourth one; potentially on 3D mesh generation, exists only in my head in draft form :S )

It was great fun and I can see myself revisiting that series of technical blogposts in order to polish them up and post them here some day...

Wait wasn't this a blog post about a Prototype?

Yep it is! I just wanted to write an introduction to what I've been up to, maybe it should have been a separate post but the reason I'm posting again on my personal blog is to share my progress on a new Hobby project: PocketCiv!

It's so nice to be making one of these things again, my programming tasks of late have been very practical and focused on learning to use particular software tools. Extremely useful stuff and I feel like a much more competent programmer when it comes to proper serious software applications and serverside programming. Highly useful skills.

I still enjoy making my own brand of browser based toys/games and have some free time at the moment to put towards one. I'm going back to my computer gaming roots, all the way back to the original Civilization from 1991(!). The game has changed so much over the decades since then but I've always had fond memories of that neat, little DOS strategy game. It's graphics were so delightfully minimalist and clean, as it had to be due to the lack of power in PCs at the time.

So, PocketCiv is my attempt to take the basic, initial gameplay of that title and create a browser based app that has the core game loop of an early 4x Strategy game. :) It won't be complex but that's the point! Just a simple, quick experience that has you exploring a procedural world :3

I've created a prototype to stand as something of a Minimal Viable Product, the barest of essentials in simulation, display and controls. Settle on a single island, uncover the fog of war and fight other, computer-controlled factions. Victory is only by conquest at the moment and can be quite the arduous task if the starting continent is large and well populated. Sometimes you'll start on a tiny island alone too, rather extreme opposites!

The prototype can be played through a link on the PocketCiv Github repository I linked above.Read the instructions and give it a play for 10 minutes or so. It shouldn't be too tough to win a war against the AI, taking a whole island might be a challenge :P 
I'm sorry that the graphics are the most basic they can be and the controls are keyboard only. Not to mention the graphical bugs....

I can show you what I'm planning on getting the game to look like though :D A spin on the venerable, classic art style of the original Civ:

With any luck, version 0.1 of PocketCiv will look very much like this mock-up screenshot :)