Skip to content

Latest commit

 

History

History
108 lines (69 loc) · 6.3 KB

README.md

File metadata and controls

108 lines (69 loc) · 6.3 KB

OpenLoco/OpenGraphics

OpenGraphics is a project established to replace the base graphics of Locomotion. The aim is to create a set of freely-useable graphics that can be used with OpenLoco. This will help OpenLoco to be more accessible, as well as make it easier to add new features and content to the game.

This repo is based on https://github.com/OpenRCT2/OpenGraphics.

Progress

The current progress list can be found here.

Our current focus is on the following object categories:

  • Vehicles

Current blockers

  • Blender plugin/workflow

Getting Started

For most object types the most accurate and quickest way to create sprites is using the OpenLoco Graphics Helper add-on for Blender 2.79. The plugin is forked from RCT Graphics Helper and there is useful information still in their wiki RCT Graphics Helper Wiki that applies for Locomotion as well.

Blender Render last available in Blender 2.79 is the most accurate render engine (for its time) that we have access to as an open source project. You can use other software to create your models as well, as long as your main source file that you contribute to the project is a a Blender (.blend) file.

Requirements

  • All assets required to create the final sprite graphics need to be included in this repository. For 3D-rendered vehicles, this includes models, textures, UV maps, etc. If you are hand-painting the pixelart, for example for a building, then you would upload just the PNG files.-
  • Do not copy real life products (including companies, vehicles, buildings, etc). Look at how other games parody real life for inspiration; Planet Coaster and OpenTTD are good examples of what is accepted.
  • AI-generated content of any kind is not allowed (textures, models, names, etc).
  • Overall object
    • Needs to maintain the same image size size and rough visual features as the original Locomotion objects.
    • Visual fidelity should remain the same as vanilla.
    • Colour palette should remain the same as vanilla.
    • The stats may change but may be identical or similar.
    • Filename should be OG_<originalname>.dat, for example 4F.dat becomes OG_4F.dat.
    • Internal DAT name should be prefixed with OG.
      • Remove the last 1-2 characters if the name is already 7 or 8 characters, eg LIVESTCK -> OGLIVEST.
      • Remove another character if a number is needed to disambiguate. For example BLDALP1, BLDALP2, etc all the way to BLDALP11 will all map to OGBLDALP by default. These should become OGBLDAL1, ..., OGBLDA11, etc.
  • 3D Models
    • Models should be made from scratch, or, if you have an existing model that you personally created from scratch, you can use that.
    • While we're still deciding on file formats, OBJ or glTF files are probably best for now.
    • Scale is roughly 10m per 1 in-game tile for ground vehicles (buses, trucks, trains, trams). You should be able to fit 4 10x2.5m buses in a single tile. This is a rough guide as there is no single true scale. Ships and aircraft have a different scale in the base game (check out the A380!) and no rough scale has been assigned to these yet.
    • One model per file.
  • Textures
    • Only use public domain textures.
    • Save textures as PNG, and limit its size (1k should be plenty in most cases).
  • Names
    • New. See OpenTTD's new vehicle names as a reference.
    • Not the same as existing base-game names, for example we cannot call an object 114 since that exists in the base game.
    • Not the same as real-life vehicles, for example you can't make a truck called Cybertruck.

Note: many of these requirements are to avoid potential legal issues. If you are a copyright lawyer and can provide further advice, please get in touch with us!

Vehicles

The plugin should be able to handle most vehicle related sprite creation that is required for the project. The exception is cargo sprites which some vehicle use. We are still working on improving how to handle them. Further work is required for the plugin to handle Vehicle meta data generation (e.g. bogie location, exahust location).

Community

You can get in touch with us via the OpenLoco Discord server. There is a dedicated OpenGraphics channel that can be used to discuss this sub-project.

How to Contribute (for non-technical users)

You will need a GitHub account to contribute to the repository in any manner. Please make one first if you haven't already.

GitHub Desktop

  1. Install GitHub Desktop.
  2. Fork OpenLoco/OpenGraphics to make a personal repository.

image

  1. Clone your personal repository.

image

  1. Make a new branch.

image

  1. Make your changes. They'll show up in GitHub Desktop.

image

  1. Add/commit your changes.

image

  1. Publish your branch.

image

  1. Open a pull request with OpenLoco/OpenGraphics.

image

  1. It should look something like this in GitHub (online):

image

  1. Someone will review the pull request.
  2. If it passes review, it will be merged and you're done. If it doesn't you'll have to fix your changes, which is just repeating steps 5-7.

License

OpenGraphics is licensed under the MIT license.