Coder Social home page Coder Social logo

daid / emptyepsilon Goto Github PK

View Code? Open in Web Editor NEW
518.0 518.0 172.0 601.6 MB

Open source bridge simulator. Build with the SeriousProton engine.

Home Page: https://daid.github.io/EmptyEpsilon/

License: GNU General Public License v2.0

Python 0.74% GLSL 0.08% Lua 79.24% C++ 18.56% C 0.01% CMake 0.30% Shell 0.14% HTML 0.95%
artemis cpp emptyepsilon game multiplayer

emptyepsilon's People

Contributors

ablueshadow avatar amir-arad avatar capt-t avatar csibbitt avatar czenker avatar daid avatar failrogue avatar fouindor avatar gcask avatar gguillotte avatar hemmond avatar jonathanilevi avatar lacombet avatar muertefr avatar nallath avatar ninjaspectre avatar olddragon2a avatar oznogon avatar parracodea avatar piglit avatar pryankster avatar rdbahm avatar starrywisdom avatar tdelc avatar thorgod avatar triqueon avatar tsht avatar vslotman avatar wrongtown avatar xansta 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

emptyepsilon's Issues

Large vessels & hangar

Each larger vessel (class > 6) with docking abilities should have a hangar deck.

I'd like to make it so that only when an engineering crewmember is in the hangar, present ships will be repaired.

Docked communications with SpaceObjects on main screen

When docked there's using no action. We could show the communication on the main screen. Also, it would be nice if a choice needs to be made. Such as investing in ship upgrading. The upgrades could be available at select stations.

A large station could have an alien cloaking device or additional missile bays, or another beam weapon (costing many credits).

A cloaking device should be available only at a pirate trading hub or on a planet, not through official channels. This encourages deeper space exploration instead of just fighting off ingress enemies.

Send server shutdown when exiting to clients

When the server is shutdown, the clients aren't told to disconnect/go back to menu screen.
This might be fixed by sending a server a message that the server is shutting down, and/or have the client disconnect after X number of seconds not receiving anything from server.

Something like this is especially needed with the autoconnect option in the options.ini file or via the command line/Windows shortcut.

Model Request

Dear all, Just some remarks

Might it be possible to add an option to rotate and shift models? I am putting new models of ships into the game, for SevCol and it is quite a hassle to open every *.obj, rotate it, correctly, save it again (I got about 'free' 50 ships, although at least half of them will be non-combatant ships).

If I have imported them, would you like to have a copy of it and make the player be able to choose which shiptemplate to use? Or don't you want to import them and just keep them seperate? My ships will probably be more durable statted, due to the nature of the LRP (Ships need to be able to surrender :) and our battles shouldn't last 10 seconds).

You have created an option to make a pack yourself with a python script, but I noticed that the script is not neccesary and that the game just looks into the Solcommand path and imports every texture/spec/glow/obj. Why did you create the option to make this pack?

Why do the player ships need "PLAYER" In front of their shipname? Is it not better to make an option: "Possible player ship" in the ship template?

I didn't quite figure out what the requirements are for a 'ship' model to be recognized as a space station, I know in march I was able to do it, when the template-models were differently composed. Could you tell me, since I got a few nice stations. Might it also be possible to let player-ships doc at just one side of a space station, the part which contains the actual hangar, or does this need programming rehaul?

Thanks for answering,

Jhovall

Input on script from server console

Dear All,

For sevcol I am making a general mission which randomizes the placing of astroids, nebula's, jumpgates etc. The script let's players travel from jumpgate to jumpgate. It basically destroys everything when a jumpgate is reached, teleports the player to a new location, spawns a jumpgate behind the players back and creates a whole new random scenario.

In between the travels (jumpgate to jumpgate) you would like to have event-scenario's. These need to be controlled by the GM screen, since the environment of the larp (a 'planet' or ship interior) needs to be set up and if the players are to quick with traveling you want to let them travel another random scenario.

