Friday, 25 March 2016

Binary Visualiser

Inspired by the Binary Visualiser explained and demo'ed at the other end of that link I messed around making a quick version myself:



In the above image blue denotes text byte values, green any other positive byte values and black zero. I will leave what the file could be up to your imagination :P (not that the whole file's data is visualised here, only about half) This particular file exhibits some interesting striping and the last quarter of the file is mainly text.

I doubt this will be of much interest to people who aren't as fascinated by data visualisation as I am. Ideally I would find a way to divide a binary executable into likely; logic, audio, graphical and text data. This topic would probably descend into disassembly though, which is sadly a bit of a legal grey area :/ A pity as it is wonderful to see computer code at the level of bits and bytes.

Friday, 18 March 2016

RPG Maker and Pokemon

Hobby-project wise I spent some time exploring RPG maker VX Ace (goodness what a mouthful of a name) It has a good organisation of the different resources that make up a game; tilesets, sprites, sound, animations etc. The default resources are pretty generic but you could add your own content and use the Ruby scripting engine to create a complex game with it.

Currently I've been studying the data which made up the very first Pokemon games, they hold a special place in my heart due to being the very first gameboy games I owned. It is impressive how much fitted onto half a Megabyte of memory! Many people have developed resources to make Pokemon-like games with RPG Maker so I've been giving them a look.

If I do end up making a monster catching game it will of course have to involve procedural generation :P Pokemon Randomizers are available for practically all the official games; changing the location and stats of all the Pokemon. I don't know of any fangames which create completely random monsters or maps though.

Alas the little script I wrote to make a completely random Pokedex isn't polished enough to post :/ Too much time spent doing productive coding and reading clearly!

Friday, 11 March 2016

More studying hosting

Exploring online resources about hosting and running a web server has been most illuminating, like most areas of computing there are a hundred and one different ways to do it. There are some tempting bundled products that contain all the software and tools to start, usually with a price tag associated. I am happy to see that when it comes to hobby projects there are some nice free options though. Amazon Web Services look to provide a dizzying amount of features in their free tier of hosting; even more evidence that they understand how to win at the internet. For good or for ill :/

Speaking of negatives associated with running a server I balk at the dangers of SQL injection and vulnerabilities around PHP. I am quite uneasy about hosting a website where server-side scripts can be executed. The site presents a target to the whole internet to be hit with all kinds of automated attacks. For a novice like me I would be very concerned about committing rookie mistakes in terms of security. I think I'll keep my experiments on the local network for now :P

 The prospect of writing server-side scripts does present interesting choices in terms of programming language to use; JavaScript is lovely for the ability to share a program online but if I'm writing code for the server there is essentially no limit on what I could use. I have heard Python mentioned rather frequently in relation to server scripts and wouldn't mind using it more. I have also heard good things about C# and feel it would be nice to see how it handles Classes and Objects. 

I want to spend more time using the Voxel Editor to work out what tools it is missing. I will endeavor to post the Schematics next time I post.

Friday, 4 March 2016

Forays into MySQL and PHP

Been doing some exploration of some different programming languages and software than I usually use the past week. I've been exploring the tools required to run a web server in order to deepen my understanding of the server-client relationship. It has been a pleasant surprise to see how easy it is to get started with various free tools.

In the future I would like to try running a basic web server for some sort of persistent online game functionality; be it user profiles, highscores or even a Massively Multiplayer Online game :) For this I needed to look into Database hosting and sending queries with SQL. MySQL is an excellent piece of software for this and with their extensive documentation I have easily been able to create and query my own database tables.

In order to serve webpages from the server I looked into server side scripting languages. It seems that PHP is the easiest and most popular one to use. It also comes included in XAMPP which I decided was the easiest bundled web server software to use :P

Give it a few weeks and I'll be making web front-ends to server-side database resources. I'm thinking a Voxel-Editor schematic database would be a pretty nifty initial project!