GithubHelp home page GithubHelp logo

emeoffline's Introduction

EME Offline - EXODUS

A godot prototype to learn the engine. EME Beta 1.0 Login Screen EME Beta 1.0 Login Screen - Settings EME Beta 1.0 Login Screen - Create EME Beta 1.0 Game Screen - Space EME Beta 1.0 Game Screen - Sun EME Beta 1.0 Game Screen - Warp EME Beta 1.0 Game Screen - Mining EME Beta 1.0 Station Screen - Main EME Beta 1.0 Station Screen - Refine EME Beta 1.0 Station Screen - Sell

Goal of the game

This main goal of the game is to mine asteroids, refine them into minerals, sell them for credits and use said credits to buy upgrade for your ship. The game closely resembles EVE Online (a very very small fraction of its features), in 2D. You control the ship pointing and clicking or through the use of the overview window, to move, warp, dock and mine. The final goal is to obtain the coveted Mining Laser V and the very spacious Cargo Hold Extender V. After then, well... sky's the limit!

Power Ups

You can buy 4 levels of Mining Lasers and 5 levels of Cargo Hold Extenders.

Mining Laser Upgrades EME Beta 1.0 Station Screen - Market Mining Laser

Cargo Hold Extenders EME Beta 1.0 Station Screen - Market Cargo Extender

Controls

The game is mainly controlled with the mouse. You can select objects in the Overview, click buttons to take actions (such as "MOVE", "WARP", "DOCK" and "MINE") that are dependant on the selected object and it's distance.

A far away object will let you warp to it, whereas a more close one can be reached with a move action or can be mined (if it's an asteroid) or docked (if it's a station).

Mouse: Left Click Use the left button of your mouse on an empty spot in space to move your ship there. The ship will increase its speed to the maximum and then automatically slow down once you reach it.

ESC to quit the game, skip the tutorial or undock (if in Station).

Copyright Notes

ART AND MEDIA

All audio effects are from EVE Online. All musics are from EVE Online. Most of sprites are ripped from EVE Online.

Shaders for the Login, Main Game and Station are from Godot Shaders.

Main Menu text elements are created by me with Krita.

PLUGINS AND SOFTWARE

Godot Engine

Godot Git Plugin

Krita

REFERENCES

Godot Docs

r/godot

HEAVILY INSPIRED FROM

EVE Online

This game is not for release, and it's been done only as a learning project for GODOT 3.5.

emeoffline's People

Contributors

artanisx avatar

Watchers

 avatar

emeoffline's Issues

Swap out the text mentioning EVE Online things

Replace all mentions of EVE Online things:

LOGIN SCREEN

  • "a small fan game set in the EVE Online world" > "a small fan game loosely resembling a well liked game"

GAME WORLD

  • Rename the station celestial to "SC Mining Refinery"
  • Rename all asteroids from "Asteroid (Veldspar)" to "Asteroid (Geldspar)"

STATION

  • Rename the REGION from SINQ LAISON to WINQ MAISON
  • Rename the CONTELLATION from CORIAULT to DORIAULT
  • Rename the REGION from DODIXIE to GOGIXIE
  • Rename the STATION from "Dodixie IX - Moon 9 - Deep Core Mining Inc." to "Gogixie IX - Moon 9 - Shallow Core Mining Inc."
  • Rename Veldspar to Geldspar
  • Rename Tritanium to Britanium

Create an actual font

Currently all text is displayed with the default font and default color. Swap this with a free to use, but better, customized font.

Swap out all game sprites

Replace all game sprites with new ones that are not ripped from EVE Online:

  • Venture (Player Ship)
  • Veldspar (Asteroids)
  • Static Asteroids (Not from EVE but also not freely distributable)
  • Station

Fix the Asteroid scaling when mined

Fix the Asteroid scaling when mined (now after a few cycles they will become too small even if lots of ores are still inside), and make the asteroids bigger by default (while being 2000 units).

Swap the "Space Anomaly" with the Sun

Currently we have a "Space Anomaly" celestial which is a bad 2DParticle effect and silly deformed static asteroid rotating. Swap it with a convincing Sun, with lensflare effect and if at all possible 2dlight effects.

Port the game to Godot 4.1 with C#

