Coder Social home page Coder Social logo

brandon-ray / foxhole-facility-planner Goto Github PK

View Code? Open in Web Editor NEW
34.0 8.0 12.0 421.52 MB

Create blueprints for a bunker, facility, and more using this fan-made tool for the video game Foxhole. Formerly known as Foxhole Facility Planner, this tool now features facilities, bunkers, trenches, and more!

Home Page: https://foxholeplanner.com

License: MIT License

JavaScript 92.97% HTML 0.64% CSS 6.39%
foxhole foxhole-game

foxhole-facility-planner's Introduction

Foxhole Building Planner

Foxhole Planner

Create blueprints for a bunker, facility, and more using this fan-made tool for the video game Foxhole. Formerly known as Foxhole Facility Planner, this tool now features facilities, bunkers, trenches, and more!

Access the tool at: https://foxholeplanner.com

Features

  • Blueprint Editor
    • Project Loading & Saving
    • Multi-Selection, Label, Rectangle, Circle, & Line Tool
    • Auto-Saving with History and Undo / Redo Actions
    • Facility, Bunker, and Trench Construction
    • Pipe and Power Line Construction
    • Rail and Road Construction
  • Building Browser
    • Community-Made Presets and Showcase
    • Category, Faction, and Tier Filtering
    • Production Recipes Overview
    • Building Properties with Upgrades and Production Selection
  • Statistics
    • Total Construction Cost
    • Bunker Health, Repair Cost, and Structural Integrity
    • Production Limits & Time Filtering
    • Maintenance Supply Consumption
    • Facility Power and Resource Production Input / Output

Tool Preview

Screenshot

Project Authors / Maintainers

Special Thanks

  • Siege Camp: Allowing us to continue working on this project and featuring us on Foxhole's website. 🧡
  • Romboter: Actively helping our community grow and giving some great early tips about Foxhole's data.
  • [22-ACR] Justin: Exporting images for all the structures from the game. Seriously, amazing work.

Community Appreciation

The future for the planner is incredibly promising. Thank you to everyone who's been giving suggestions, sharing plans, and actively been a part of this journey with us. We've had an overwhelming amount of positive feedback and look forward to our future together. We've loved hearing from everyone. 🧡

Run Locally

Clone the project

  git clone https://github.com/brandon-ray/foxhole-facility-planner

Go to the project directory

  cd foxhole-facility-planner

Install dependencies

  npm install

Start the server

  node app.js

Go to http://localhost:3000/ in your browser

Support & Feedback

If you need help or have any feedback, join our Discord or e-mail us.

Made with ❤️ using Vue.js and PixiJS

foxhole-facility-planner's People

Contributors

aeroeng14 avatar brandon-ray avatar eovius avatar itsmrwaffler avatar jimdcunningham avatar leastwise avatar romboter 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

foxhole-facility-planner's Issues

Load from file.

I can't load from this file.
It was saved less than 12 hr ago.

