Colonization

For what's not in 'Top Priority Game Design'. Post your ideas, visions, suggestions for the game, rules, modifications, etc.

Moderator: Oberlus

Post Reply
Message
Author
User avatar
Adamant
Space Kraken
Posts: 101
Joined: Mon Jan 06, 2014 3:33 pm

Colonization

#1 Post by Adamant »

eleazar wrote:Some complaining about colonization in another thread (forget which) got me thinking.

Colonizing is somewhat of a pain, especially when you have a decent sized empire with several species. It is easy to miss a step:

1) Identify planet for colonization
1.5) Possibly build shipyards or wait for population to grow, so ship can be built
2) Enqueue ship of correct species
3) Wait
4) Notice that ship is completed, Send to planet
5) Wait
6) Notice that ship has arrived, colonize

...
May I abstract the Issue, claim to do normally all differently, and therefore cobtradict generally each specific Solutuion inclusive that above and ask for generic Support resp think your Idea concerns to Meaning for Players to codify Knowledge in Way of Procedures to handle easier frequently upcoming Tasks like here the Colonization?

I wont reduce Scope more than necessary and dont matter if Players would do all manually or write single Script, launch it resp press Button and monitor Display how they win Match while other try Hybrid of both Approaches. You may limitize that Approach for this and that but I wont add more than these 2 Cents to keep that Limits more distant while I can help to move that Limits more distant - but I wont argue for more than already done. For this Proposal did not said anything about Meanings for Player like visual Development Gear to construct Case-Handles or Loops etc with the Mouse or conventional via Editor - so dont tell me PlainTextEditor is not alright or Visual/symblic FO Object-Editor is challenging - I did just generalize Scope of your Idea and explained its generic Solution which gives Player most Opportunities to handle the Game with custom Code without cheating that Way as this should not offer other Meanings thna that used by Client and Server should know what is Cheat and what is Utilization.

For Colonization I do different Things according to Contraints from Situation and Location and Use, eg BridgeHead, Wall, Sci or Production. You could do that perhps with 4 diff Procedures but finally it solves a Matter in a Way a Player would perhaps prefer different. So I ask for Support of other Strategies than your which means not my personal alone. Custom Scripting could do it. Need IF,WHILE,CLASS,METH,ARITHMETIC and Comparision, any basic DataComplexType resp DataStructure like Array, List, Set, LinkedList, DoubleLinkedList TripleLinkedList (ListSkeleton) etc etc or BTree or or or.. anything which can contain more than one Item, Variables of Course resp Field in OOP Terminology while Method is Ability and Things can roll on. That shall say; it is not that difficult like it seems like. :) If you look for Minimalism consider Turing here, what means Minimum is really minimal while Idea for Comfort may be different, most Comfort gives OOP, which means Functions with limited Scope by Class or Object, what means technically that you can name different Methods from different Classes same and the more tricky Point is to make it looking good for the Game as Players wont feel for attracted when can write Programms inside Game. What you explains is Kind of virtual Programming with a Gear that is not Turing complete even if it does that it is intended for really comfortable.

Important KeyWords in that Scope: Declaration and Definition and Call/Access, Class, Object, Method and Property/Atrbiute, CaseHandle alias IF and Loop via WHILE and FOR, Operators for Arithmetic and Boolean Logic,
any primitive or advanced Complex for Data like Array (hello, C) or LinkedList (hello, LISP) -- List or Array does not explains something about Syntax but DataStructure and necessary InterFace, Calculate directly Item or hungle along ItemChain resp rebuild/rejoin DataStructure for Modifcations like Insert or Remove. List is fine for local sequential Modification (insert/remove) and Array fine for Random global Access (array[a*b+c]) - it concerns from PayLoad and ProgrammingStyle what you prefer the more - when you add BTree you can even build Structures resp structurized Data with, eg List like Thing with Folder for Star and Planets as Files etc. Consider C Meaning struct for but dynamical. BTree merges the List-Branch and the Array-Branch which else appear incompatible.
Pure Cyan harms PhotoReceptors doubtless - even half Portion appears mysterious.

