Code Monkey home page Code Monkey logo

galacticempires's People

Contributors

jhpy1024 avatar zephilinox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

galacticempires's Issues

Camera Zoom Limits

The camera zoom limits are causing issues because of the way sf::View works. you can only increase or decrease the zoom level using floats, so even though we are keeping track of that you can end up zooming in much farther by alternative between zoom in and zoom out. I'm not sure how we could fix this.

Entities

We need entities on the map, such as stars, ships, and planets.

Hexagon Tile Select

Selecting the hexagon tile is buggy, as it approaches an edge it switches to the hexagon along that edge, and then back again once on that hexagon.

Entity GUI Info

We need a GUI window for displaying information about an entity, such as the resources on a planet or the health of a ship.

The current video mode can cause the program to not work on some machines.

Only valid video modes (i.e., video modes with an aspect ratio that match the monitor) work, therefore setting a default video mode in the settings config file will not work on some machines. Instead, we should generate the video settings from the output of getDesktopMode() on the first run of the program.

Create a RNG helper.

Along with functions such as genFloat(), genInt(), etc. this could contain functions like genColor().

ini_parser already defined std::to_string etc.

When ini_parser is included twice, std::to_string is re-defined (mingw32) which is a compiler error. I've disabled the ini loading from GalacticEmpires.cpp in order to use it in OptionsState.cpp

Hexagon Tile GUI Info

We need a GUI window to display information about a selected tile, such as a list of entities occupying it.

Create a prototype GUI with scaling.

We've decided that instead of letting SFGUI automatically set the sizes of widgets, we will manually set this size (based on the resolution the game is running at) so that stuff actually looks good. It's probably a good idea to create a simple prototype to try this out.

Fix ini_parser.

(Seemingly) random characters are being appended to the last line of the file when writing.

Lua initialisation of classes

Many classes will have lua files with data that they need to load. Providing a virtual abstract class to inherit from may be something to consider.

premake and how it finds libs in linux

at the moment premake assumes that the libraries are installed, and can thus be found in the appropriate default locations. This doesn't allow for using the extlibs/linux/ directory.

StateManager

We're going to need some kind of state management, as the previous one was buggy.
Currently there are two dev branches pushed exploring possible options, which will later combine in to one

The current issue is that when a state wants to change (e.g. push a new one or pop itself) it will cause the state manager to call subsequent functions in the game loop (e.g. draw()) of the new state.

Possible solutions are to use a postDraw() function and limit state change code to that, or to have handleEvent and update() return a boolean to determine if it was changed, and if so, to abandon the current game loop.

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.