Showing posts with label Blogging. Show all posts
Showing posts with label Blogging. Show all posts

Wednesday, 18 January 2023

2023 A New Year

 This is pretty much just a placeholder post.

I might add to it or I might just delete it later.

Depends if I can create a better post for January between now and the end of the month.

Contemplating going 'goblin mode' on this blog and just posting whatever to overcome trepidation over having a gap between posts. (assuming goblins have a poasters nature, they certainly like to create piles of trash I guess)

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 :)

Friday, 19 February 2016

Generic Status Update

This week was busy with things not related to programming projects. So just a little update here to keep to my word of posting weekly. 

My idea of creating an image of a Voxel schematic with the information to create it encoded in the image data still needs more work. I think using the alpha transparency channel is messing up the values in the three colour channels per pixel. If I don't make any progress on fixing this soon I'll put the idea on the backburner and refocus on better interface elements. I still feel this is the main programming project I'll work on for a while.

Speaking of other projects, been messing around with an interface for a text adventure. Played in the browser naturally as downloading programs is sooo 2010's :P I have a vague sense that a command line based system of input and output is the simplest and least resource intensive kind of interface a program could have. More complex would be a minimal graphical system, say flat colour squares. Then some kind of 2D render with sprites and finally a full blown 3D render. 

I'd like to investigate having a program that allows the simulation/model/state etc. to be visualized in any of the four manners. It would be good to have modular versions of each display method available to plug into any project I decide to tinker with :)

Friday, 22 January 2016

Computer Issues

It's Friday and I have not done much programming this week. I have been busy fixing my computer. My attempt to dual-boot Windows and Linux went awry when resizing the Windows hard drive partition corrupted the Windows side of it. Lost all the files on the hard drive, thankfully I keep most of my files on Dropbox :) Tried to recover the installation of Windows 7 but restore from factory settings did not succeed. In the end I got enough of Windows 7 working to be able to download and install Windows 10. Will have to see how well it works as I re-install my preferred programs.

Did do a little bit of programming recently. Been exploring procedural demographics. I'd like to be able to populate a virtual village with NPCs who all have family connections, parents and children. It would be great to have a comfy village simulator like Banished with more detailed AI agents and less of a focus on carefully balancing resources to survive.

Friday, 1 January 2016

New Years Resolution



So in terms of creating posts on this blog 2015 was a pretty good year. Almost managed to have a post every month. I want 2016 to be a continuation of the trend of posting more frequently. Ideally reaching weekly posts.

To that end I'll be attempting to have a post written up each week to post on Friday, falling back to short, text only posts like this one if I don't have a full programming project to show off. A post will always have an image so I can at least show off some of the many, many projects which don't get a proper post with cleaned up versions.

The header image for this post is from a rather neat isometric render of a blocky, Minecraft-like map generator. I do like my map generators :3

Sunday, 15 March 2015

Fixing the presentation of this Blog

One thing that has been bothering me about posting code directly onto this blog is that all the different programs don't work when all displayed at once on the main page. They all work fine when viewed singly but interfere destructively when on the same page. :(

To fix this predicament I'm going to edit the posts to put in a page break before the code and program elements. At least that will avoid the embarrassment of having broken programs on the main page!

Thursday, 26 February 2015

I'm not dead

Although anyone who stumbled upon this blog could be forgiven for thinking it had been abandoned that is not the case. What I have is an acute case of procrastination-itis. A condition most expressed in my hesitancy to upload content to the internet. Working out what is suitable to be publicly accessible (in theory) to absolutely anyone gives me a crisis of confidence. Hence why I only end up posting when I have an tangible piece of code to share.

That isn't to say that I have much pride in what I post! Due to my kludge of putting Javascript source code in blog entries they often break when viewed on a page all at once, only working when viewed separately. My mess of a site brings me great shame, so much so that I have stopped posting code to it as I know it will remain messy. Doing the hardwork of debugging my method of presenting programs is not an appealing task.

Because the biggest irony is that while I haven't posted code I have been busy on all kinds of little projects. Some of which I am super proud of and deserve to be given the polish to be presented here. To give a few examples
  • A terrain generator with simple climate and rainfall model which gives names to each island.
  • Von Neumann's Universal Cellular Automata in Space!
  • 3D models built from scratch in WebGL
  • Virtual builder bots who terraform their surroundings into anthill-like pyramids.
  • A goddamn scale model of the Universe
There is all this cool stuff that I am proud of but it has never made the crucial jump from my hobby programming folder to a better platform for it. This is not to mention all the interesting things I have been up to and would love to write about.

But without a clear goal of updating I have let a whole year pass without putting anything up here. It can be rather grim considering the implications of this. By limiting my interactions to offline friends only I am missing out on a whole host of opportunities to share and learn about my hobbies. It is really difficult to remain enthused about a project when I don't share it with others.

So in summary this post is simply to state that I am still alive and intend to bring new content to this blog. I'm pretty certain the internet being the way it is nobody I don't tell about this place will ever find it. I still want a place to be able to easily share projects with friends though.

I want there to be a content post up here before the end of the week. 

Sunday, 29 January 2012

Time to tear off the shrinkwrap!

First post to a Blog which I hope has a bright future of containing all sorts of interesting ideas and facts. Probably a mix of science, speculative fiction, programming, a little philosophy and computer games. All things which I enjoy and hopefully if I share them in this way I'll spend more time making sure they make sense and be less likely to forget them. Now to compose some proper content.