Danny 'Rushyo' Moules

"From Nothing... Worlds"

This is the homepage of Danny 'Rushyo' Moules. The buttons in the top left link to other areas of this site. The buttons in the top right link to my more fleshed out profiles on other sites.

Under Construction

This site is still under construction. Some of the links work, some of them don't, and some of them may or may not send you to an alternative dimension. Explore at your own risk.

About Me

I currently work full time as a security assessment specialist at a non-profit supporting the UK's universities, colleges, and research institutions. Before that I worked as an independent intelligence agent and red teaming consultant working in the medical, financial, government, military sectors. I'm studying for a law degree in my spare time and also run an independent video games developer/publisher For Fun's Sake Ltd. I run lots of servers and services supporting a free and open web, and I'm a proud member of the Electronic Frontier Foundation and the Open Rights Group. I am not currently available for independent work.

I have a well-rounded Red Teaming background including physical intrusion, network intrusion, social engineering, cryptoengineering, and some more esoteric (but practical) skills such as wallrunning and pickpocketing. I'm experienced in incident response as a lead/consultant, with digital forensics experience. I have decades experience writing countless software projects across many languages, and have worked as a software/security architect in security-critical government and medical environments. I occasionally write or support open-source tools. You can find a small portion of my stuff at my GitHub.

My hobbies include video games design, digital music composition, security research, intellectual property law, and Brazilian Jiu-Jitsu. I run the Star Citizen organisation Private CAP Security.

I update the services this site is running on annually. At the time of writing this site is HTML5 compliant, WCAG 2.0 (AAA) Conformant, has an A+ SSL Labs rating, has an A+ Mozilla HTTP Observatory rating, has an A+ HTBridge SSL/TLS Test rating, has an A+ HTBridge Web App Security Test rating, and an A+ securityheaders.io rating. It supports IPv6, HSTS, TLS v1.3, HTTP 2.0, and uses TLS mutual authentication throughout the entire backend. It also utilises DNSSEC and uses CAA records for added security.

Game Development

Under Construction

I have a large number of interesting video game projects completed or under construction.

You may find some of them at https://forfunssake.co.uk.

High Level Design Document

Battlestar Galactica Starsector Total Conversion

Brief

The Battlestar Galactica Starsector Total Conversion Modification (hereby referred to as 'the mod') is a total conversion modification for the video game Starsector designed to bring a Battlestar Galactica experience to Starsector without compromising what makes Starsector great.

The primary intent is to provide a different playing experience: a strong focus on survival over power building.

The player will control a small fleet of military and civilian vehicles. They will make tough choices about what happens to the people and ships in their fleet in order to maximise their chances of surviving until they reach their objective (creating a new human colony). The fleet will be under constant pressure from the Cylon threat. That fleet will contain human factions, each with their own agendas and requirements that will need to be considered during the journey.

There will be a constant looming threat posed by the Cylons. There will be no right decisions and every choice will have a consequence. Every decision will incorporate some aspect of peril. There will be Cylon agents working within the fleet to destablise the player's authority, in addition to the clear and present danger posed by the Cylon fleets. In addition, the human factions within the fleet will act on their own if they are given too much berth and undermine the player's ability to control the destiny of the fleet.

There will be three distinct phases to the campaign:

  1. The Invasion. Accrue resources by meeting up with other survivors whilst dodging significant unknown threats. Survive just long enough to get what you need and then escape from the core systems.
  2. The Chase. Make your way between star systems performing (somewhat randomly chosen) events to maintain enough fuel and morale to continue your journey. Search for edges that might get you farther whilst dealing with the friction between the fleet's various factions. Survive just long enough to find a viable colony.
  3. The Goal. Based on the decisions made previously, you have to overcome the final hurdles on your way to a colony. Utilising every resource you have managed to retain through the previous stages you must overcome the consequences of your previous actions to finish the game. Survive just long enough to see your fleet disband and receive a score based on the viability of your colony.

Intended Audience

Battlestar Galactica fans, Starsector players, rogue-like gamers, sci-fi fans, and players who are every possible combination of those. Purists looking for complete 100% authenticity to Battlestar Galactica, Starsector, existing gaming tropes, or hard science fiction need not apply.