User avatar
Bigjoe5
Designer and Programmer
Posts: 2058
Joined: Tue Aug 14, 2007 6:33 pm
Location: Orion

Re: Colonization

#2 Post by Bigjoe5 »

If you're suggesting that we include in-game scripting for common player actions to reduce micromanagement, that's definitely not going to happen. We want this game to be accessible to an audience that isn't necessarily familiar with programming - even basic constructs like 'for' and 'while' loops. Instead, our goal is to reduce micromanagement by modifying game mechanics to allow players to define their strategy in as few clicks as possible, while still forcing them to make interesting decisions.
Warning: Antarans in dimensional portal are closer than they appear.

User avatar
riidom
Space Krill
Posts: 5
Joined: Fri Dec 06, 2013 10:56 am

Re: Colonization

#3 Post by riidom »

Alternative idea:

The planet-suitability menu (what you get when rightclicking a planet) could be replaced by the following:

Code: Select all

Colonize with species "A" (estimated target population, like in former menu)
  - from planet "P1"
    - shipdesign D1 (ship speed, or guessed travel time in turns)
    - shipdesign D2 (^)
  - ...
Colonize with species "B":
...
------------
Species in Empire capable for Colonization, but missing ship production capabilities:
  - Species "C" (target population like above)
    - List of planets
  ...
------------
Species in Empire not able to colonize:
  - Species "D" (red, negative target population, like in former menu)
Picking one of those of the first section would place a colony ship in production queue (with proper design/producing planet).

It should have the name of the destination planet either in the ship/fleet name, or gets autorouted to there (but for this, there must be first made sure that the route wont cross monsters/enemy empires).

Picking one of the middle section, would switch focus to that planet. Also the headline here can be shortened, I went verbose to make the intent clear in the example.

Then, if a colony ship is orbiting a planet it could colonize, there should be a message in SitRep, except it is the planet where it got built.

There is another problem, when you cannot send a colony ship directly to the destination planet (because of monsters), and send it first to a place from where the autorouting to target wont cause problems. It is easy to forget a ship in that place as well. A warning for a colony ship just waiting anywhere could be annoying though, since sometimes you want them to wait.
Suggestion: Depending on the stance, it creates a message in SitRep each round, when doing nothing. Aggressive would mean "wants to travel, warn player if idling", passive means "can idle, dont message in SitRep when doing so, player needs to make sure to not forget".

User avatar
Adamant
Space Kraken
Posts: 101
Joined: Mon Jan 06, 2014 3:33 pm

uRe: Colonization

#4 Post by Adamant »

Bigjoe5 wrote:If you're suggesting that we include in-game scripting for common player actions to reduce micromanagement, that's definitely not going to happen. We want this game to be accessible to an audience that isn't necessarily familiar with programming - even basic constructs like 'for' and 'while' loops. Instead, our goal is to reduce micromanagement by modifying game mechanics to allow players to define their strategy in as few clicks as possible, while still forcing them to make interesting decisions.
FYI: The PRoduction-Queue is Kind of Programming to specify which PayLoad in what Quantities for how many Iterations shall get performed and Kind of Algo utlizes available Resources (Production Points) for that Matter.

I did clearly explain that I dont address Implementation&Meanings for GUI and even did REALLY CLEARLY to Point that I consider Code-Scripting inside Game is for the very most Players definitively disattractive. What does your Post factor in of that?

*edit* Perhaps you got somewhat confused due to Use of OOP Terms but it does not matter if you take a literal Symbol for something like Foo foo or instead any graphical Meanings for according Entities eg Icons Arrows and Lines to present same graphical. You may call them different but any Logical Technology have to sit behind.

