Blogs from friends

bfish.xaedalus.net
Programming and Software Development Guru
  • A tech blog recommendation

    I recently came across this blog in my web travels. The guy is a self described C++ hater, but also a C++ (and many other languages) super-genius, being a developer of compilers and debuggers and stuff for embedded C and C++ developers in the automotive industry. His articles aren’t too focused...

  • Stay in Sync with GCal and Thunderbird.

    For a long time I have been looking for a rock solid calendaring system. I’ve gotten too used to working for companies who have Microsoft Exchange (or, God forbid, Scalix) installed which allow me to edit and update a calendar from multiple locations and even sync...

  • Software RAID 5 in Ubuntu with mdadm

    Software RAID in Linux is a great way to gain massive amounts of disk space which are required for storing digital media, with the added security of data redundancy incase one of the disks in the array fail. Many people still frown upon software RAID...

The Escapist

The Escapist Forums : Threads
  • Remember guys, Sargon of Akkad is on UKIP.

    I admit I enjoyed that one recent video they made from the EU summit or whatever it was where he and Dankula were like "we just wanted to play videogames Anita" XD.

    But yeah, I don't agree with everything this guy says as he has been becoming more and more conservative but I enjoy his content from time to time, especially the week in stupid stuff, that's always entertaining.

    But as I understand the situation with Ukip, now that brexit is accomplished they were basically dead in the water so these youtubers revitalized them and made them into something new. It may actually be a step up for the party even if they don't do all that well overall cause they were already going downhill anyways.

  • Poll: Magic vs Science: Which One Do You Root For In A Story?

    Whichever is the minority in the setting of the world usually. Gotta love an underdog

  • The Internet is Weird; Let me Introduce Bowsette, the new Hottest Waifu

    Worgen:
    snip

    Good, because I hated EVERYTHING I saw in this thread before this.

Voronoi tiling art PDF Print E-mail
Written by Mat   
Wednesday, 30 September 2009 20:23

These tessellations have all been generated by a very simple FreeBASIC program that I wrote.

I stumbled upon this algorithm while searching for a way to generate stochastic terrain heightmaps for a 3D strategy game, and realised that it could be made to produce pretty 2D pictures.

See: Voronoi diagram at Wikipedia.

The algorithm is as follows: start by placing a number of control points in random positions in the image, and assign each one a primary colour. Then for each pixel of the image, the colour of that pixel is set to the colour of its nearest control point, and the brightness of the pixel is set to the difference between the distance from the pixel to its nearest control point and the distance from the pixel to its next nearest control point.

Numerous variations on the algorithm exist: instead of using control points, other geometric objects can be used such as line segments or circles, which both result in curved edges. Also, instead of using Pythagoras to compute the distances, other methods can be used such as the Manhattan metric or the chessboard metric, and these result in more right angles.

It is possible to achieve a finer granularity in the spectrum of colours used, by mixing together two or more layers of tilings with various weights and numbers of control points.

Tiling Tiling Tiling
Tiling Tiling Tiling
Tiling Tiling Tiling

Last Updated on Thursday, 01 October 2009 20:12
 
Place features PDF Print E-mail
Written by Mat   
Saturday, 17 January 2009 02:42
Current features of Place:
  • Free software, professionally finished;
  • No restrictions on licensing of your game;
  • Most of the work done for you, just tell Place where you want to place your entities and how you want them to react;
  • Movable entities automatically negotiate obstacles using shortest-path algorithm;
  • A bare minimum of scripting experience required of game designers;
  • Advanced features available to those who want to dig deeper;
  • Helpful debugging system enables rapid testing and makes it easy to find mistakes;
  • Prototyping system to reduce the amount of tediously repetitive work involved in development;
  • Free, extensible toolkit: add new features if you wish;
  • Uses a well-established, popular general-purpose scripting language with vast amounts of documentation, so there's no need to learn some adolescent, obscure single-purpose language just for scripting games;
  • Runs on Windows, Linux, Mac and various other platforms;
  • Games get an extensive menu system for making and loading savegames and configuring all of their settings;
  • Use any graphics resolution you wish; player can choose their own and your graphics will be rescaled, preserving the aspect ratio if desired;
  • Entities can automatically scale down as they move further away to give the appearance of perspective;
  • Simple yet powerful conversation system;
  • Link subtitles with the voice audio files that go with them, if you want voice acting;
  • Multi-threaded caching system pre-loads resources before they are needed, for improved responsiveness;
  • Internationalization/localization: easily support translations of a game into foreign languages;
  • Support for cut-scenes, using either the pre-existing system of rooms and entities, or MPEG format videos;
  • Extensive tutorials to get you started.

Features planned for the future:

  • Auto-package games into a Windows .exe installer, .pkg file for Macs or .deb, .rpm or .tgz package for Linux;
  • WYSIWYG game creation and editing studio, integrated with the Gimp professional, open-source image manipulation suite and featuring a text editor for scripting with syntax highlighting, auto-completion and debugging facilities;
  • Parallax scrolling background scenes;
  • Ability to use 3D models for entities instead of flat sprites;
  • Simplify programming interface further still and extend to Java, Python, Lua and Ruby;
  • More speed improvements;
  • Native support for Nintendo's DS and Wii consoles and SymbianOS (for recent phones by Nokia and others).
Last Updated on Wednesday, 15 April 2009 20:50
 
About Place PDF Print E-mail
Written by Mat   
Saturday, 17 January 2009 02:38
Place is a collection of modules for the programming language Perl, intended to enable non-programmers to fairly easily develop 2D point-and-click adventure games that can run on Windows, Linux and Mac. It is free software, distributed under the GNU GPL license, but that does not mean that the games that use it need to be under that license also; games developed using Place may be released under any license that their author wishes, so long as Place itself remains under the GPL.
Last Updated on Sunday, 18 January 2009 01:07