Let's pick some old classic game, reverse engineer the data formats and game rules and write an open source engine for it from scratch. Some games from 1990s are simple enough that we could have a playable prototype by the end of the week.

Write which games you'd like to hack on in the comments. Don't forget to check e.g. on Open Source Game Clones, Github and SourceForge whether the game is ported already.

Hack Week 20 & 21 - Master of Orion II: Battle at Antares

Master of Orion II is one of the greatest turn-based 4X games of the 1990s. Explore the galaxy, colonize planets, research new technologies, fight space monsters and alien empires and in the end, become the ruler of the galaxy one way or another.

How to install & play:

  • Clone the Git repository
  • Run ./bootstrap; ./configure; make && make install
  • Copy all *.LBX files from the original Master of Orion II to the installation data directory (/usr/local/share/openorion2 by default)
  • Run openorion2

Further work needed:

  • Analyze the rest of the original savegame format and a few remaining data files.
  • Implement most of the game. The open source engine currently supports only loading saved games from the original version and viewing the galaxy map.

Hack Week 19 - Signus: The Artifact Wars

Signus is a Czech turn-based strategy game similar to Panzer General or Battle Isle series. Originally published in 1998 and open-sourced by the original developers in 2003.

How to install & play:

  • Clone the Git repository
  • Run ./bootstrap; ./configure; make && make install in both signus and signus-data directories.
  • Run signus

Further work needed:

  • Create openSUSE package
  • Implement full support for original game data (the open source version uses slightly different data file contents but original game data can be converted using a script).

Looking for hackers with the skills:

sdl reverseengineering c++ games

This project is part of:

Hack Week 19 Hack Week 20 Hack Week 21

