Game Dev Manager (GDM)

UPDATE 2022-02-18

GDM is effectively parked at the moment.

I’m current in the middle of programming an online Turn Based Strategy game using Rust and various other exciting, modern technologies.

I am confident that one day I’ll revisit GDM, and maybe make it browser based so you can play it wherever you are on what ever device you want.

One of my biggest struggles with GDM was building software that ran on multiple platforms whilst maintaining the same visual look and feeling.

Yes, I could’ve chosen to use GTK or qt. but they’re pretty complicated and require large redistributables to install.

I’ve also fallen out of love with C# as well, which set me back even further, if I don’t find working enjoyable it’s hard to summon the energy to sit and code for hours, long into the night to get anything done.

I don’t hate it at all, I still use it and will continue to use it when required, but I’ve found that I much prefer Rust over C# for a number of reasons.

To summarise, GDM is not dead, it still exists, it will most likely go through another scrap and re-write, but building on my past experiences with it should get me back to where I was pretty rapidly.

Game Dev Manager LogoSo what is GDM?

Game Dev Manager or GDM for short; is a Tycoon or Business Simulation type game in which, yes you’ve guessed it, run a game development company.

The aim is to not only become the wealthiest company, but also to have the most fans, the best reviews and be the most trustworthy.

When can I get it?

At present, I’m not sure, I have some other projects that I’m currently working on.
The game has also been through many, many revisions and has been re-written twice.

The information below is referring to the most current version, But now I have plans to re-write it from scratch again due to bad design choices I made in the beginning (Ironic, is it not?)

What platforms will it be on?

Hopefully, most of them, It will definitely support Windows, Linux and Mac. I have also looked into the possibility of a browser based version as well as mobile ports

Gameplay

Meeting Room

A simple overview of the process is:

  1. Design a game,
  2. Send it to development,
  3. Test the game to make sure there are no bugs,
  4. Send it to be published,
  5. Profit.

Later in the game, when you have researched online capabilities, you will have on going maintenance costs for keeping the game running.

You will also be able to do other things like release expansion packs, developed in exactly the same as a game, but will have a bonus to sales if the original game scored highly.

Starting out

Star Trek, Credits to Jeff Tranter
Star Trek, Credits to Jeff Tranter

At the start of the game, you will have a very little technology at your disposal and 3 other members of staff.

You will have Basic Keyboard input, ASCII graphics, Beeper sounds and BASIC as your only tools.

From there you will have to develop your first game, make some money, and start researching new technologies.

Implementing bigger technology and large, complex features in a game takes more time and increases the cost of the game.

Once you’ve made a bit more money, you can consider hiring additional help. Some staff will only work for companies with a good reputation!

The game’s life cycle

Developing games in GDM is done in Sprints which are one month long and each part of the process in handled by a team.

At first there will only be one person in each team.

There are 3 teams that participate in the game making process: Design, Developers and QA.

But there is also a Tooling team who will perform research into new Technologies for you.

To produce a game, there are five phases:

  • Design, Your team of Writers and Artists are the staff who will be working hard here.
  • Development, Best left to the Developers and Sound Engineers.
  • QA, Handled by Play-testers, they will help you find any bugs in your software.
  • Publishing, Currently Outsourced to a company of your choice, provided you can afford it.
  • and Live, the game hits the shelves (or online stores) and makes you some money.

At the end of every sprint before the game has been published you can choose to send it back to an earlier phase; such as from QA back to design for refinement, or development for bug fixing. This will be essential for bigger, higher quality games with many features.

From time to time, other events will occur, for example: a game-breaking bug will be found and require patching after release.

After the game is released, Critics will review your game and give you a score, which will partially determine how well the game sells.

Internals

GDM’s core game code is written in C# and uses JSON files for its data files.

The game will have full mod support for replacing the base data. Mods can be as simple as a JSON file, or as complex as full blown C# code. All will be packed into a Zip file.

An example JSON file may look something like this:

{
    "$type": "GDMCore.TechTree.TechTreeItem, GDMCore",
    "Category": "Input",
    "Dependencies": {},
    "Researched": true,
    "Name": "Keyboard",
    "UUID": "c3891961-51fb-4261-b7e8-378f5d4df97d"
}

This is the code for the “Keyboard” input tech tree item. As you can see, it has no dependencies and is already researched by default.

You may also notice that is has a Universally Unique Identifier or UUID.

This is so every single item is unique and can be referenced by other items, parts of the code or even other mods.

Wave Engine Logo

When a UUID collision is detected, we assume this is done on purpose to “override” the original and will be loaded over the original, so the mod load order will be important.

We are not sure what Game Engine will be used for the UI yet; But we are looking in to using Wave Engine at present.

We plan to incorporate online features such as leaders boards and allow players to compete against each other in an online, persistent “world” that will be reset every so often; much like Diablo’s “Seasons”.