The Example with ProductionQueue takes Kind of Stream as you FILO in Items and can per Item specify Quantity and Iteration and limited to ShipDesigns resp ResearchItems as Classes resp Type for Stream's Content (Queue is a Stream) which makes its anyway deesigned Processor totally non-universal as there missses complementary Meanings. With Stack and Way of use Items just as Variables (eg Kind of Integer with Icon) and OPs like INC/DEC and any IF-Condition like if (a<b) or ==, !=, =>,... Comperators (Scope Arithmetic) or Combinators (analog Scope Booean) and suited Kind of that Way conditionized PayLoad like ... move Item down into Queue or alternative drop/new it you could build Turing-like Codes resp visual Items which steer Production and Research -- I did not say that it comfortable but say it CAN do it. I did still not address any visual Meanings GUI resp CTRL or VIEW but listed for MODEL most important Terms from OOP as as most advanced known Programming-Paradigma -- you can do the Assembler Final-State-Approach if you prefer alternatively or invent another Paradigm but something have to run under the Hood and I listed Gears from OOP without Explanation how to implement them.

Brief Point: OOP-Term: Class, Object, ...
Pure Cyan harms PhotoReceptors doubtless - even half Portion appears mysterious.

User avatar
Adamant
Space Kraken
Posts: 101
Joined: Mon Jan 06, 2014 3:33 pm

Re: Colonization

#5 Post by Adamant »

riidom wrote:Alternative idea:
I think its Python Code resp remind Python is selected Interpreter
for HighLevel-Actions inside GameScope with turing-complete LowLevel-Gear
to do it in arbitrary Ways.

I am not sure how that concerns to my Post which got Thread now but using
that Interpreter is of course simplest Way to get any Code-Engine under the
Hood to map User-Inputs to logical Objects at Interpreter-Code-Level.

I dont know that Language resp its Features anyway but heard it is liked due
to small Efforts result quickly in something working while Performance is just
moderate.

I would solve your alternative Aim with Code that checks Ships Abilties for
Methods which contain Type Planet inside their FormalParameter which req
Kind of Reflection API like in Java to filter for Methods foo(Bar bar, Planet planet,...)
while Planet itself could add there Abilities eg like Scanning Site to do ping
into Space to reveal Stealth Objects.

Brief Point: utlize or implement for that Kind of Reflection and add Code that
seek for Methods which can do something with Planet resp Method of Planet
which offer any Service.

After reread your Post I got Idea you dont talk about Model Stuff but discuss
an alternate Colonization Strategy resp its Codification ...

welcome in my new other same Thread.
Pure Cyan harms PhotoReceptors doubtless - even half Portion appears mysterious.

User avatar
Adamant
Space Kraken
Posts: 101
Joined: Mon Jan 06, 2014 3:33 pm

Re: Colonization

#6 Post by Adamant »

I dont talk about what Strategy but how custom Strategy.
I said all necessary about Matter at HighLevelScope (and pointed
to OOP) and wont care about if somebody have doubts that can
work or think to use/invent another Programming Paradigma than
OOP or another Language etc. Now my Post is insulated from
Context I add that Informations dealing with specific Strategies.

Forum Users may continue to write any no - we should do it better that Way Strategy
while I explained we have different Ideas how it should work and explained how to solve
it in a Way all Strategists could feel fine with and did definitively not advice to use PlainText
Editor to define these Strategies but noted that that is both most simple and most repulsive
we could do.

(I am not sure if that next applied Level of Emphasis stress the Point sufficient clear but I did really do my best ..)
Consider the Queues for Production and Research as BETTER Approaches than WRITING Lines like:

Code: Select all

// Scope:  Colonization Intelligence Authority .. need another Term here
void colonize (Planet p) {
....
Fleet col3 = NODE("Onion").PLANET(4).PRODUCTION.add(colonizer_type3, 5, 1); // 5 Ships at Pos 1
  Action action1 = new Action (fleet,Action.moveto,planet);
  Action action2 = new Action (fleet,Action.colonize,planet);
  ActionHandler.add(col3, Event.new, action1);
  ActionHandler.add(col3, Event.arrive, planet, action2);
}
.. but any graphical Meanings to do that via Mouse-Clicks exclusively (dont expect One-Click-Strategy-Design
even with perfect Meanings to express same like written above .. or you habe Kind of good Lib to combine
prebuild CodeBlocks for that Task) and Player just press colonize-that-Button and wonder how long that
may takes.