{"name":"Unnamed Facility","faction":"c","entityIds":50,"entities":[{"id":5,"x":null,"y":null,"z":0,"rotation":null,"type":"building","subtype":"materials_factory_smelter","productionScale":null},{"id":6,"x":null,"y":null,"z":0,"rotation":null,"type":"building","subtype":"light_vehicle_assembly_station","productionScale":null},{"id":47,"x":5152,"y":5280,"z":0,"rotation":3.141592653589793,"type":"building","subtype":"liquid_transfer_station","productionScale":null},{"id":44,"x":4624,"y":5472,"z":0,"rotation":0,"type":"building","subtype":"bms_foreman_stacker","productionScale":null},{"id":45,"x":5104,"y":5008,"z":0,"rotation":0,"type":"building","subtype":"maintenance_tunnel","productionScale":16,"selectedProduction":0},{"id":23,"x":4608,"y":5712,"z":0,"rotation":0,"type":"building","subtype":"resource_transfer_station","productionScale":null},{"id":24,"x":5152,"y":5664,"z":0,"rotation":0,"type":"building","subtype":"material_transfer_station","productionScale":null},{"id":43,"x":4832,"y":5664,"z":0,"rotation":0,"type":"building","subtype":"material_transfer_station","productionScale":null},{"id":21,"x":5408,"y":5648,"z":0,"rotation":6.283185307179586,"type":"building","subtype":"ammunition_factory_large_shell_factory","productionScale":null},{"id":41,"x":5648,"y":5648,"z":0,"rotation":3.141592653589793,"type":"building","subtype":"materials_factory_smelter","productionScale":null},{"id":46,"x":5552,"y":5248,"z":0,"rotation":10.995574287564276,"type":"building","subtype":"metalworks_factory_blast_furnace","productionScale":null},{"id":42,"x":4720,"y":5232,"z":0,"rotation":1.5707963267948966,"type":"building","subtype":"light_vehicle_assembly_station","productionScale":null},{"id":30,"x":4752,"y":4992,"z":0,"rotation":1.5707963267948966,"type":"building","subtype":"coal_refinery","productionScale":null},{"id":48,"x":5248,"y":4848,"z":0,"rotation":-1.5707963267948966,"type":"building","subtype":"power_station","productionScale":null},{"id":36,"x":4608,"y":4752,"z":0,"rotation":3.141592653589793,"type":"building","subtype":"liquid_transfer_station","productionScale":null},{"id":22,"x":null,"y":null,"z":0,"rotation":null,"type":"building","subtype":"metalworks_factory_blast_furnace","productionScale":null},{"id":8,"x":null,"y":null,"z":0,"rotation":null,"type":"building","subtype":"power_station","productionScale":null},{"id":31,"x":5664,"y":4752,"z":0,"rotation":3.141592653589793,"type":"building","subtype":"liquid_transfer_station","productionScale":null},{"id":35,"x":4880,"y":4752,"z":0,"rotation":0,"type":"building","subtype":"diesel_power_plant","productionScale":null},{"id":40,"x":4656,"y":5712,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":37,"x":5616,"y":5712,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":38,"x":5296,"y":5712,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":39,"x":4976,"y":5712,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":17,"x":5616,"y":5392,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":16,"x":5296,"y":5392,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":14,"x":4656,"y":5392,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":15,"x":4976,"y":5392,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":11,"x":5296,"y":5072,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":10,"x":4976,"y":5072,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":12,"x":5616,"y":5072,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":9,"x":4656,"y":5072,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":1,"x":4976,"y":4752,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":3,"x":5616,"y":4752,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":0,"x":4656,"y":4752,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null},{"id":2,"x":5296,"y":4752,"z":0,"rotation":0,"type":"building","subtype":"foundation_2x2","productionScale":null}]}

Layer & Individual Object Visibility

This is somewhat related to the other feature request submitted that I'd certainly be willing to help with. I would like to see both individual object visibility and layer visibility. Primarily so I can include a bunch of text and arrows and organize them into layers and toggle the visibility of those layers much like you'd see in Photoshop or gimp. I can elaborate more or we can consolidate this into one issue if you'd like but I figured I'd ask before doing so. I have a separate fork ready to help if you'd like to make this happen. Thank you.

Petrol Power Plant Upgrade cost is wrong

The website says it costs 50 processed construction materials(tier 2 material) to upgrade a diesel power plant into a petrol power plant. This is incorrect, it costs 100 construction materials(the tier 1 material)

image

Custom Overlays

I would love to see the ability to add layer(s) designated as user overlays. Typically they'd include additional texts, arrows, etc. Stuff that can really clutter up the screen. I will suggest it as another issue/feature suggestion but it's closer related and that's layer visibility. This would allow me to include a bunch of text, arrows, etc., and turn them off/on as desired to export screenshots neatly.

I think it would benefit that rather than simply making this just one layer allow users to create their own custom layer definitions. I've already made my own fork here I can work on it off to the side if this is something you'd like to see. I thought I'd bring it up not only as general courtesy/common sense but also just to check and see that this effort wasn't already underway.