What I thought was gaining keypresses from the GM-console and if the key is pressed and player go through a jumpgate the scenario will load, but this is obviously not supported. Does anybody have any Idea how the GM console could communicate with the Lua-script?. (Except for ugly work-arounds like letting the GM's spawn a ship on certain-far away coordinates if they would like to load a specific scenario?)

How to make pull request (how to keep it focussed to a single change)

I'm currently doing a lot of stuff in both EmptyEpsilon and SeriousProton. I'm working on query-string support, permissions for the web interface, and later on some GUI- and controller-things.
As a result my branch starts to diverge quite a bit from daid's master. This makes it quite a challenge to adhere to the 'single pull-request' rule, since a lot of what I'm doing is dependent on each other.

When I make a pull-request, Git wants to send everything, so I have to hack and slash in my code to get to distill this single change.
Is there an easier way to do this?

Helm's heading is off 90 degrees

The heading on the right side of the screen on the Helm terminal is off by 90 degrees. See screenshot.

eess

Running latest commit (72e37b8) on Debian Wheezy 32-bit. I noticed this a couple of days ago too.

Arrows change wrong value in Server setup screen

When clicking on the left or right arrows on the server setup screen for "Tactical radar" the value doesn't change but the "Long range radar" value changes to 'No' (and not 'Yes'). The arrows correctly change the value in "Long range radar" though.

Build problem on OS X

I'm getting a few problems building it for OS X with the python make_cbp.py. I have the git repo of SeriousProton in ../ with the latest commits and the commit a03ce36 of Sat Aug 23 09:28:59 2014 of Empty Epsilon.

This is the output for the build:

[76%] g++ -O3 -Wall -I../SFML-2.1/include -I../SeriousProton/src -O2 -o _build/EMPMissile.o -c src/EMPMissile.cpp
[76%] g++ -O3 -Wall -I../SFML-2.1/include -I../SeriousProton/src -O2 -o _build/asteroid.o -c src/asteroid.cpp
[77%] g++ -O3 -Wall -I../SFML-2.1/include -I../SeriousProton/src -O2 -o _build/beamEffect.o -c src/beamEffect.cpp
In file included from src/beamEffect.cpp:2:
In file included from src/beamEffect.h:4:
In file included from src/spaceObject.h:4:
In file included from ../SeriousProton/src/engine.h:21:
../SeriousProton/src/multiplayer_server_scanner.h:25:24: warning: in-class initializer for static data member of type 'const float' is
      a GNU extension [-Wgnu-static-float-init]
    const static float serverTimeout = 30.0;
                       ^               ~~~~
In file included from src/beamEffect.cpp:3:
In file included from src/spaceship.h:7:
src/spaceStation.h:10:24: warning: in-class initializer for static data member of type 'const float' is a GNU extension
      [-Wgnu-static-float-init]
    static const float shieldRechargeRate = 0.2;
                       ^                    ~~~
In file included from src/beamEffect.cpp:3:
src/spaceship.h:54:24: warning: in-class initializer for static data member of type 'const float' is a GNU extension
      [-Wgnu-static-float-init]
    const static float shield_recharge_rate = 0.2f;
                       ^                      ~~~~
In file included from src/beamEffect.cpp:2:
In file included from src/beamEffect.h:4:
In file included from src/spaceObject.h:4:
In file included from ../SeriousProton/src/engine.h:19:
../SeriousProton/src/multiplayer.h:27:16: error: call to function 'operator<<' that is neither visible in the template definition nor
      found by argument-dependent lookup
        packet << *ptr;
               ^
../SeriousProton/src/multiplayer.h:88:66: note: in instantiation of member function 'multiplayerReplicationFunctions<sf::Vector2<float>
      >::sendData' requested here
        info.sendFunction = &multiplayerReplicationFunctions<T>::sendData;
                                                                 ^
src/beamEffect.cpp:17:5: note: in instantiation of function template specialization
      'MultiplayerObject::registerMemberReplication<sf::Vector2<float> >' requested here
    registerMemberReplication(&targetLocation, 1.0);
    ^
../SeriousProton/src/multiplayer.h:149:48: note: 'operator<<' should be declared prior to the call site or in namespace 'sf'
template<typename T> static inline sf::Packet& operator << (sf::Packet& packet, const sf::Vector2<T>& v)
                                               ^
../SeriousProton/src/multiplayer.h:32:16: error: call to function 'operator>>' that is neither visible in the template definition nor
      found by argument-dependent lookup
        packet >> *ptr;
               ^
../SeriousProton/src/multiplayer.h:89:69: note: in instantiation of member function 'multiplayerReplicationFunctions<sf::Vector2<float>
      >::receiveData' requested here
        info.receiveFunction = &multiplayerReplicationFunctions<T>::receiveData;
                                                                    ^
src/beamEffect.cpp:17:5: note: in instantiation of function template specialization
      'MultiplayerObject::registerMemberReplication<sf::Vector2<float> >' requested here
    registerMemberReplication(&targetLocation, 1.0);
    ^
../SeriousProton/src/multiplayer.h:153:48: note: 'operator>>' should be declared prior to the call site or in namespace 'sf'
template<typename T> static inline sf::Packet& operator >> (sf::Packet& packet, sf::Vector2<T>& v)
                                               ^
3 warnings and 2 errors generated.

Full result is here:
http://pastebin.info/?paste=37

I have Libsfml present:

ls -1 /Library/Frameworks/ |grep sfml
sfml-audio.framework
sfml-graphics.framework
sfml-network.framework
sfml-system.framework
sfml-window.framework

I don't mind using the EXE through wine, but I did want to give the feedback. Hopefully it's something small. I'll be able to contribute more easily if I have a working build process.

Building on Linux VM

Tried building on clean Ubuntu 14.10 within a virtualbox VM.

mkdir Dev ; cd Dev
sudo apt-get install libsfml-dev git build-essential codeblocks
git clone https://github.com/daid/EmptyEpsilon.git
cd Emp*
python make_cbp.py
./EmptyEpsilon 
libGL error: pci id for fd 7: 80ee:beef, driver (null)
OpenGL Warning: Assertion failed: thread && thread->netServer.conn && thread->netServer.conn->type==CR_VBOXHGCM && thread->bInjectThread, file /mnt/tinderbox/add-4.3/src/VBox/Additions/common/crOpenGL/pack/packspu_misc.c, line 562
Segmentation fault (core dumped)

I upgraded to VirtualBox 4.3.22, installed guest pack and disabled 3D accelleration. This allowed me to run it, although it's fairly slow when displaying the main screen.

Self destruct does not work on 4/3 bridge

If Engineering+ activates Self Destruct when all clients are running a 4/3 bridge (Tactical, Operations, Engineering+), there is no way to input codes nor is there a countdown.

Tested on 2015.10.23-win32 release

Contribute/planet-Dahlior/index.html

Now that Serious Proton has a built-in Web server there is an opportunity for Web developers to contribute to the game. When landing on a planet the crew can take a core dump and strategize while planet specific scenarios can be played out. This could reveal more about the various species and factions.

The JavaScript could interface with game server by posting LUA code which would effectuate adding resources to the player ship and changes to reputation for spending or composition of missions on a planet.

Ideally scenarios could integrate what happens in space with a planet. E.g. rescue a stranded crew and return them to there home world will indebt them and grant privileges such as a powerful escort or that costly warp engine upgrade.

The Web pages allow planet specific theming but could use common GUI components and CSS.

Missile lock-on ability and indicator

Allow missile weapons to lock onto targets with a high enough sensor fingerprint (see #14), or on targets scanned by the Sci console. It should be impossible to lock onto "cloaked" ships, or ships too far away, or ships not scanned by Sci.

If the weapons console is targeting a enemy vessel, display an indicator as to whether a missile can or cannot lock onto that target.

Locking the missile weapons onto a target should take a few seconds (because the sensor fingerprint is being synchronized with the missile sensor pack and technobabble technobabble technobabble technobabble). Blinky "lock" indicator = good.

Fighter docking to main ship

It would be cool if a solo pilot could dock his/her fighter at a larger ship.

The engineer could then do repairs, refuel and resupply weapons or transfer arbitrary cargo.

The ship should have launch bays present for docking/releasing or the fighter would be boarding the larger vessel.

When boarding an enemy ship, the boarding party would be able to rig the ship with explosives (which engineers could find) or create a warp core meltdown) by sabotaging the cooling system.

Unable to see parts Helm and Weapons screen when resized

When you resize the client window for Helm and Weapons and resize it where it is taller than it is wide, the top of center part of the screen stays with top of the window. The rest of the screen is centered.
The taller it is, the more noticeable it becomes.

Problem exists in Windows and Linux.

I'm guessing this is due to the new way the screen is drawn.

Steps to reproduce: Make the game run in Windowed mode. Run as a client. Select Helm and/or weapons. Resize the window so it is taller than it is wide.

Gamemaster Screen - Retrofit Bug

HeyHey, I was playing with the GM Screen a little and noticed that retrofitting the weapons is'nt working correctly. F.e.: If I retrofit a Players Ship to increase the Nuke capacity, it will mess up the whole Nuke Counter.

GM Screen - Last 3 ships unclickable

I was testing the latest commit today, and started playing with the Game Master console. I noticed there were 3 ships that I could not select when creating ships on the map.
My guess is that the new faction's ship made the list go off the box and you can't select items not inside the box.

GUI

So I have been 'working' on a GUI which looks more futuristic and more intiuitive. Basically: I downloaded some pictures, changed them somewhat and put them together. The picture in the middle should be the weapons radar, but it is too small at the moment :P. It is not finished yet and needs seperate buttons for fire, and something for loading the tubes etc. but it provides a general idea. Comments?

http://imgur.com/gallery/WLXsq6a/new

Game crash on connect

Hello,
Game is crashing (on client side) when you try to connect via internet.
We opened and forwarded port 35666 on server (tcp and udp).

Other problem is that u cant play using i.e. tunngle.

Parts from disabled ships

Not every blast will disintergrate a spaceobject.

If a large ship gets destroyed by minor damage, it would make sense that debris from the ship could still have some integrity. These objects could be usable weapons or people that could become prisoners of war (to be exchanged for reputation at space station) or weapons to be fitted on player's ship.
Fitting a weapon ideally should preoccupy engineering and should take time decided by the amount of crew working in the section of the ship. Also, parts could have more or less damage depending on enemy hull integrity versus impact.

Random ideas

Tell me which you like most. Some I might be able to implement with a little help.

  • Engineers of different ranks. Senior engineers will fix heavier damage. When selecting a crew member you see the rank.
  • Special acquisition of ship upgrades for larger amounts of reputation. E.g.
    • Zirconium-based alloy shielding plates. Ads to the max hull. May add a bit of weight to a ship. We can color change the texture a bit to show off the new looks.
    • An extra repair robot that has AI, which will fix a ship autonomously.
    • A pair of additional missile bays.
    • A software update to the ship's energy management software will allow faster shields recovery.
  • Astroids should vary in size a bit more.
  • Escape pods. Instead of just going up in smoke a crew member should be able to abandon ship. The wise/coward member will have to find his way to a home base or friendly vessel while dealing with a low oxygen situation. At some point carbon dioxideoxide levels will darken a station for good. Minimal momentum can be acquired by spending a supply of fuel.
    • Trafficking of substances between "independent" space stations. Each can have a market price depending on availability at that station. You may get those weapons of mass destruction after all, at such a station. Docking at another station may reveal the contraband and costs you reputation.

Case Sensitive Typo in cpuShip.h

On line 4 of src/cpuShip.h
#include "spaceShip.h"
should be
#include "spaceship.h"
as spaceShip.h doesn't exist, but spaceship.h does.
This causes a compilation error due to the "missing file" on my Linux systems.
This should only be an issue on Linux & OSX. Windows file system is case insensitive and will compile fine.

Latest Android client not connecting to Server

Downloaded the latest versions of Empty Epsilon on both Win32 (Version 20151116) and Android (Version 20151113); Installed both and tested that the Win32 Server is able to connect to other Win32 Clients on the same network.

Android version does not appear to auto-discover the server, nor does it allow me to manually put in an IP address when the text field is pressed.

The first issue might simply be due to version mismatch; Note that the filename for the android apk is EmptyEpsilon-2015.11.16-android.apk, but the version number is the same as EmptyEpsilon-2015.11.13-android.apk.

Science has no map data on station change

When running multiple stations on 1 computer, science has no map data on station change. The area must be rescanned each time the station is changed back to science. The already scanned data should still be there when switching to another station and back again.

possible bug, hit by invisible ships

While playing with the physical consoles we kept getting hit by beam weapons by a ship that wasn't even visible on radar. Also things appeared to be in different places on different stations. The lack of laptop resulted in my macbook running the latest build (20150227) for windows through wine. This laptop was the server. The other laptops had not been manually updated since Thursday. Another windows laptop ran the main screen and it showed no objects, only nebulae. Even though a ship was right in front of us on the radar.

Do you think its related to the different versions running? Can/should I upgrade the Linux systems manually, or would a bug be there on more stations in that case?

Sensor fingerprints for space objects

This is an idea from playing too much Allegiance and UFO Afterlight, and from working with real radar&lidar systems.

The sensors system is quite naïve: a spaceObject is either seen or not seen, and "sensors" is just one monolithic system. In real life, targets are acquired by aggregating input from several sensor systems: radar, lidar, AIS, FoF, cameras, and what-have-you.

Also, some objects (e.g. planets, stations) are more difficult to detect than others (fighter ships). This is the sensor fingerprint.

I don't want to reinvent the Science UI but rather set foundations for this.

So every space object should have several attributes:

  • Mass, measured in tons. Massive objects will show up in gravimetric sensors (and, yes, gravimetry is a real thing https://en.wikipedia.org/wiki/Gravimetry ).
  • Reflectivity, measured in percent. AKA "if I throw some radiation at the thing, how much will I get back?". Rough surfaces (planets) have high reflectivity, and stealth ships have low reflectivity. Active sensors (such as radar) operate under this concept.
  • Radiance, measured in watts. AKA "how much energy is the thing passively emitting away". Shielded spaceships should have low radiance. Things like warping and firing beams would momentarily increase radiance. Passive sensors (such as video cameras) operate under this concept.
  • Psi, AKA "intelligent lifeforms", measured in sapiens (1 sapien = the brain of a standard homo sapiens). Futuristic alien sensors might be able to detect Psi, because UFO Afterlife had "Psi Vision" http://www.ufo-afterlight.com/images/scr_10.jpg . And maybe some aliens are attracted/repelled by Psi.

If we want to go crazy, radiance and reflectivity can be split into several parts of the EM spectrum: microwave, visible and x-ray.

I just want my science officer to yell "Contacts in the gravimetric sensor, activating microwave emitters!" :-)

Work on new features for EE

The coming weeks I'll have time to do some work on the game.

A lot will be focussed on things we´ll need for our LARP (See http://sevcol.nl/ for more info.)
Maybe you're already working on something like it, or maybe the stuff I'm gonna make could be of use anyhow :)

Some things I wanted to work on:

  • Joystick support for Helms and Weapons
  • Ability to heal/damage hull and subsystems through scripting and GM-console
  • Ability to control what happens when a ships health/energy drops to 0
  • Jumpgates (Devices which pull in a ship like a black hole, and teleport it to a set coordinate)
  • REST-client (We're building a lot of hardware which can mostly be controlled using HTTP-requests. A threaded thingy, maybe using the new hardware-API)

Issue compiling - error on resources.cpp from SeriousProton

I discovered this Repo a couple of days ago while searching for Starship Bridge Sims on GitHub to post on my forums and came across the game.
I checked out the code from here and the SeriousProton repo and tried to compile it but I'm getting the error below. I'm not a C++ programmer, and either my Googlefu is weak on this, I'm doing something wrong, or I'm just running into a odd error. I'm not sure if this is the best place to report it or on the SeriousProton repo.

Here's the Output from CodeBlocks:
/home/user/emptyepsilon/SeriousProton/src/resources.cpp|63|error: conversion from 'sf::Int64 {aka long long int}' to non-scalar type 'fpos_t {aka _G_fpos_t}' requested|

System Information
Debian 7 (x86 32bit)
GCC 4.7.2-5 (from APT repository)
Code::Blocks 10.05 (from APT repository)
[Also getting the same message on a Ubuntu 13.10 x86 32bit system]

in the same parent directory as SeriousProton & EmptyEpsilon
SFML-2.1 (cloned from GitHub)

Crash on Science Screen

I had some issues with EE crashing on the science screen on Windows 7 64bit using the latest commit (80e1454). It happened after the first sweep of the sensors. Once it was complete and it went to go back around it crashed. This happened twice using the release exe file. I tried again using the debug and it did not crash.
I'll try to test it out again tomorrow on another machine to see if I can replicate it.

Missing mouseCalibrator.h

A couple of commits ago my builds stopped compiling. I don't see mouseCalibrator.h in EmptyEpsilon, SeriousProton, or SFML.
Commit 25b0680 is where the file was added to main.cpp

mingw32-g++.exe -Wall -g -DDEBUG -I..\SFML-2.1\include -I..\SeriousProton\src -I..\..\SFML-2.1\include -c C:\Users\tbates\code\emptyepsilon\EmptyEpsilon\src\main.cpp -o .obj\Debug\EmptyEpsilon\src\main.o C:\Users\tbates\code\emptyepsilon\EmptyEpsilon\src\main.cpp:4:29: fatal error: mouseCalibrator.h: No such file or directory

Script: Using getHull() on stations returns nil

Working on a scenario where I wanted to trigger a message when a station's Hull is below a certain threshold.

--Orion 5 should tell you about the escaped scientist before being destroyed.
if Orion_5_stn:getHull() < 15 then
    print ("Orion 5 distruction is immedient. Hull at Orion_5_stn:getHull().)
end

Console prints this error message when function is called:

[ERROR] LUA: update: [string "scenario1.lua"]:390: attempt to call a nil value (method 'getHull')

Blank screen on Single Pilot

After clicking ready on Single Pilot when creating a server, the screen is blank.

Does it both on Current Git compiled on Linux was well as downloaded version EmptyEpsilon-2015.07.18-win32,

Unable to compile due to "isConnecting"

Commit 5798ab3

Output of make:

[ 10%] Building CXX object CMakeFiles/EmptyEpsilon.dir/src/menus/mainMenus.cpp.obj
/home/user/code/EmptyEpsilon/src/menus/mainMenus.cpp: In member function 'virtual void JoinServerScreen::update(float)':
/home/user/code/EmptyEpsilon/src/menus/mainMenus.cpp:174:22: error: 'class GameClient' has no member named 'isConnecting'
     if (game_client->isConnecting())
                      ^
/home/user/code/EmptyEpsilon/src/menus/mainMenus.cpp: In member function 'virtual void AutoConnectScreen::update(float)':
/home/user/code/EmptyEpsilon/src/menus/mainMenus.cpp:234:26: error: 'class GameClient' has no member named 'isConnecting'
         if (game_client->isConnecting())
                          ^
CMakeFiles/EmptyEpsilon.dir/build.make:583: recipe for target 'CMakeFiles/EmptyEpsilon.dir/src/menus/mainMenus.cpp.obj' failed
make[2]: *** [CMakeFiles/EmptyEpsilon.dir/src/menus/mainMenus.cpp.obj] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/EmptyEpsilon.dir/all' failed
make[1]: *** [CMakeFiles/EmptyEpsilon.dir/all] Error 2
Makefile:137: recipe for target 'all' failed

Joystick interface for fighter pilots

I've played a bit with SFML and joysticks and I can easily implement a Logitech RumblePad 2. If one or more fighter ships are added I want them to be able to be controlled by the Rumblepad (or equivalent).

Daid mentioned a concern about joystick input feeling "off" because the server is the master of the game state, not a fighter (usually a client). For low latency control that feels right, we could decide to let the server accept the joystick input as it can handle several Rumblepads through a USB Hub.

Also, the Rumblepad can vibrate on impact (e.g. inbound missiles, collisions or beams), although that might be a bit harder to implement as I'm using the standard SFML joystick agnostic implementation to avoid adding more code than needed.

Unable to connect to server

I am not able to connect to a server on the same PC or on another PC. I can see the server in the server list, but it just sits at "Connecting..."

I've compiled EE under Debian Linux using CMake for Win32 and Linux as well as under Windows 7 using CodeBlocks for Win32 with the same results. I was able to get it to build using the new Crash Logger.

When running the build under Linux for Win32, I've seen errors about not being able to bind to port 35667. Not sure if this is related.

Turning models

Hey Guys, I am importing my own models and it seems like I can't turn my own models around. I can set them on the X,y,z, axis and adjust the scale. But I cannot turn the models around. I have to use an suboptimal external program to turn the ships in the right position. Can you implement this (or am I missing something)?

Ship in need of service

The incredible engineers cannot fix everything out in outskirts of space without service parts and supplies like warp drive coolant, specific parts (at first) and the 3D printing alloy filaments to manufacture those badly needed parts and tools.

An onboard Ultimaker (to be acquired for reputation) could manufacture repair parts and tools while consuming some energy and filaments.

Opening Communications loop

We encountered a problem during Opening Communication with a station. The Open Communications progress bar repetitively went to 100% then went back to zero and started again.

We disconnected the client from the server and the repetition continued. This was also displayed on another computer when we went back and selected Operations.

Tested on a 4/3 bridge with Operations on 2015.10.23 release. Saw issue during Basic scenario.

Might be a good idea to have a cancel button to stop the Opening Comms connection in-case it was mis-clicked.

Translation

Hi,

I did not see anything about translation of your game, so i ask this here. Would you except a multi-language support ?

If yes, and if such a "language" file exist, I think you could ask some help to the community. I know that some Artemis player have propose to help, but the Artemis creator don't want to.

I'm french, and i am ok to try to translate.

Regards,
Thomas

Actually compiling the source code

Hey,
We are very interested in your code/game and I am trying to compile the code. However, I have some problems actually getting the *.exe to work. Could you assist me?

I downloaded codeblocks (With minggw) and SFML 2-2: GCC 4.9.2 MinGW (DW2) - 32-bit.
I also downloaded the latest version of empty epsilon and serious proton and to my knowledge I assigned the linker and compilers settings in codeblocks correctly. (as described in the tutorial)
All 3 maps are in one (main) map.

Compiling gives no error, however, when starting up the empty epsilon.exe I get library errors. When I put those libraries in the *.exe-map it understands, however I get a procedure entry point error (or something).

Could you please assist me :)

[Feature Request] Get speeds of player ships for LUA scripts

Allow LUA scripts to be able to access Impulse and Warp Speeds of player ships.
This way the scripts can tell if you are moving and how fast.

Example 1: if you are going at impulse through a particular nebula (but not stopped or at warp), gain energy quicker (or take hull/shield damage).
Example 2: if the script sees that the player ship isn't moving for X amount of minutes/seconds, spawn an enemy ship not too far away (in the same sector) to attack.

Would be nice if the these speeds are accessible through the web server as well.

Collision detection is off for really large ships

When I add a really large ship to the game (for example a Battlestation) and let AI-ships attack it, the AI-ships jump back and forth very fast when they are close to the Battlestation.
And it might by by design, but a Battleship cannot use its beams when its target is too close.

distortion configurable in options.ini

I have two suggestions to make:

  • optional distortion. We could make enabling the "distortion" filters of a Warp a per laptop configurable setting. This is because some laptops have trouble with the warp effect. O.t.o.h. detection of the capability would be even better than an option to disable it.
  • Static upon damage. Also, we could introduce the static that happens when a ship is destroyed but at extremely short intervals when there is damage. System instability due to hull damage will make it more difficult to make the right decisions and execute them, which is not just realistic, but also adds to the feeling of being vulnerable in outer space.

Ability to add physical interactions

My plan is to add a signal light, smoke generator and stroboscope to an Arduino which has a shield with relays. The physical devices should augment the game with effects that are being synchronised with what happens in the game. E.g. shields go up, alarm light goes off.

It runs this really basic sketch that I can build and upload with inotool.org. I can use inotool serial and press captial A to turn on relay 1, and lowercase a to turn it off. B, C and D are relay 2, 3 and 4 respectively.

// By [email protected]


int Relay1 = 7;    // Digital Arduino Pin
int Relay2 = 6;    // Digital Arduino Pin
int Relay3 = 5;    // Digital Arduino Pin
int Relay4 = 4;    // Digital Arduino Pin

int incomingByte = 0;   // for incoming serial data

// the setup routine runs once when you press reset:
void setup()  {
  // declare pin 5 to be an output:
  pinMode(Relay1, OUTPUT);
  pinMode(Relay2, OUTPUT);
  pinMode(Relay3, OUTPUT);
  pinMode(Relay4, OUTPUT);

  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop()  {

        // send data only when you receive data:
        if (Serial.available() > 0) {
                // read the incoming byte:
                incomingByte = Serial.read();

                // say what you got:
                Serial.print("I received: ");
                Serial.println(incomingByte, DEC);

                switch(incomingByte) {
                  case 48://0
                  digitalWrite(Relay1,LOW);
                  digitalWrite(Relay2,LOW);
                  digitalWrite(Relay3,LOW);
                  digitalWrite(Relay4,LOW);
                  break;
                  case 65:// "A"
                  digitalWrite(Relay1,HIGH);
                  break;
                  case 66:// "B"
                  digitalWrite(Relay2,HIGH);
                  break;
                  case 67:// "C"
                  digitalWrite(Relay3,HIGH);
                  break;
                  case 68:// "D"
                  digitalWrite(Relay4,HIGH);
                  break;
                  case 97:// "a"
                  digitalWrite(Relay1,LOW);
                  break;
                  case 98:// "b"
                  digitalWrite(Relay2,LOW);
                  break;
                  case 99:// "c"
                  digitalWrite(Relay3,LOW);
                  break;
                  case 100:// "d"
                  digitalWrite(Relay4,LOW);
                  break;
                  case 33:// "!" = demo
                  demo();
                  demo();
                  demo();
                  demo();
                  break;
                }
        }

}

void demo () {
  digitalWrite(Relay1,HIGH);// NO3 and COM3 Connected (the motor is running)
  delay(1000); // wait 1000 milliseconds (1 second)
  digitalWrite(Relay2,HIGH);// NO3 and COM3 Connected (the motor is running)
  delay(1000); // wait 1000 milliseconds (1 second)
  digitalWrite(Relay3,HIGH);// NO3 and COM3 Connected (the motor is running)
  delay(1000); // wait 1000 milliseconds (1 second)
  digitalWrite(Relay4,HIGH);// NO3 and COM3 Connected (the motor is running)
  delay(1000); // wait 1000 milliseconds (1 second)
  digitalWrite(Relay1,LOW);
  digitalWrite(Relay2,LOW);
  digitalWrite(Relay3,LOW);
  digitalWrite(Relay4,LOW);
  delay(1000); // wait 1000 milliseconds (1 second)

}

I need some way of knowing what happens in the game. Either a "minimal" client that uses no GUI, or a lua binding that can send serial commands. E.g. https://github.com/edartuz/lua-serial

Another way is that a client writes to a log file which I can tail and feed to my (independent) script. E.g. lines like: spaceShip:shieldUp would turn on the strobe. spaceShip:hullDamage=xx% would create smoke and an occasional flash.

OS X 3D graphics problem

I can now run EE fine on OS X 10.10. But when 3D content is loaded it will look "strange" to say the least. The 2D UI elements will be filled with white pixels, this behavior starts as soon as anything 3D has loaded.

screen shot 2015-03-09 at 21 50 19

Possibly related is this shader error:
billboardShader.loadFromStream(**vertexStream, **fragmentStream);

Only when commenting out the following line it stops showing the error ERROR: 0:8: 'f' : syntax error: syntax error.
Line 8 is this one:
gl_Position = gl_ProjectionMatrix * ((gl_ModelViewMatrix * gl_Vertex) + vec4((gl_TexCoord[0].x - 0.5f) * gl_Color.a, (gl_TexCoord[0].y - 0.5f) * gl_Color.a, 0.0f, 0.0f));

I don't see what's wrong with the shader, though. Let me know if you want me to try something. This is with the current HEAD of EE and SP.

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.