How about Action Queue per Ship resp Fleet?
Enter Object Ship, add the Move andadd the Act for colonize which Planet there and
the Ship wont fly there before get produced.

So we dont talk about programming=pre-scripting but PlanningMode for Ships...
Last edited by Adamant on Sat Jan 25, 2014 8:33 pm, edited 2 times in total.
Pure Cyan harms PhotoReceptors doubtless - even half Portion appears mysterious.

User avatar
Adamant
Space Kraken
Posts: 101
Joined: Mon Jan 06, 2014 3:33 pm

Re: Colonization

#7 Post by Adamant »

Btw if Button-Click on Colonize-Button provided by any SpaceCraft eg Scout can search for closes Colonizer and offer these and alternative instruct same Way Production on closest Planet to produce a Colonizer and add same Instructions onto that ordered Ship's Instruction-Queue.

The really important Point is that this all concerns to AI per Ship resp Planet while offer Opportunities for Player-AI.
Pure Cyan harms PhotoReceptors doubtless - even half Portion appears mysterious.

User avatar
riidom
Space Krill
Posts: 5
Joined: Fri Dec 06, 2013 10:56 am

Re: Colonization

#8 Post by riidom »

Hi adamant, my idea has not much to do with yours, except the general purpose, simplifying the colonisation procedure. I was just responding to the mentioned problems perceived by many people.

If I understand you right, you have concerns, that my approach will be performance heavy? I dont know anything about scripting in FO, not even if everything I proposed is possible with scripting only.
But:
The creation of this menu (including collecting the necessary data to build it) would be done only on-click, so nothing you *have* to process each turn per planet/per species. I think the impact would be ok then.
For the generation of the SitRep messages I mentioned later, this would require looping over all of your own colony ships, what wouldnt be a very big number likely, so I think this shouldnt be a performance problem too.
But finally, an opinion from a coder would be relevant here.

User avatar
Adamant
Space Kraken
Posts: 101
Joined: Mon Jan 06, 2014 3:33 pm

Re: Colonization

#9 Post by Adamant »

riidom wrote: Hi adamant, my idea has not much to do with yours, except the general purpose, simplifying the colonisation procedure. I was just responding to the mentioned problems perceived by many people.

If I understand you right, you have concerns, that my approach will be performance heavy?
Umm... no - no Concerns about Performance .. just think that perhaps each Person would to
that differently and either the Programmer implement it that Way HE think it is the best resp
implement a single Approach while depending from Approach, generic and specific Needs the
Players with final IMPL will consider if they use that Feature or do it manually. EG the Code
for Exploration is very ineffective as it does not factor in simple Things like Consume of Fuel
depending from Distance resp Distance. At least here the Ships use very random resp less
effective Routes - and thus take more Time while dont factor in any Constraints which make
Nodes different valuable. Eg strategic Nodes which hae many Lanes, DeadEnd like, close
Nodes .. I can not use it for anything that but omit moving them manually which is really
useles for first Turns while the latter Turns with clear Frontiers are unsuited as welll, I did
not consider if it is useful in the Middle but do it manually. Players which can not same
fine or worser that Task could find it usefull. So any Strategy could be just reasonable for
them who dont have a better. I did not rate any Strategies before but said stereotypical:
I would make it different (with Aim for better but without any done Thoughts about how).