Principles

  1. All aspects of the mod must be fun. Gameplay trumps authenticity and/or canon.
  2. Where possible the game will give preference to incorporating ships and other technologies from core canon (i.e. the BSG television series). Where a necessary gameplay function cannot be achieved elsewhere, the game will cherry pick from lesser canon sources.
  3. The mod is primary about providing a unique single-player campaign. Whilst other features will be available (e.g. stand-alone missions) these are not the focus of development.
  4. Any systems created within the mod should take advantage of existing Starsector systems as much as possible. In particular, ships and weapon systems should be directly transferable to the core Starsector without further work. Amongst other things, this facilitates releasing a non-total conversion version of the mod that can be used in a modular fashion by Starsector. This cannot be allowed to interfere with Principle 2, however. Additionally, this principle also provides a reliable basis for game balance and testing.
  5. The campaign must, where possible, prevent power creep. Whilst Starsector promotes empowering the player over time, this mod promotes disempowering the player. If a player receives power in the form of ships, technology, or weaker opposition there must be factors which ensure that advantage will eventually decay and/or hurt the player for maintaining it longer than is useful. For example: If the player acquires an additional Battlestar (most likely during the invasion stage) then it will be a constant drain on supplies and fuel. It will also empower the military faction, reducing the player's control over the fleet. Not only that, but there could be a 'civil war' such as that between Galactica and Pegasus in the series.
  6. Additional challenge should tend to take the form of atrophy and attrition, rather than simply up-scaling the Cylon threat. This is not a game about overcoming the Cylons but rather holding on against an onslaught that is relatively consistent the entire way through. Taking on a full Cylon fleet head-on should always be infeasible; the question for the player should be 'what do I have in my toolkit to escape with minimal negative impact and where will this position me in future'?
  7. The game will provide a variety of starting options to allow players to tailor their own experience and provide replayability above and beyond the random aspects already present. Each combination should serve a meaningful function and provide a different experience.
  8. Battlestar Galactica, and thus this mod, is about people and politics as much as it is about ship combat. There must be a robust game system that abstracts this concept whilst also providing enough depth to enhance the player's immersion and agency.
  9. Regardless of BSG canon, metaphysical happenings are not accepted as part of the mod universe. It would detract from the game to have unpredictable Deus Ex Machinas the player cannot reasonably predict. The universe is a harsh and unpredictable enough place without it. Incidentally, the same conditions applied to the series and somebody should have really explained that to the writers of the later seasons.
  10. All player decisions must be informed and meaningful.
  11. Where feasible information will not be provided in the form of statistics. Natural language exposition or knowledge of the game's own universe will inform the player's decision in their stead. Rather than being told "this added 1 to the political faction's morale" the player will be informed that the political faction are offering less resistance to the other faction's actions, or thanked by the appropriate actors.
  12. The player will be scored on their ability to create a sustainable colony, thus a totally ruthless attitute of discarding civilians as resources will not only be punished in the short-term (by revolts, etc) but also in the end-game. This provides players with a berth to make ruthless decisions and maximise their efficiency in order to survive, whilst providing a strong incentive to optimise in a way that increases their end-goal's viability (and thus their score).
  13. The game is not to be driven forward by narrative. Narrative will be a means of exposition explaining the player's actions, not a means for driving the player down a pre-determined plot route (exempting moving between the three stages of play).
  14. Battlestar Galactica does not have a concept of shields. Thus this mod will not make any use of shields even though they are central to Starsector.
  15. Battlestar Galactica does not have a concept of flux. It does, however, have similar concepts such as over-heating. Thus, flux can be utilised but only where it emulates a similar BSG concept. Aside from those cases, steps should be taken to ensure flux does not alter the gameplay experience.
  16. Realistic scale is not a requirement. It is undesirable to force the Starsector engine to render individual cannon shots from a Viper whilst having a Battlestar that is bigger than the screen. The game engine is simply not designed to handle that whilst also providing stable and enjoyable gameplay.
  17. Asset pipelines should make use of existing tools and minimise manual labour as much as possible. This is a one-person indie project.
  18. 30 FPS does not provide a 'more cinematic experience'. I'm not sure if this will ever apply here, but I want to establish it as a principle none-the-less.

Technology

The modification will be written using the existing Java scripting framework provided by Starsector. That means accepting the limitations of earlier versions of Java and not extending beyond that which the existing engine can do (i.e. no LUA or C++ add-ons). This is to maintain compatibility with future updates and keep the pipeline as simple as possible. Weapons, ships, etc will be generated using the modding tools provided by the game developers as much as possible, whilst understanding that occasional forays in to notepad will be necessary.

Art

All art shall be derived from existing artistic works from either Starsector or Battlestar Galactica. This mod is not going to be generating new art assets except where this no alternative. Where possible weapons and effects should be recycled from Starsector.

Where art needs to be brought in-engine from outside they should be altered to make them sympathetic to the Starsector art style without requiring significant manual work. For example: Greebles should be added by an algorithm that finds appropriate points on existing art to add them. A developer should never add greebles by going over each pixel by hand.

Security

Software Projects

Applications