This is not really an enhancement or anything, but it might be interesting to port this game to Godot 4.1 (once C# is integrated in the same binary), writing everything in C# to learn of C# works in Godot.

It won't make any difference to the player, but it will be good to learn how Godot 4.X works and how C# works with in Godot 4.X series.

Add System Wide solar flares

A Solar Flare happens every now and then. It gives a warning, and then after a few seconds a massive solar flares hits, destroying the player if he's not docked.

The player must dock before this happens.

Asteroid Belt proc gen

Now wheneve royu undock the game world scene is reloaded from scratch. This means any asteroid will be full again and present.

This isn't exactly a problem and saving asteroid status could get complex. Maybe just make sure to remove asteroids closeby to the station so it's not so apparent they respawned :P

ONe thing to solve this would be to have a variable on ready() to see if it's the first launch or not. If it is, fine, if it isn't then you should reload status. Of course station docking() should save the status on Globals so that when you ready() again the scene after undocking, with the variable telling it it should load, it has the data to load it.

Moreover, and linked to this system, one could start consdiering asteroid population via code (i.e. sort of procgen asteroids generation and belt generation somewhere in the world map so that each session is different. System coudl be extended so that each time you login you get a new generation (i.e. the wolrd went ahead without you as in eve), and such generation only happens each login plus anothe rbelt is generated once the previous is cleared. which also requires a AsteroidBelt game object for management (i.e. number of asteroids in it etc.))

Above systems should be done after everything rest is doen though.

The first time you enter the world on a new account, show a brief tutorial

This is important to teach the player how to play.
The first time a new account is created, this brief tutorial will show.

First time means the player is exactly in position 0,0, has 0 credits, 0 cargo, 0 station trit. This should only happen the first time unless the player logs and does nothing.

Now, the tutorial will show some messages and highlight some part of the UI, then instruct the player to do actions. Player won't be able to do anything until this is over, but they can skip this if they press ESCAPE (a message will appear "Skipping the tutorial?" and yes will do so.

At login, it will show a message: "Welcome to EME!" then it will show a circle in space and a message "Click on an empty point in space to move" > "You can only move when not mining.".

Then it will show an arrow pointing to the overview and a message "This is the overview!" > "Use to to warp to distant locations"> "Use it also to select asteroids to mine"

Then it will show an arrow pointing to the buttons of the overview "This is the selection screen" > "use these buttons to take action on selected celestials".

Show an arrow pointing to MOVE TO and a message "This will move the ship towards the celestial" > "It's available only if the celestial is close".

Show an arrow pointing to WARP TO and a message "This will warp the ship towards the celestial" > "It's available only if the celestial is far away".

Show an arrow pointing to DOCK TO and a message "This will dock the ship to the station" > "If the station is far away, it will warp to it first. " > "If the station is not in range, it will move to it first".

Show an arrow pointing to MINE TO and a message "This will start mining the selected asteroid > "Only available if you select an asteroid". > "Clicking this or the mining button is the same"

Then it will show an arrow pointing the low HUD. "This will show your Hull integrity (RED BAR)." > "If it reaches 0 you are dead." > "Your current speed is also shown (GREEN BAR)" > "And your Cargo Hold is represented by the (YELLOW BAR)". > "Moving the cursor on a bar will show more info".

Then it will show an arrow pointing on the mining button: "Click this to mine the selected asteroid". > "Click it to interrupt a minign cycle, in order to move away" > "Put the cursor over it to show deatils of your mining laser". > "Remember you have to stop mining in order to move"

After this is done, show a message that says "Now dock the station". The player will be able to act now, but only the dock button will work. If they click somewhere else, the message will appear "Click on the station in the overview, then click DOCK". Whe nthe player does so, a single unit of Station Tritanium is awarded. This will make sure the tutotrial won't appear after he undocks (also means that docking again wont show the ttorial again).

AFter the player logs the station, the tutotorial will be spawned. Again this happens if the player has 1 trit, 0 creds, 0 cargo hold, mining laser 1, cargo ext 0.The player can click escape to interrupt the tutorial.

It will show a message "This is the station." > "Here you can refine your ores into minerals" > "Minerals can be sold for credits" > "With credits you can buy upgrades"

Then it will shwo an arrow directed to refine button "Click the refine button". It will award the player 100 veldspar for the ttuorial. "You have been given 100 Veldspar for this tutorial." > "Click REFINE to refine 100 veldsar into 20 Tritanium". The player will be able to only click the REFINE button and then REFINE in the interface. WHen he does so, the tutorial will continue.

You get the idea. How to make the tutorial steps through steps? I think a list with signals should be enough, think about it. This system will be interesting to do.

Swap out all UI sprites from EVE Online

Replace all UI Sprites from EVE Online with freely available ones or made.

  • All overview icons and overview selection icons
  • The mining button icon
  • The station buttons (REFINE, SELL, MARKET LASER, MARKET CARGO, UNDOCK BUTTON)
  • The station icons of each UI element (refine, sale, market)
  • The Mining Lasers in the Market
  • The Expanded Cargo Hold in the Market
  • The Deep Core Inc. logo

Create Space Anomalies that damage the player when in contact

There are not enemies in space. However, there are wandering space distortions which will damage the player ship if contacts. Damage is applied for every second of contact until destruction or until the player moves away. Damages to hull are 100% of the damage emitted by the space distortions.

The idea is to have wandering space anomalies located in the asteroid belts, they move semi-randomly, but sometimes they do target the player. If they contact, they apply damage each second. The player must stop mining laser and move away (trying to move away without stopping will give the insufficient energy message).

The space anomalies do not move if the player isn't in range, so they don't go out of position.

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.