While playing I factor in many Things I dont know to programm quickly like Distance,
Risks resp Dangers, other Aspects like how much Population the Planets can house as
if remote then it takes about same Time to produce new Geaar like moving there resp
the larger the Distance the more Obstacles can block oor enlarge the Way and I doubt
that any simple Strategy can that factor in same fine like a Human Player EASILY. So
I expect I would satisfied about your Strategies but dont say dont do it that Way but
say consider these Meanings for.
riidom wrote: I dont know anything about scripting in FO, not even if everything I proposed is possible with scripting only.
I dont know - but invite you to learn some Programming to get better Idea about Meanings to solve such
Things numerical resp logical. That does not rate your Posts but points that Ability to Programm can help
to advance your Ideas some more resp make them appear more like Code or PseudoCode which can express
Idea like you did but closer to existing Meanings resp Grammar and Terms resp Syntax and Classes.
riidom wrote: But:
The creation of this menu (including collecting the necessary data to build it) would be done only on-click,
One Click for your Strategy and another for my Strategy - who want another specific Button for his personal
most liked Strategy. I could implement Code for Win-as-quickly-as-can-Button with Logic while other could
then press same Button - what means any fullautomizated Player-Assistance with implemented Strategy to
win the Game could get revealed by a single Click. My Strategyy could take even lesser Buttons resp Clicks
that your but that is not the Point.
riidom wrote: so nothing you *have* to process each turn per planet/per species. I think the impact would be ok then.
For the generation of the SitRep messages I mentioned later, this would require looping over all of your
own colony ships, what wouldnt be a very big number likely, so I think this shouldnt be a performance
problem too. But finally, an opinion from a coder would be relevant here.
I dont concern about Performance or Strategy here but Predefined versus Custom Strategy. What is
Trouble with produce a Colonizer, move to DST and colonize it? Someone want Implementation of
his personal Approach and I said other may want other resp their own Approaches implemented and
said how genergic Meanings could look like to support with more Automatizataion for arbitrary Things
and took ProductionQueue as Example for something that represent graphical Approach to program
the Production which represent not just Kind of something like Programming but Kind of Programming
even with very limited Scope and Abilities.

Consider such a Queue for each single SpaceCraft and a ShipDesign-like List to select customized
Procedures to put a Move-there,Check this, do that Stack onto SpaceCrafts CommandQueue.
Same easy like put a ShipDesign on ProductionQueue - One-Click btw.
Pure Cyan harms PhotoReceptors doubtless - even half Portion appears mysterious.

User avatar
riidom
Space Krill
Posts: 5
Joined: Fri Dec 06, 2013 10:56 am

Re: Colonization

#10 Post by riidom »

But colonization is not one-click. (also please see the difference between "on-click" what means, "only if someone is clicking" vs. "one-click" what means, hmm "just a single click").
You quoted the different steps in your first post, and this is exactly what I am referring to.
One solution might be to just script a manager or assistant for yourself, that will work the way you like it. But FO is not a programming game, and most players (including me) would prefer a ready-scripted solution, that just works. And I was proposing such a solution (without scripting it myself, I admit, because I am just not a fan of python).
But if you dont like my suggestion, you surely can create your own scripts that automate the different steps of colonizing. If it works good, I will probably use it too :)

User avatar
Adamant
Space Kraken
Posts: 101
Joined: Mon Jan 06, 2014 3:33 pm

Re: Colonization

#11 Post by Adamant »

Subject: Colonization
riidom wrote:But colonization is not one-click.
I hope you dont want to explain with that it cant - I did even note Win-now-Single-Click-Button - consider an AI-Exclusive-Game and say that one AI-Player plays for you. What is the Challenge?
riidom wrote: (also please see the difference between "on-click" what means, "only if someone is clicking" vs. "one-click" what means, hmm "just a single click").
if-and-only-if in Context of Button that does not click itself but can get clicked by someone other versus if-somone-click-it-one-time ... I am not sure what I meant - what do you think?

riidom wrote:You quoted the different steps in your first post, and this is exactly what I am referring to.
..... Me ... it is that .. You was right and me was wrong! We may continue ..

riidom wrote:One solution might be to just script a manager or assistant for yourself, that will work the way you like it.