Activity

  • 5 months ago: dsterba liked this project.
  • 6 months ago: ismaell liked this project.
  • 6 months ago: dcipriani liked this project.
  • 7 months ago: pperego liked this project.
  • 7 months ago: jjanes liked this project.
  • 10 months ago: dave.nuzik liked this project.
  • 10 months ago: dave.nuzik joined this project.
  • 10 months ago: MDoucha liked this project.
  • over 1 year ago: lcaparroz liked this project.
  • over 1 year ago: dgedon liked this project.
  • over 1 year ago: danidoni joined this project.
  • over 1 year ago: jmoody liked this project.
  • over 1 year ago: dancermak liked this project.
  • over 1 year ago: bmwiedemann liked this project.
  • over 1 year ago: tdz liked this project.
  • over 1 year ago: tdz disliked this project.
  • over 1 year ago: fos liked this project.
  • almost 2 years ago: pagarcia liked this project.
  • almost 3 years ago: danidoni liked this project.
  • almost 3 years ago: hennevogel liked this project.
  • almost 3 years ago: MDoucha added keyword "games" to this project.
  • almost 3 years ago: tdz liked this project.
  • almost 3 years ago: vliaskovitis liked this project.
  • almost 3 years ago: MDoucha started this project.
  • almost 3 years ago: ph03nix liked this project.
  • All Activity

    Comments

    • jkohoutek
      almost 3 years ago by jkohoutek | Reply

      It would be hard to find a game with expired copyright. But I have some recommendations: Hungry Horace Colony

      • MDoucha
        almost 3 years ago by MDoucha | Reply

        Copyright status of the original game doesn't matter. We just can't bundle the original game data with the open source engine and if we need to disassemble the original EXE files, we'll need to do a "clean room" implementation of that part of the code. (One person analyzes the disassembled code and writes a spec, another person implements the spec without looking at the disassembled code.)

        The games I had in mind were something like Jagged Alliance, Battle Isle 3, Polda, etc.

    • lpato
      almost 3 years ago by lpato | Reply

      X-COM: Ufo defense https://www.gog.com/game/xcom_ufo_defense

      • MDoucha
        almost 3 years ago by MDoucha | Reply

        Already fully ported, including Terror from the Deep: OpenXCom Also check out UFO: Alien Invasion

    • MDoucha
      almost 2 years ago by MDoucha | Reply

      My top pick this year: Petroglyph has released the original sources of Command & Conquer and Red Alert as mod SDK under GPLv3. Let's write an SDL front-end for it and make the classic C&C games fully playable again. (Yes, I know OpenRA exists but I'm not installing the Mono bloatware to play it. The original game used to run smoothly on Pentium 90 with 16MB of RAM dammit!)

    • MDoucha
      almost 2 years ago by MDoucha | Reply

      My second pick: Jagged Alliance 1. No sources are available AFAIK, we'll have to reverse engineer it from scratch. We might find some reused AI and game mechanics code in Jagged Alliance 2 sources though.

    • MDoucha
      almost 2 years ago by MDoucha | Reply

      My third pick: Master of Orion 2. Two of our colleagues have tried to remake the engine in Python a while ago but I'd prefer to start from scratch in C++.

      • danidoni
        over 1 year ago by danidoni | Reply

        I'm for this one!

        • MDoucha
          over 1 year ago by MDoucha | Reply

          Not afraid of a challenge, eh? Alright, let's do it!

    • tdz
      over 1 year ago by tdz | Reply

      Maybe Lemmings? It should be doable in a week. Any it turns 30 this year; just like Linux. :)

    • mlnoga
      over 1 year ago by mlnoga | Reply

      Nice one. I would love to see Battle of Britain - Their Finest Hour resurrected from 286 days, especially the campaign mode. Or the Wing Commander series. But these graphically oriented games are probably not doable.

      Strategy games might be more within reach. I made a start on the logic of Capitalism in Golang several years ago. Basis was observed game behavior. I might still have the code lying around somewhere. Paired with a web UI, it might make a nice multiplayer (e.g. the Rancher stack with vue.js).

      • MDoucha
        over 1 year ago by MDoucha | Reply

        Thanks for the tip, I'll definitely keep Capitalism in mind for the next year. There already is a fan remake of one of the Wing Commander games: Privateer: Wing Commander Universe. Though I don't know whether it's playable and how closely it resembles the original Privateer.

    • mlnoga
      over 1 year ago by mlnoga | Reply

      Also check out these gaming-themed ideas: Game for SUSECon, Workadventu.re.

    • MDoucha
      10 months ago by MDoucha | Reply

      My top pick this year is obviously to continue working on Master of Orion II. We've started from scratch during the last Hack Week so most of the work was about internal code infrastructure and reverse engineering with very little to show at the end. But that work is now mostly done and we can start making some big visible progress this year.

      • Easy tasks: implement planet list screen, colony list screen, fleet list screen
      • Medium tasks: implement colony screen, officer pool screen, diplomacy screen, audio subsystem
      • Hard tasks: reverse engineer ship design, research or the rest of savegame format, implement help/info screen, find palettes for space combat sprites

      • danidoni
        6 months ago by danidoni | Reply

        I would join you this year as well. Let see what comes out of this hackweek!

        • MDoucha
          6 months ago by MDoucha | Reply

          Great, looking forward to working together again.

    • MDoucha
      10 months ago by MDoucha | Reply

      My second pick this year is to select one existing open source game project from Open Source Game Clones database and contribute to it. Something semi-playable would probably be the best choice but the only real restrictions are the project licence, programming language and access to the original game files. Note that in this case we have to pick a project at least a week before the Hack Week starts so that we can look around the codebase beforehand. I don't want to spend the whole Hack Week just looking for actual issues to fix or missing features to implement.

      I also have a third pick but I'll need to resolve some potential licence issues with the original developers before I say more. Stay tuned.

    • lramage
      10 months ago by lramage | Reply

      Anyone interested in a VR project? Or maybe adding VR support to an existing game? Something like Ryzom, https://wiki.ryzom.dev

    Similar Projects

    HelenOS: <filesystem> of a down by jjindrak

    During the previous Hackweek [0], I have succes...


    Make DNF5 package manager ready for openSUSE by dmach

    Project Description

    DNF 5 is a package ma...


    Open Source Firmware for EV chargers using the ESP32 Chip (Autoaid / EN-Plus / EVSEDO) by bschmidt

    [comment]: # (Please use the project descriptio...


    Add GObject based introspectable API to libzypp by zbenjamin

    [comment]: # (Please use the project descriptio...


    Blog about our ScummVM Freeware games packages by sndirsch

    Blog about ScummVM Freeware games of our open...