ekolis / freee Goto Github PK
View Code? Open in Web Editor NEWAn open source clone of the classic 4X game Space Empires IV.
Home Page: http://edkolis.com/freee
An open source clone of the classic 4X game Space Empires IV.
Home Page: http://edkolis.com/freee
I think this is necessary for porting to Xamarin #13 ? .NET Core 3.0 supports Windows Forms on Windows (not on Linux/Mac yet) so we should not have all that much to worry about, hopefully...
Describe the bug
Weapon platform designs get duplicated.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Weapon platform designs are obsolete.
Actual behavior
Weapon platform designs are duplicated.
We already have some music but we could use some more to fill out all the moods/modes...
We need AI scripts, at the very least a generic one for all races to use until they each have their own distinctive personality.
Describe the bug
My library designs are getting corrupted - base space yards with two space yard components, for instance
Describe the bug
Error when selecting a planet.
fmbrawl_14_0001.zip
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A report on the planet appears.
What do you want to see?
What it says on the tin :)
Also, the max chance and chance increase per turn should be moddable.
How would it help players?
Benefit long standing treaties and make research treaties not so all or nothing.
Alternatives
I dunno...
We need a system for intelligence operations, i.e. espionage and sabotage.
Should we reimplement the SE4 system, or do something new?
This includes other stellar objects such as warp points, stars, etc...
like that pattern
but grey instead of yellow
so it really catches your eye
without being super obnoxious
and have the word memory there
so it says "memory from last turn" instead of just "last turn"
As reported by Skyburn on PBW:
They don't seem to actually build anything. You can add stuff to the queue, but it will just dump it out without building anything.
Right now though troops are immobile and can't mount engines, so we would need to give them a default speed (say, 1). This could be a setting in Settings.txt with a default of 1.
This would make ground combats much more watchable, and also make range matter when it comes to troop weapons.
But what if all the defending troops are unarmed and they run away? Then the planet will never be conquered...
These will be generated by scripts. I started on this but the scripts kept crashing.
What do you want to see?
Alternate construction mode toggleable in game setup:
How would it help players?
Nostalgia for SE3 :)
Alternatives
Are there any other ways these benefits could be achieved?
Maybe? :)
Things to consider
A ship that has all its components damaged will be flagged for destruction. We will need to make sure this does not happen (at least for one turn) for newly built ships.
What becomes of construction rates, then? Would they be meaningless, and only repair rates would mean anything?
Seekers need to seek forever if their maximum range is at least 20. This number should be configurable in Settings.txt but default to 20.
We need to create a wiki page for each screen in the game so that the help feature works.
Describe the bug
If you enter a system and leave it, the star always shows up as "current" in its report; it's never listed as a memory.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Star is listed as "Memory from 2 turns ago" or whatever
Actual behavior
Star is listed as "Current"
What do you want to see?
Select a ship, right click a planet, click "colonize" - that sort of thing.
How would it help players?
Make the UI more intuitive.
Alternatives
Right click a ship, click "colonize", click the planet, a la Cosmic Supremacy. This would be more "discoverable" (easier to learn what the commands are) but the menus would get cluttered.
I wonder if we could make the menu style an option? We'd probably want to programmatically populate the menus on the fly so with the right data model we could probably support both styles (right click ship vs. right click target)...
Screenshots and mockups
N/A
Things to consider
How to handle commands that don't take a target, e.g. scrapping a ship?
How to handle when there are multiple potential targets in the same sector?
In SE4, fighters stacked to overcome emissive armor. However in FrEee fighters do not stack, so they will be severely gimped by targets that have emissive armor. We need to fix this somehow...
What do you want to see?
A flag on abilities that says that they stop functioning when out of supplies.
How would it help players?
This could be assigned to shields to start off with, but it could be expanded to other abilities at the whims of a modder - for instance, sensors might stop working when out of supplies.
Alternatives
The flag could go on components instead of abilities maybe?
Notes
Things that have infinite supplies (e.g. bases or planets) would need to have their abilities always work.
See #9 - github doesn't support folders in the wiki so there are some duplicate pages such as Research that need to get split apart.
Xamarin runs on a variety of platforms and it would be cool to have a mobile version of the game! Oddly Xamarin doesn't run on Linux though...
What do you want to see?
The ability to copy messages from the turn log.
How would it help players?
If there is an error, this would make it easier to report.
Describe the bug
The traits tab of the Empire creation screen has just a point value((1000 pts, 2000 pts, etc)) without any description of what you get for said points.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I expect it to say something like:
Brilliant Scientists (1000 pts) +10 science
or something like that.
Actual behavior
It only says:
(1000 pts)
(1000 pts)
(1000 pts)
(1500 pts)
(2000 pts)
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
N/A
What do you want to see?
An option to make the first instance of any new vehicle design (maybe also facilities) cost extra until one is completed. If you build several at once, they all cost extra.
How would it help players?
I dunno, I just know that certain other games (SOTS2?) use this mechanic and I guess it cuts down on compulsive upgrades, making the decision to upgrade your designs a conscious one.
Alternatives
This could be done at the component/mount/hull level instead, if we want. But I think doing it at the design level would be better and more intuitive.
What do you want to see?
Components and facilities should be toggleable. In SE4 there are cloak/decloak commands but this could be expanded to toggle any component or facility.
How would it help players?
Use cases:
Alternatives
Individual toggle commands for each type of component? Toggles at the ability level instead?
Misc notes
There need to be rules defined (AbilityRules.txt?) to determine which abilities are disabled when disabling a component/facility. For instance disabling an engine should slow down your ship but not reduce your supply storage. Also maybe a field on components and facilities to say whether or not they can be toggled?
Like in SE3. Give the battle arena a size big enough for reasonable sized fleets to be spread out outside of weapons range. Ships should be placed in groups based on which direction they moved into the sector from.
If a ship flees outside the battle arena, it retreats to the neighboring sector, consuming one strategic move. Retreat is not allowed if the ship has no strategic moves remaining; the ship will be confined to the arena in that case. Diagonal moves might be kind of tricky to detect.
We might need to adjust the ship movement logic in battle to prevent ships from inadvertently retreating.
You cannot retreat outside the edge of a star system. Perhaps we could allow retreating via warp points. Perhaps we could also prevent retreat into sectors with enemies, but what if they are cloaked?
This could potentially be a mod option which can be toggled in Settings.txt; perhaps also the arena size and distance between fleets could be set there as well.
Instead of the bitbucket wiki
What do you want to see?
If you trade a tech to another player, you should have to pay a penalty in research points to do so, configurable during game setup as a percentage of the cost of the tech.
How would it help players?
Makes tech trading less OP.
Alternatives
Probably some alternatives out there but who knows... cost could be in minerals instead but it makes more sense conceptually that you'd have to divert scientists from actual research to explaining your fancy new phasor beams to the Phong!
Things to consider
What if your cost is greater than your research income? We would need to use negative bonus RP to put the player in debt, and have it carry over if negative between turns.
Freee crashes when I try to load turn 24 in the Freee MegaBrawl game.
What do you want to see?
The ability to give technologies a percentage chance to be researchable for any given player in any given game, same as Sword of the Stars. The presence or absence of a technology should not be revealed until at least one of its prerequisites is visible. For instance, if Phased Energy Weapons requires Physics 3, then you should not be able to see whether or not it is available until you research Physics 2.
How would it help players?
It would reduce the ability to minmax your research because you wouldn't know right away whether your desired tech is available this game.
Alternatives
Dunno...
Screenshots and mockups
https://explorminate.co/sword-of-the-stars-research-tree/ - this article explains how it works in SotS
Things to consider
Need to nail down exactly what conditions would work best for techs with complex prerequisites (e.g. multiple prereqs or formulas). The tech tree browser should probably indicate whether a tech is known to be included, known to be excluded, or unknown status.
For buttons clicking, weapons firing in combat, etc...
In your emp file you should be able to specify a custom homeworld and home system name, e.g. "Earth" and "Sol". If these are not set, the names will be auto-generated as they are now. If two players want the same home system name, then the second one will get a random name instead so systems have unique names. Duplicate planet names are OK.
What do you want to see?
Moddable vehicle types. Similar to SE5's system, but ships and bases should be moddable as well; you could define additional ship/base type things like "gunboats" or "capital ships".
How would it help players?
Modders could have fun with mixing and matching abilities - you could create patrol ships without the ability of warp, and of course warping would need to be an ability so you could make a component that grants that ability. The possibilities are endless...
Alternatives
Not really, just need to define custom vehicle types with their abilities in a text file.
Screenshots and mockups
N/A
Things to consider
Not sure yet...
Only one ship/base/planet allowed per combat square; units can stack.
When spawning ships in combat, place them starting with the largest at the center of a circle and surround it with smaller ships.
When ships move, make sure that they are not moving to an occupied square.
Each AI should have something like a config file, where certain values can be defined to help the game choose whether this is the right AI for a given Empire. This might include the current ministers file to cut down on the various files needed. The other idea to place here is tags for the AI.
A tag would depend on what the empire could be grouped under, with [RANDOM] being used to determine whether or not the empire should be used for the random empire generation, and [MINOR] being used to denote minor empire AIs (to stop the minor empires running all over the galaxy). Others would be used to group AI's into types.
So all agressive empires would be grouped under something like [AGRESSIVE], and selecting this on the Empire creation screen will choose a random AI tagged as such when the game starts.
An AI can have more than one tag, may have none, and can always be chosen in the Empire screen and in an Empire file (actually, might want to restrict the Empire screen to another tag so some AIs will be unique to some predesigned Empires?). This would allow some AIs to be disabled (such as the current python example ai), and only be chosen by predesigned empires, rather than being selected for use by the RandomAI.
Edit: Another field in the config file should be requirements; if the AI is designed to be used only with a Empire with Crystal tech, then it should only be available to be selected by an Empire which has it added.
That is, warp points that are placed in a system like naturally formed ones are, not placed in the sector where they are created.
Describe the bug
If you have a design that you made in the library and you are about to unlock it, it should appear on the research screen as an expected result. This does not happen. For instance, if your design contains anti-proton beams then it might want to appear when you are researching those.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The design appears in research results, and in the log when you actually unlock it.
Actual behavior
The design does not appear in research results or the log.
What do you want to see?
What it says on the tin :)
How would it help players?
More options for modders!
Alternatives
Scripts?
What do you want to see?
Alliances similar to those in SE5, but better. I think Stellaris has a similar feature called "federations"; we might want to check there for inspiration. Also, I wrote about a "senate" feature in my design doc for AFAR which I need to dig out...
How would it help players?
It would enhance the diplomatic side of the game - alliances would be similar to treaties, but manifold in terms of how many empires are in them.
Alternatives
Mutual treaties.
Screenshots and mockups
Nothing just yet...
See wiki or AbilityRules.txt for a comprehensive list of abilities.
What do you want to see?
More customization options for emergency build in Settings.txt:
How would it help players?
The customizable strings would make the UI in Carrier Battles more intuitive.
The customizable number of turns would open up a lot of interesting possibilities such as having 10 turns of 200% rate build for 15 turns of 0% rate or whatever.
Alternatives
The strings could be customized in a different file, such that we would be able to customize all strings used in the game a la SE5's MainStrings.txt
Describe the bug
What it says on the tin :)
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The other empire gets a message saying that you declared war on them.
Actual behavior
The other empire gets a message saying that they declared war on themselves.
Screenshots
https://imgur.com/SEwejY9
Additional context
Add any other context about the problem here.
Describe the bug
The ship abilities tab (check planets, etc. too) doesn't stack abilities properly.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
"Generates 6 standard movement" is displayed for a ship with 6 engines
Actual behavior
It just says "Generates 1 standard movement"
Things that need to be nameable:
This could probably be done by replacing the name label on the various reports with a text box. Though if we want to get fancy and implement private aliases then that could get complicated...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.