Giter VIP home page Giter VIP logo

opene2140's Introduction

Earth 2140 on OpenRA

Remake of Earth 2140 using OpenRA. Based on OpenRA Mod SDK. Work in progress.

Links:

Videos

Screenshots

Screenshots (January 2024)

Screenshots (September 2023)
Screenshots (April 2023)

Development team

  • michaeldgg2
    • project lead
    • programming
  • IceReaper
    • author of the original prototype
    • programming
    • reverse engineering

Contributors

  • Dzierzan
    • custom artwork for faction sidebars and command bars
    • main menu artwork
    • reskinned glyphs
    • custom cursors
    • custom effects
    • yaml coding support
  • Disembo
    • custom animations for MCU deployment
    • custom self-destruct cursor
    • custom rally point artwork
  • michal-mad
    • programming

Game assets

This project does not include any libre assets and original game files are required to run this project. You can acquire required assets by buying Earth 2140 on any of the following websites:

Special thanks!

Huge thanks for OpenRA devs and contributors for all the great work done on OpenRA.

Mailaender for using traits from OpenHV.

Special thanks to original development team at Reality Pump Studios for making Earth 2140, an amazing game this mod recreates!

Support the developer by buying the original game using links listed in the section Game assets above.

Contributing

At the moment, we're looking for these people:

  • Video editor (for occasional preview videos like the ones above).
  • Artwork artist - if you are talented artist and you would like to provide extra assets such as building props, don't hesitate and join us!
  • Programmer/coder - if you are familiar with OpenRA codebase and know C# language in general, you can go ahead and help us by working on issues. However, make sure to check with us before you start working on anything.

Contact us over at our Discord server.

opene2140's People

Contributors

abcdefg30 avatar dzierzan avatar fusion809 avatar icereaper avatar jrb0001 avatar lawando avatar mailaender avatar michaeldgg2 avatar michal-mad avatar mustaphatr avatar pchote avatar penev92 avatar phrohdoh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

opene2140's Issues

Rework construction pyramid

Existing construction pyramid from original game is not ideal. We want to improve it mainly to fit buildings underneath it.

Buildings: power management (unit/building construction)

Implement proper power management for buildings.

Behavior of power management in original game is described here.

The goal here is to change low power mode to work like this:

  • lights of buildings flicker (i.e. black and dark blue colors)
  • when the light is on, unit/building production and research advance
  • when the light is off, unit/building production and research are halted
  • turrets don't flicker, but the movement is jerky and rate of fire is slowed down
  • superweapons recharge is also slowed down

All these actions are synced, meaning all low powered buildings:

  • flicker at the same time
  • unit/building production and research advance/is halted at the same time
  • superweapons' recharge timer counts down at the same time

Turrets behave differently, since they work independently of each other. It seems that turrets cannot be controlled when in low power mode (at least UCS Little/Big Eye), i.e. they operate autonomously.

Also, not all buildings switch to low power mode, when state of low power occurs. Only those buildings that cause low power state are switched to low power mode (in ascending order of time when they were constructed) and others work normally.

Tasks:

  • powering down low-powered buildings intermittently
  • player-controlled toggling of power per building
  • indicator of building being powered down by the player

ProductionPaletteWidget: customizing clock animation per faction

ED and UCS use slightly different animation for displaying progress of building/unit production.

ProductionPaletteWidget does not allow customizing clock animation per faction. Either create custom widget based on this one that allows customizing or implement customization in OpenRA.

[BUG] Mech turret shadow is above the turret itself

I tried to fix it myself, but when I did so, layers for the elevator seemed to be screwed up.

Layers should be like that:
Legs < Turret Shadow < Turret

This has to be done the way it doesn't make it look again bad for the elevator.

image

Vanilla:

image

AddFactionSuffixExLogic throws exception

AddFactionSuffixExLogic is assigned to ProductionTypeButtonWidget. Reason currently unknown.

Exception of type `System.InvalidOperationException`: AddFactionSuffixExLogic only supports
IFactionSpecificWidget, ProductionPaletteWidget and ProductionTabsExWidget.Type: OpenRA.Mods.Common.Widgets.ProductionTypeButtonWidget

Explore: extracting research data from EXE