I think it's a great and useful idea to add to what you've done here which I absolutely love by the way. This made it so I can actually tolerate running logi in Foxhole.

I can elaborate more or add some reference images/mockups but I think that's a good start to the idea.

Request Zoom out further

Hello.

I'm trying to build a facility and planning for Tier 2 and Tier 3 buildings. I've noticed that you've made a fixed zoom. Is there a way to improve that edit that?

Thank you in advance for reading this.

Great tool! :D

Selection of placed building/foundations is inconsistent

When trying to move a preplaced building it is quite difficult depending on the building.

Maint. tunnels are almost impossible to move or select once placed.
And for most other buildings it is hard to find the right spot to click to drag them around or modify their properties.

Possible solutions:

  • Use the icon image in the middle as the selector for all buildings
  • Use the colored outline as the selector
  • Both of the above

Foundations have a related issue, when trying to select a building that is on top of foundations it sometimes selects the foundation and that is what gets dragged

Possible solutions:

  • Add a lock position to the left menu when the foundation is selected
  • Don't allow selecting of foundation if a building is on top

Suggestion: Toggleable setting in assembly factories to enable power usage.

For completeness of factory planning, it would be nice if we had a way of seeing the power draw of assembly factories in the stats tab. This could be done by adding an option inside of the popup for each assembly factory building you click on, which could turn on/off the power draw of that building. Would help a lot with planning out very precise power grids and knowing how much power you actually have to work with.

Suggestion: Add filter by tech requirement

When planning for facilities, it would be nice to know which plans would be available in the early/mid/late by being able to filter by the different facility tech tier.

Add Label TOOL

You guys should add a TOOL to LABELING things, that's make be able to us to add LABELS to explain the usage of the things

Input/Output calculations being off due to rounding

I don't know why you came up with "let's round the value of production cycles per time unit down" (even at all), but it's a huge oversight as it just throws off the numbers completely.
Let me put a brief example:
A refinery making petrol from oil will show up as producing/consuming 0 per minute because the production cycle is 150s, and if you try to divide 60 by 150 and round that down, that is simply 0.
Same is for oil wells, where 60 by 50 would be 1.2, but it's rounded down to 1, so it shows as 50 per minute despite actually being 60.
For both the value shows correctly for 1 hour, because 3600 is nicely divided by both 150 and 50 to clean values of 24 and 72 respectively, which do not need any rounding thus calculate correctly.
Instead take a cracking unit, which has a cycle time of 160s, which would be 22.5 cycles per hour, and it calculates only 22 cycles ...
I think you get the issue, the rounding shouldn't be there at all.

let productionTime = Math.floor(this.time / production.time);

Suggestion: Add Pipes

Pipe planning is one of the more important ones that can be very costly if done wrong. It would be a great addition to see pipes in the planner.

Everything seems to cost 2 GS per hour

The ingame descriptions say that Foundations cost 2x more Garrison Supplies while non of the other Facility related structures have that line.

And yet you calculate the same upkeep cost for both Foundations and non-Foundations.

I wish I could also tell you the correct cost but I have no Idea how what 2x more means. It could be 100% increased cost or 200% increased cost depending on how you interpret it.

Power Pole is missing

The Power Pole is an essential structure in every Facility.
They don't need to behave correctly. As in respecting building hitboxes and the correct connection point of buildings.

But the bare minimum is the ability to just place them so that we can better calculate the Garrison Supply cost of our facility.

Maintenance Tunnel min distance between

Something to model is the min distance allowed between maintenance tunnels, maybe with a secondary circle that is a red line denoting the min distance?
Current min distance is 15m from another maintenance tunnel

Add panning

Some method of panning around the facility since it's hard to make it all fit on screen.
Couple ideas on the mechanics of it:

  • Left Click hold empty area to drag the view around
  • Shift left click-hold to drag the view around

Suggestion: Add underclocking to factory buildings

This would allow for more accurate calculation of practical input and output, since it is unlikely for some buildings to be running them at all times. Would also allow more precise calculation of how many buildings are needed.

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.