Do you mean something like Script-File-Browser with integrated Viewer/Editor?
riidom wrote:But FO is not a programming game, and most players (including me) would prefer a ready-scripted solution, that just works.
Now let me try another Round to explain you PRO-GRAMMing.
Consider the Term Autogramm -- Auto means self and Gramm means written - his own-write.
Now Word Pro means here something in temporal Context and aims for Cause of specific Sequence - something written causes something intendend. Analog Expressions are to prescribe something resp to tell somebody resp in Context of automatizised DataProcessing -> something to do something. That is Programming. When eg Mom write her Son a ShoppingList and he enter the Shop written on the HeadLine of List and then process Items on the List that Way that it visit Location in Shop where it is placed, take Quantity as defined from List into Cart and when List is complete resp all obtainable Items put into Cart he continue to pay them. Therefore he use his Knowledge to interprete the Shopping-Items as Kind of Instruction: 10L Milk -> search Milk, put 10L into Cart, select next Item on List and continue. Therefore even a ShoppingList represent Kind of Programm while it offers a Lot of Fredom for Interpretation resp Processing as the Buyer can reorder Items as these do normally dont imply Depencies excepted for BBQ without Supply of CharCoal you can drop depending BBW Items from Lists etc. CPUs btw do partially something similar to speed up Operation and reorder Instructions if they are independend to archive higher Performance - any Interpreter could try something similar.

riidom wrote:And I was proposing such a solution (without scripting it myself, I admit, because I am just not a fan of python).
Let me confirm that I am totally aware of that and its that I explained to mean nothing to Matter of my Post which here got a Thread and therefore also TOPIC.


riidom wrote:But if you dont like my suggestion, you surely can create your own scripts that automate the different steps of colonizing.
I did not inspect your Suggestion more than till finding out it is OT as I dont cover here specific Solutions nor even generic but Solution in Way of generic Meanings to create specific Solutions.

Its Way of you say you want to paint your House green and I talk about DIYS-SuperMarket-Design, its Services and Supplies. We are not about same Matter. I dont know what your House looks like but am rather sure I would make it different even I still dont know different to what but that is also OT here.
riidom wrote:If it works good, I will probably use it too :)
perhaps will somebody screw something with Idea to incoporate my Notes and claim that it is and Players may even like it and when I download concerning Release I will perhaps do same like you. :)

I need Space for the Snooker-Table!
Pure Cyan harms PhotoReceptors doubtless - even half Portion appears mysterious.

User avatar
Adamant
Space Kraken
Posts: 101
Joined: Mon Jan 06, 2014 3:33 pm

Re: Colonization

#12 Post by Adamant »

Mod, can you confirm me my first Post is in right Thread? I feel somewhat unsure about yet.
Pure Cyan harms PhotoReceptors doubtless - even half Portion appears mysterious.

User avatar
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: Colonization

#13 Post by Dilvish »

Adamant wrote:Mod, can you confirm me my first Post is in right Thread? I feel somewhat unsure about yet.
Ah, the bittersweet pleasures of Threads -- it's all fun and giggles when you start them, and at first they look so Right & Adorable! But they don't always grow up the way you expect :D
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

User avatar
riidom
Space Krill
Posts: 5
Joined: Fri Dec 06, 2013 10:56 am

Re: Colonization

#14 Post by riidom »

Ok, who cares for content. I understood.
Adamant wrote:I did even note Win-now-Single-Click-Button - consider an AI-Exclusive-Game and say that one AI-Player plays for you. What is the Challenge?
What is the point?
Adamant wrote:if-and-only-if in Context of Button that does not click itself but can get clicked by someone other versus if-somone-click-it-one-time ... I am not sure what I meant - what do you think?
Because it is not about buttons, it is about actions. Actions, that are related to buttons, but there is a difference of emphasis on each of the terms. A thing programming languages arent very good in, what makes me thinking of a freeform textinput allmighty control field. But I will post this in another thread. On-click focuses on the fact that the action wont happen when there is no click. One-Click focuses on the number of clicks. I am also not sure what you meant, but this is what I think.
Adamant wrote:We may continue ..
Insert funny ads here.
Adamant wrote:Do you mean something like Script-File-Browser with integrated Viewer/Editor?
Rather an Editor with integrated Filebrowser. But if you read the whole sentence you will see the rhetorical context of this part.
Adamant wrote:Now let me try another Round to explain you PRO-GRAMMing.
Why?
Adamant wrote:Let me confirm that I am totally aware of that and its that I explained to mean nothing to Matter of my Post which here got a Thread and therefore also TOPIC.
The joys of protocolarism!

Post Reply