Explore possibility of extracting research data from game EXE.

Strings are in string table at the end of EXE, so a hypothetical table with research data will be more difficult to spot.

Name of researched technologies:

Plasma weapons
Plasma Bomb
Light Plasma Canon
Plasma Canon
Plasma fusion
Nuclear weapons
Ion canon
Light Laser
Laser Cannon
Laser detector
Teleportation
AI mine
Heavy rockets
Rocket engine
Engine
Flying
Fast Repairing
High Medicine
Nuclear engine
Nuclear reactor

Names from E2140.exe from Steam release, SHA256: c7230a9348047093437aeb1b82e3c222b15fb24d5318468247cc09d9517646e9

Use separate notification sounds for each faction

In order to use variant support in sound rules, custom preprocessing need to be done when loading sounds.

Both SMP0.WD and SMP1.WD contains mixture of voices for both factions, notifications are however separate. They're split like this:

  • ED: SMP0.WD
  • UCS: SMP1.WD

The goal here is to implement this preprocessing and configure variants for sound notifications.

Radar does not show terrain

Radar shows terrain as black.

BrokenRadar

Workaround is to enable and then disable full visibility using developer mode.
opene2140_urban_radar

Fog/shroud is not rendering properly

Fog/shroud spritesheet is missing U letter shaped sprites. This causes incorrect rendering of fog/shroud at the edges of visible area.

This is how terrain geometry looks like:
Terrain geometry

This makes enemy units visible at the very edge of the fog/shroud:
Screenshot_20230218_232026

This is how the same situation looks like RA:

RA shroud/fog

SCREAMER unit: cloaking field disruptor

SCREAMER generates field around it that disrupts cloaking field generated by SHADOW.

Note: there is another feature of the SCREAMER that is supposed to be in the original game: it also disrupts control signals for UCS faction, so the UCS units become uncontrollable (i.e. behavior controlled purely by their own AI). Unclear, if and how this works in single-player (either playing ED or UCS campaign) and even in multi-player.

SHADOW unit implementation: #9

Implement SHADOW unit: cloaking

SHADOW unit generates cloaking field around it, which makes all units in it invisible to all enemies of owner. When unit is cloaked, it does produce its moving sound (e.g. RAPTOR ES/AD, mechs, ...) and even projectiles shot by its weapon are visible.

Cloaking field can be countered by SCREAMER unit, which generates its own field that disrupts the cloaking field, and makes hidden units in this disrupting field visible again. Since SHADOW by default cloaks itself, SCREAMER also reveals SHADOW, if gets within range of SCREAMER.

We plan on changing some things from original implementation:

  • as both owner and enemy I couldn't see muzzle effect from weapons that produce projectiles with this effect when the unit is cloaked. In the mod, we will make the effect visible
  • as owner I see cloaked units shadow outlining cloaked unit's sprite. In the mod cloaked unit will be rendered as as semi-transparent version of original unit's sprite (details TBD)

Things to implement:

  • SHADOW unit: core YAML
  • unit cloaking on YAML level
  • rendering of cloaked units (because of RGBA sprites, paletted cloaking in Cloakable trait won't work)

Building construction: custom MCU deploy and pyramid animations

The goal here is to fix broken MCU deploy and construction pyramid animations and make custom construction animation per each building. This could also be used for building selling feature.

(Disembo)

UCS:

  • Production Center
  • Heavy Tech
  • Robot Factory
  • Little/Big Eye
  • Teleport
  • PB Control
  • SDI Defence

Shared:

  • Power Plant
  • Research Center
  • Refinery
  • Mine
  • Naval Base (including Dock)
  • Air Base
  • Shelter

ED:

  • Construction Center
  • Tech House
  • Bio-Center
  • Defense Tower, Heavy Defense Tower
  • BCC
  • Pillbox
  • Silo
  • AN Center

Art for command bar

Create art for command bar.

Should use same buttons as command bar in CNC:
Screenshot_20230203_175736

First group (commands):

  • attack move
  • force move
  • force attack
  • deploy
  • scatter
  • stop
  • waypoint mode

Second group (stances):

  • attack anything
  • defend
  • return fire
  • hold fire

@Dzierzan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.