Git Product home page Git Product logo

artemisengineeringclient's People

Contributors

aldaviva avatar jacobmaxfrank avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

aldaviva

artemisengineeringclient's Issues

Artemis 2.4.0 support

Current development has been against a much older version of Artemis. We should support the latest, 2.4.0, to get all the good stuff that's been added!

As part of this, we will need to upgrade from ArtClientLib to IAN (Interface for Artemis Networking)

Disconnect handling should be clean

If the server drops us, or a proxied client drops, need to handle cleanly, including sending a clean disconnect to the other side if proxying.

If the user quits our client, we need to send a clean disconnect to the server (and the proxied client if proxied).

Future of proxy mode

If we can support all features of the vanilla client, we don't need it. Do we keep it anyways? Do we support it in the meantime?

Support volume control

Parity: master volume

Enhancement: different audio levels for different events e.g. damage, DAMCON comms, beeps and bleeps, etc.

OS-specific font sizing

windows font fail

See font offset sizing being different on Windows (is that hardcoded or one of the ones we measured?). Also see that font with background color behind it looks awful.

Safety Mode

If safety mode is enabled, energy and coolant will be incremented together in increments of coolant units. Increasing beyond amount of available coolant will not work.

An override modifier (such as shift) could permit having energy exceed coolant.

Display "other stats"

The vanilla engineering console displays some stats that are not specific to engineering such as shield levels, etc.

Energy consumption graph

Display historical energy consumption to help engineer monitor what's happening. Over last 5 min perhaps?

Server connect screen

People won't want to launch the client with command line arguments. Need an initial splash screen to collect server info. Also implies allowing connect/disconnect/reconnect without having to relaunch client.

Icon downscaling looks ugly

windows font fail

On Windows, or at least at 1920x1080, the shield bar icons look awful.

Options:
-Do better scaling?
-Create pre-sized icons?
-Other?

Preset title lengths limits

If preset titles are too long, they'll run off the right edge of the screen. We should truncate them once now, and if we get more dynamic layout later, do it dynamically.

Crash when connecting while server is in simulation ended state

Reproduction:
-Host game
-Start game
-End simulation
-Connect client
-End game
-Start game
-Observe stack trace and game over message after timeout

Exception in thread "Thread-10" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at com.walkertribe.ian.iface.ListenerMethod.offer(ListenerMethod.java:106)
    at com.walkertribe.ian.iface.ParseResult.fireListeners(ParseResult.java:84)
    at com.walkertribe.ian.iface.ThreadedArtemisNetworkInterface$ReceiverThread.run(ThreadedArtemisNetworkInterface.java:336)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.walkertribe.ian.iface.ListenerMethod.offer(ListenerMethod.java:100)
    ... 2 more
Caused by: java.lang.NullPointerException
    at com.brindyblitz.artemis.engconsole.RealEngineeringConsoleManager.lambda$14(RealEngineeringConsoleManager.java:309)
    at com.brindyblitz.artemis.utils.newton.DerivedProperty.doUpdate(DerivedProperty.java:22)
    at com.brindyblitz.artemis.utils.newton.DerivedProperty.lambda$0(DerivedProperty.java:15)
    at com.brindyblitz.artemis.utils.EventEmitter.lambda$0(EventEmitter.java:33)
    at com.brindyblitz.artemis.utils.EventEmitter.emit(EventEmitter.java:18)
    at com.brindyblitz.artemis.utils.newton.ObservableAdapter.triggerChange(ObservableAdapter.java:13)
    at com.brindyblitz.artemis.engconsole.RealEngineeringConsoleManager.lambda$20(RealEngineeringConsoleManager.java:59)
    at com.brindyblitz.artemis.utils.EventEmitter.lambda$0(EventEmitter.java:33)
    at com.brindyblitz.artemis.utils.EventEmitter.emit(EventEmitter.java:18)
    at com.brindyblitz.artemis.protocol.EnhancedSystemManager.fireChange(EnhancedSystemManager.java:97)
    at com.brindyblitz.artemis.protocol.EnhancedSystemManager.onPacket(EnhancedSystemManager.java:64)
    ... 6 more
Object update timeout
Switch to GameOver

Window needs custom icon

ImageIcon icon = new ImageIcon("the path to your imageIcon");
frame.setIconImage(icon.getImage());

Damcon team selection label

Let's make reference to which "radio channel" you have selected on your DAMCON comms control panel, e.g. DAMCON Channel or D/C CHAN. That makes much more sense than something like Selected DAMCON Team.

Paint position on Windows

I'm not sure if it's recent changes or just bugs, but the in fake mode, pressing any key causes the UI to redraw all over itself a bunch of different ways.

Also, the font looks atrocious on Windows wherever it's overlaid on top of a colored bar.

See attached:
windows ui

Mouse control

The client is meant to be heavily keyboard oriented but it wouldn't hurt to support the mouse as well.

Add scroll rate customization

The current version is intended for use with a standard mouse scroll wheel. If you use a trackpad that generates scroll events (e.g. two-finger scrolling on Macbooks), the scroll rate is off.

Icon doesn't show up on OSX

See UserInterfaceFrame.java: this.setIconImage(new ImageIcon("assets/art/aec_thumbnail.png").getImage());

Damcon teams do not appear until they start moving

When you first load the UI, it doesn't show any damcon teams. If you damage something, they start moving automatically and then appear out of nowhere.

Need to handle knowing where they are initially.

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.