Project 'Distant Code'

'Distant Code' (a.k.a. 'Blue') is a hobby software project I am working on. It is a game about programmable autonomous spaceships.

The game is still in development, and I work on it during my free time. It is a hobby project and a labour of love, and how much time I have free to spend on it varies a lot.

Downloading

The source code and game are hosted at https://bitbucket.org/solosnake/blue_public/

However the project is not open-source. Please contact me if you intend to download either the source code or the application. At some point in the future I may license the source code under some open-source license, however at present I am not sure which is best suited and so I prefer to retain control and ownership of the project.

Background - 'Iterated Prisoner's Dilemma' for Charity

In 2012 while working for Neonet, I ran a small software competition for charity. The competition was based on the 'Prisoner's Dilemma' idea. I wrote a very simple C++ API and programmers were invited to see if they could write a winning entry. For a small entry fee they could have their algorithm entry participate in the competition. They were free to enter as many times as they wanted, with the same algorithm or with different algorithms. I wrote a variety of the simple classic Prisoner Dilemma algorithms and non-programmers within the company were able to also enter by selecting one or more of the classic algorithms.

I ran a version of the Iterated Prisoner's Dilemma, with the winners from the previous rounds going through to the next round. I ran one iteration per hour across a day, and posted out screenshots of the board and the results as they came through. The competition was hugely popular, especially with the software engineers, and many devoted hours to their entries.

All money raised was donated to Medecins Sans Frontiers.

The popularity of the competition amongst my fellow programmers inspired me to write a game where the focus was on programming. I already had a large library of software that I had been working on purely for fun, and this gave me a new direction and something to focus on. I knew it would be a big project, but I had no idea how long it was going to take me...

Screenshots - A Visual History

Graphics is obviously a big part of a software game. As I am writing the game from scratch and for fun, I wrote my own renderer too. As the game and codebase developed, I took screenshots along the way to help visually document the development process.

Their titles might give some indication of what you are looking at :-)

The 'week-of-pain' titles refer to weeks I took off work to just code. These were the long pizza and coffee fueled days that wreck relationships but get a lot done.

The windows title 'glutWindow' are not actually using glut - I wrote my own version of glut to enable me to test graphics examples within my own window/graphics framework.

Here are some screenshots, in no particular order.

2049bots.png
2b.png
2bbasic.png
2ndWeekOfPain.png
2ndWeekOfPain2.png
2xAA.png
5x5Gaussian.png
AAx2_off.png
AAx2_on.png
allFacingWrong.png
alphablendedquads.png
ambiant10pc.png
assimp.png
astar.png
asteroid1.png
asteroid2.png
asteroids.png
asteroids_big.png
AWeekOffPain.png
baby.png
backdropshader_20fps.png
bigboard.png
bigboard_with_ships1.png
bigboard_with_ships2.png
bigboard_with_ships3.png
bigboard_with_ships4.png
bigboard_with_ships5.png
bigship.png
blackandwhite.png
blue_linux.png
blur.png
BlurEmissives.png
blurrymodel.png
blurrytest.png
boardNoir.png
board_3_zoom0.png
board_3_zoom1.png
board_3_zoom2.png
board_3_zoom3.png
burryarmy.png
buying_minerals.png
capacitor.png
capacitor1.png
cargoship.png
CentredWell1.png
CentredWell3.png
codeinspect.png
coloredTiles.png
components2.png
components_prototypes_0.png
connections.png
cpu1.png
cpu_better_uv_1.png
cpu_prototype_1.png
cpu_prototype_2.png
cpu_ship_1a.png
cpu_ship_1b.png
cpu_ship_1c.png
cpu_ship_1d.png
cpu_ship_1e.png
cpu_textured_first.png
cubemodels.png
customfonttest.png
defaultambiant.png
directional.png
directionalplusonel.png
directionalplustwo.png
directionalplustwobig.png
explosion1.png
fakeship.png
fakeship_fixed_cone.png
Feb72012.png
feedback.png
FirstNiceSuns.png
first_sfx.png
first_transport_ships_in_game.png
fontproblems.png
geomshadingartifacts.png
greeble1.png
greeble2.png
greeble3.png
gun3.png
halloween.png
halloween_high.png
hueshifting.png
hueshifting1.png
ingameasteroid.png
instances.png
katjasfirstcode.png
largelitboard.png
lightspheres.png
lorem1.png
lorem2.png
lots_of_sensing.png
mainmenu.png
mainmenu_no_giu.png
mainmenu_proto.png
milestone1.png
mirroringissues.png
model1.png
Model2.png
Model2inGame.png
Model2_2.png
modelsUV1.png
modelsUV2.png
My1stXWindow.png
networked.png
newbuttons.png
newbuttons2.png
NewCpuTextureProblems.png
newfonttitlemenu.png
newlybuilt.png
NicerSuns.png
NiceShipYouGotThere.png
nice_skyboxes.png
No2xAA.png
normaledthruster.png
normals.png
not_a_sphere.png
orangeship.png
orangeship2.png
overlappedworking.png
overlapping.png
perlinspace.png
pinkship.png
pipes.png
point_light_strengths.png
probing_placeholder.png
problems.png
rainbow.png
rainbowchaos.png
randomwalking.png
red.png
rendermode0.png
rendermode1.png
rendermode2.png
rendermode3.png
rendermode4.png
rendermode5.png
rendermode6.png
rendermode7.png
rocket0.png
rocket1.png
rocket2.png
rocket3.png
rocketspec.png
rocketspec1.png
seams.png
second_week_of_pain.png
sfx2.png
shifting.png
shiney.png
ships_on_board_lit.png
ship_on_board_lit.png
shopping.png
smaller_transports.png
softparticles.png
spider.png
spider_nrml.png
spider_tex.png
starboard_zoomed_out.png
stenciltested.png
Style.png
sun2.png
SunAndShip.png
Sunday22Jan2012.png
SunRays.png
suns.png
suns2.png
SvDkIs.png
tangentspace_better.png
tangent_space_frame.png
text.png
text2.png
thruster.png
thruster1.png
thruster2.png
thruster3.png
thruster4.png
thruster_1_done.png
thruster_greeble.png
thruster_normaled_0.png
thruster_normaled_1.png
thruster_normaled_2.png
thruster_normaled_3.png
thruster_normaled_deep.png
thruster_orange.png
tiltcamera1.png
tiltcamera2.png
titlemenu.png
titlemenu_proto.png
title_no_gui.png
tobeornottobe.png
twopointlights.png
universebox.png
vent.png
viewport_bugfixed.png
wcoordsfixed.png
wierd.png
with_blur_163fps.png
with_crappy_skybox.png
wop2.png
working_tangent_spaces1.png
working_tangent_spaces2.png
wrong.png
wtf.png

More...

I will post more information on this project as I have time.