60 Second trading binary option indicators template and ...

Subreddit Demographic Survey 2020 : The Results

2020 Childfree Subreddit Survey

1. Introduction

Once a year, this subreddit hosts a survey in order to get to know the community a little bit and in order to answer questions that are frequently asked here. Earlier this summer, several thousand of you participated in the 2020 Subreddit Demographic Survey. Only those participants who meet our wiki definition of being childfree's results were recorded and analysed.
Of these people, multiple areas of your life were reviewed. They are separated as follows:

2. Methodology

Our sample is redditors who saw that we had a survey currently active and were willing to complete the survey. A stickied post was used to advertise the survey to members.

3. Results

The raw data may be found via this link.
7305 people participated in the survey from July 2020 to October 2020. People who did not meet our wiki definition of being childfree were excluded from the survey. The results of 5134 responders, or 70.29% of those surveyed, were collated and analysed below. Percentages are derived from the respondents per question.

General Demographics

Age group

Age group Participants Percentage
18 or younger 309 6.02%
19 to 24 1388 27.05%
25 to 29 1435 27.96%
30 to 34 1089 21.22%
35 to 39 502 9.78%
40 to 44 223 4.35%
45 to 49 81 1.58%
50 to 54 58 1.13%
55 to 59 25 0.49%
60 to 64 13 0.25%
65 to 69 7 0.14%
70 to 74 2 0.04%
82.25% of the sub is under the age of 35.

Gender and Gender Identity

Age group Participants # Percentage
Agender 62 1.21%
Female 3747 73.04%
Male 1148 22.38%
Non-binary 173 3.37%

Sexual Orientation

Sexual Orientation Participants # Percentage
Asexual 379 7.39%
Bisexual 1177 22.93%
Heterosexual 2833 55.20%
Homosexual 264 5.14%
It's fluid 152 2.96%
Other 85 1.66%
Pansexual 242 4.72%

Birth Location

Because the list contains over 120 countries, we'll show the top 20 countries:
Country of birth Participants # Percentage
United States 2775 57.47%
United Kingdom 367 7.60%
Canada 346 7.17%
Australia 173 3.58%
Germany 105 2.17%
Netherlands 67 1.39%
India 63 1.30%
Poland 57 1.18%
France 47 0.97%
New Zealand 42 0.87%
Mexico 40 0.83%
Brazil 40 0.83%
Sweden 38 0.79%
Finland 31 0.64%
South Africa 30 0.62%
Denmark 28 0.58%
China 27 0.56%
Ireland 27 0.56%
Phillipines 24 0.50%
Russia 23 0.48%
90.08% of the participants were born in these countries.
These participants would describe their current city, town or neighborhood as:
Region Participants # Percentage
Rural 705 13.76
Suburban 2661 51.95
Urban 1756 34.28

Ethnicity

Ethnicity Participants # Percentage
African Descent/Black 157 3.07%
American Indian or Alaskan Native 18 0.35%
Arabic/Middle Eastern/Near Eastern 34 0.66%
Bi/Multiracial 300 5.86%
Caucasian/White 3946 77.09%
East Asian 105 2.05%
Hispanic/Latinx 271 5.29%
Indian/South Asian 116 2.27%
Indigenous Australian/Torres Straight IslandeMaori 8 0.16%
Jewish (the ethnicity, not religion) 50 0.98%
Other 32 0.63%
Pacific IslandeMelanesian 4 0.08%
South-East Asian 78 1.52%

Education

Highest Current Level of Education

Highest Current Level of Education Participants # Percentage
Associate's degree 233 4.55%
Bachelor's degree 1846 36.05%
Did not complete elementary school 2 0.04%
Did not complete high school 135 2.64%
Doctorate degree 121 2.36%
Graduated high school / GED 559 10.92%
Master's degree 714 13.95%
Post Doctorate 19 0.37%
Professional degree 107 2.09%
Some college / university 1170 22.85%
Trade / Technical / Vocational training 214 4.18%
Degree (Major) Participants # Percentage
Architecture 23 0.45%
Arts and Humanities 794 15.54%
Business and Economics 422 8.26%
Computer Science 498 9.75%
Education 166 3.25%
Engineering Technology 329 6.44%
I don't have a degree or a major 1028 20.12%
Law 124 2.43%
Life Sciences 295 5.77%
Medicine and Allied Health 352 6.89%
Other 450 8.81%
Physical Sciences 199 3.89%
Social Sciences 430 8.41%

Career and Finances

The top 10 industries our participants are working in are:
Industry Participants # Percentage
Information Technology 317 6.68%
Health Care 311 6.56%
Education - Teaching 209 4.41%
Engineering 203 4.28%
Retail 182 3.84%
Government 172 3.63%
Admin & Clerical 154 3.25%
Restaurant - Food Service 148 3.12%
Customer Service 129 2.72%
Design 127 2.68%
Note that "other", "I'm a student", "currently unemployed" and "I'm out of the work force for health or other reasons" have been disregarded for this part of the evaluation.
Out of the 3729 participants active in the workforce, the majority (1824 or 48.91%) work between 40-50 hours per week with 997 or 26.74% working 30-40 hours weekly. 6.62% work 50 hours or more per week, and 17.73% less than 30 hours.
513 or 10.13% are engaged in managerial responsibilities (ranging from Jr. to Sr. Management).
On a scale of 1 (lowest) to 10 (highest), the overwhelming majority (3340 or 70%) indicated that career plays a very important role in their lives, attributing a score of 7 and higher.
1065 participants decided not to disclose their income brackets. The remaining 4,849 are distributed as follows:
Income Participants # Percentage
$0 to $14,999 851 21.37%
$15,000 to $29,999 644 16.17%
$30,000 to $59,999 1331 33.42%
$60,000 to $89,999 673 16.90%
$90,000 to $119,999 253 6.35%
$120,000 to $149,999 114 2.86%
$150,000 to $179,999 51 1.28%
$180,000 to $209,999 25 0.63%
$210,000 to $239,999 9 0.23%
$240,000 to $269,999 10 0.25%
$270,000 to $299,999 7 0.18%
$300,000 or more 15 0.38%
87.85% earn under $90,000 USD a year.
65.82% of our childfree participants do not have a concrete retirement plan (savings, living will).

Religion and Spirituality

Faith Originally Raised In

There were more than 50 options of faith, so we aimed to show the top 10 most chosen beliefs.
Faith Participants # Percentage
Catholicism 1573 30.76%
None (≠ Atheism. Literally, no notion of spirituality or religion in the upbringing) 958 18.73%
Protestantism 920 17.99%
Other 431 8.43%
Atheism 318 6.22%
Agnosticism 254 4.97%
Anglicanism 186 3.64%
Judaism 77 1.51%
Hinduism 75 1.47%
Islam 71 1.39%
This top 10 amounts to 95.01% of the total participants.

Current Faith

There were more than 50 options of faith, so we aimed to show the top 10 most chosen beliefs:
Faith Participants # Percentage
Atheism 1849 36.23%
None (≠ Atheism. Literally, no notion of spirituality or religion currently) 1344 26.33%
Agnosticism 789 15.46%
Other 204 4.00%
Protestantism 159 3.12%
Paganism 131 2.57%
Spiritualism 101 1.98%
Catholicism 96 1.88%
Satanism 92 1.80%
Wicca 66 1.29%
This top 10 amounts to 94.65% of the participants.

Level of Current Religious Practice

Level Participants # Percentage
Wholly seculanon religious 3733 73.73%
Identify with religion, but don't practice strictly 557 11.00%
Lapsed/not serious/in name only 393 7.76%
Observant at home only 199 3.93%
Observant at home. Church/Temple/Mosque/etc. attendance 125 2.47%
Strictly observant, Church/Temple/Mosque/etc. attendance, religious practice/prayeworship impacting daily life 56 1.11%

Effect of Faith over Childfreedom

Figure 1

Effect of Childfreedom over Faith

Figure 2

Romantic and Sexual Life

Current Dating Situation

Status Participants # Percentage
Divorced 46 0.90%
Engaged 207 4.04%
Long term relationship, living together 1031 20.10%
Long term relationship, not living with together 512 9.98%
Married 1230 23.98%
Other 71 1.38%
Separated 18 0.35%
Short term relationship 107 2.09%
Single and dating around, but not looking for anything serious 213 4.15%
Single and dating around, looking for something serious 365 7.12%
Single and not looking 1324 25.81%
Widowed 5 0.10%

Childfree Partner

Is your partner childfree? If your partner wants children and/or has children of their own and/or are unsure about their position, please consider them "not childfree" for this question.
Partner Participants # Percentage
I don't have a partner 1922 37.56%
I have more than one partner and none are childfree 3 0.06%
I have more than one partner and some are childfree 35 0.68%
I have more than one partner and they are all childfree 50 0.98
No 474 9.26%
Yes 2633 51.46%

Dating a Single Parent

Would the childfree participants be willing to date a single parent?
Answer Participants # Percentage
No, I'm not interested in single parents and their ties to parenting life 4610 90.13%
Yes, but only if it's a short term arrangement of some sort 162 3.17%
Yes, whether for long term or short term, but with some conditions (must not have child custody, no kid talk, etc.), as long as I like them and long as we're compatible 199 3.89%
Yes, whether for long term or short term, with no conditions, as long as I like them and as long as we are compatible 144 2.82%

Childhood and Family Life

On a scale from 1 (very unhappy) to 10 (very happy), how would you rate your childhood?
Figure 3
Of the 5125 childfree people who responded to the question, 67.06% have a pet or are heavily involved in the care of someone else's pet.

Sterilisation

Sterilisation Status

Sterilisation Status Participants # Percentage
No, I am not sterilised and, for medical, practical or other reasons, I do not need to be 869 16.96%
No. However, I've been approved for the procedure and I'm waiting for the date to arrive 86 1.68%
No. I am not sterilised and don't want to be 634 12.37%
No. I want to be sterilised but I have started looking for a doctorequested the procedure 594 11.59%
No. I want to be sterilised but I haven't started looking for a doctorequested the procedure yet 2317 45.21%
Yes. I am sterilised 625 12.20%

Age when starting doctor shopping or addressing issue with doctor. Percentages exclude those who do not want to be sterilised and who have not discussed sterilisation with their doctor.

Age group Participants # Percentage
18 or younger 207 12.62%
19 to 24 588 35.85%
25 to 29 510 31.10%
30 to 34 242 14.76%
35 to 39 77 4.70%
40 to 44 9 0.55%
45 to 49 5 0.30%
50 to 54 1 0.06%
55 or older 1 0.06%

Age at the time of sterilisation. Percentages exclude those who have not and do not want to be sterilised.

Age group Participants # Percentage
18 or younger 5 0.79%
19 to 24 123 19.34%
25 to 29 241 37.89%
30 to 34 168 26.42%
35 to 39 74 11.64%
40 to 44 19 2.99%
45 to 49 1 0.16%
50 to 54 2 0.31%
55 or older 3 0.47%

Elapsed time between requesting procedure and undergoing procedure. Percentages exclude those who have not and do not want to be sterilised.

Time Participants # Percentage
Less than 3 months 330 50.46%
Between 3 and 6 months 111 16.97%
Between 6 and 9 months 33 5.05%
Between 9 and 12 months 20 3.06%
Between 12 and 18 months 22 3.36%
Between 18 and 24 months 15 2.29%
Between 24 and 30 months 6 0.92%
Between 30 and 36 months 2 0.31%
Between 3 and 5 years 40 6.12%
Between 5 and 7 years 25 3.82%
More than 7 years 50 7.65%

How many doctors refused at first, before finding one who would accept?

Doctor # Participants # Percentage
None. The first doctor I asked said yes 604 71.73%
One. The second doctor I asked said yes 93 11.05%
Two. The third doctor I asked said yes 54 6.41%
Three. The fourth doctor I asked said yes 29 3.44%
Four. The fifth doctor I asked said yes 12 1.43%
Five. The sixth doctor I asked said yes 8 0.95%
Six. The seventh doctor I asked said yes 10 1.19%
Seven. The eighth doctor I asked said yes 4 0.48%
Eight. The ninth doctor I asked said yes 2 0.24%
I asked more than 10 doctors before finding one who said yes 26 3.09%

Childfreedom

Primary Reason to Not Have Children

Reason Participants # Percentage
Aversion towards children ("I don't like children") 1455 28.36%
Childhood trauma 135 2.63%
Current state of the world 110 2.14%
Environmental (including overpopulation) 158 3.08%
Eugenics ("I have 'bad genes'") 57 1.11%
Financial 175 3.41%
I already raised somebody else who isn't my child 83 1.62%
Lack of interest towards parenthood ("I don't want to raise children") 2293 44.69%
Maybe interested for parenthood, but not suited for parenthood 48 0.94%
Medical ("I have a condition that makes conceiving/bearing/birthing children difficult, dangerous or lethal") 65 1.27%
Other 68 1.33%
Philosophical / Moral (e.g. antinatalism) 193 3.76%
Tokophobia (aversion/fear of pregnancy and/or chidlbirth) 291 5.67%
95.50% of childfree people are pro-choice, however only 55.93% of childfree people support financial abortion.

Dislike Towards Children

Figure 4

Working With Children

Work Participants # Percentage
I'm a student and my future job/career will heavily makes me interact with children on a daily basis 67 1.30%
I'm retired, but I used to have a job that heavily makes me interact with children on a daily basis 6 0.12%
I'm unemployed, but I used to have a job that heavily makes me interact with children on a daily basis 112 2.19%
No, I do not have a job that makes me heavily interact with children on a daily basis 4493 87.81%
Other 148 2.89%
Yes, I do have a job that heavily makes me interact with children on a daily basis 291 5.69%

4. Discussion

Child Status

This section solely existed to sift the childfree from the fencesitters and the non childfree in order to get answers only from the childfree. Childfree, as it is defined in the subreddit, is "I do not have children nor want to have them in any capacity (biological, adopted, fostered, step- or other) at any point in the future." 70.29% of participants actually identify as childfree, slightly up from the 2019 survey, where 68.5% of participants identified as childfree. This is suprising in reflection of the overall reputation of the subreddit across reddit, where the subreddit is often described as an "echo chamber".

General Demographics

The demographics remain largely consistent with the 2019 survey. However, the 2019 survey collected demographic responses from all participants in the survey, removing those who did not identify as childfree when querying subreddit specific questions, while the 2020 survey only collected responses from people who identified as childfree. This must be considered when comparing results.
82.25% of the participants are under 35, compared with 85% of the subreddit in the 2019 survey. A slight downward trend is noted compared over the last two years suggesting the userbase may be getting older on average. 73.04% of the subreddit identify as female, compared with 71.54% in the 2019 survey. Again, when compared with the 2019 survey, this suggests a slight increase in the number of members who identify as female. This is in contrast to the overall membership of Reddit, estimated at 74% male according to Reddit's Wikipedia page [https://en.wikipedia.org/wiki/Reddit#Users_and_moderators]. The ratio of members who identify as heterosexual remained consistent, from 54.89% in the 2019 survey to 55.20% in the 2020 survey.
Ethnicity wise, 77% of members identified as primarily Caucasian, consistent with the 2019 results. While the ethnicities noted to be missing in the 2019 survey have been included in the 2020 survey, some users noted the difficulty of responding when fitting multiple ethnicities, and this will be addressed in the 2021 survey.

Education level

As it did in the 2019 survey, this section highlights the stereotype of childfree people as being well educated. 2.64% of participants did not complete high school, which is a slight decrease from the 2019 survey, where 4% of participants did not graduate high school. However, 6.02% of participants are under 18, compared with 8.22% in the 2019 survey. 55% of participants have a bachelors degree or higher, while an additional 23% have completed "some college or university".
At the 2020 survey, the highest percentage of responses under the: What is your degree/major? question fell under "I don't have a degree or a major" (20.12%). Arts and Humanities, and Computer Science have overtaken Health Sciences and Engineering as the two most popular majors. However, the list of majors was pared down to general fields of study rather than highly specific degree majors to account for the significant diversity in majors studied by the childfree community, which may account for the different results.

Career and Finances

The highest percentage of participants at 21.61% listed themselves as trained professionals.
One of the stereotypes of the childfree is of wealth. However this is not demonstrated in the survey results. 70.95% of participants earn under $60,000 USD per annum, while 87.85% earn under $90,000 per annum. 21.37% are earning under $15,000 per annum. 1065 participants, or 21.10% chose not to disclose this information. It is possible that this may have skewed the results if a significant proportion of these people were our high income earners, but impossible to explore.
A majority of our participants work between 30 and 50 hours per week (75.65%) which is slightly increased from the 2019 survey, where 71.2% of participants worked between 30 and 50 hours per week.

Location

The location responses are largely similar to the 2019 survey with a majority of participants living in a suburban and urban area. 86.24% of participants in the 2020 survey live in urban and suburban regions, with 86.7% of participants living in urban and suburban regions in the 2019 survey. There is likely a multifactorial reason for this, encompassing the younger, educated skew of participants and the easier access to universities and employment, and the fact that a majority of the population worldwide localises to urban centres. There may be an element of increased progressive social viewpoints and identities in urban regions, however this would need to be explored further from a sociological perspective to draw any definitive conclusions.
A majority of our participants (57.47%) were born in the USA. The United Kingdom (7.6%), Canada (7.17%), Australia (3.58%) and Germany (2.17%) encompass the next 4 most popular responses. This is largely consistent with the responses in the 2019 survey.

Religion and Spirituality

For the 2020 survey Christianity (the most popular result in 2019) was split into it's major denominations, Catholic, Protestant, Anglican, among others. This appears to be a linguistic/location difference that caused a lot of confusion among some participants. However, Catholicism at 30.76% remained the most popular choice for the religion participants were raised in. However, of our participant's current faith, Aetheism at 36.23% was the most popular choice. A majority of 78.02% listed their current religion as Aetheist, no religious or spiritual beliefs, or Agnostic.
A majority of participants (61%) rated religion as "not at all influential" to the childfree choice. This is consistent with the 2019 survey where 62.8% rated religion as "not at all influential". Despite the high percentage of participants who identify as aetheist or agnostic, this does not appear to be related to or have an impact on the childfree choice.

Romantic and Sexual Life

60.19% of our participants are in a relationship at the time of the survey. This is consistent with the 2019 survey, where 60.7% of our participants were in a relationship. A notable proportion of our participants are listed as single and not looking (25.81%) which is consistent with the 2019 survey. Considering the frequent posts seeking dating advice as a childfree person, it is surprising that such a high proportion of the participants are not actively seeking out a relationship. Unsurprisingly 90.13% of our participants would not consider dating someone with children. 84% of participants with partners of some kind have at least one childfree partner. This is consistent with the often irreconcilable element of one party desiring children and the other wishing to abstain from having children.

Childhood and Family Life

Overall, the participants skew towards a happier childhood.

Sterilisation

While just under half of our participants wish to be sterilised, 45.21%, only 12.2% have been successful in achieving sterilisation. This is likely due to overarching resistance from the medical profession however other factors such as the logistical elements of surgery and the cost may also contribute. There is a slight increase from the percentage of participants sterilised in the 2019 survey (11.7%). 29.33% of participants do not wish to be or need to be sterilised suggesting a partial element of satisfaction from temporary birth control methods or non-necessity of contraception due to their current lifestyle practices. Participants who indicated that they do not wish to be sterilised or haven't achieved sterilisation were excluded from the percentages where necessary in this section.
Of the participants who did achieve sterilisation, a majority began the search between 19 and 29, with the highest proportion being in the 19-24 age group (35.85%) This is a marked increase from the 2019 survey where 27.3% of people who started the search were between 19-24. This may be due to increased education about permanent contraception or possibly due to an increase in instability around world events.
The majority of participants who sought out and were successful at achieving sterilisation, were however in the 25-29 age group (37.9%). This is consistent with the 2019 survey results.
The time taken between seeking out sterilisation and achieving it continues to increase, with only 50.46% of participants achieving sterilisation in under 3 months. This is a decline from the number of participants who achieved sterilisation in 3 months in the 2019 survey (58.5%). A potential cause of this decrease is to Covid-19 shutdowns in the medical industry leading to an increase in procedure wait times. The proportion of participants who have had one or more doctors refuse to perform the procedure has stayed consistent between the two surveys.

Childfreedom

The main reasons for people choosing the childfree lifestyle are a lack of interest towards parenthood and an aversion towards children which is consistent with the 2019 survey. Of the people surveyed 67.06% are pet owners or involved in a pet's care, suggesting that this lack of interest towards parenthood does not necessarily mean a lack of interest in all forms of caretaking. The community skews towards a dislike of children overall which correlates well with the 87.81% of users choosing "no, I do not have, did not use to have and will not have a job that makes me heavily interact with children on a daily basis" in answer to, "do you have a job that heavily makes you interact with children on a daily basis?". This is an increase from the 2019 survey.
A vast majority of the subreddit identifes as pro-choice (95.5%), a slight increase from the 2019 results. This is likely due to a high level of concern about bodily autonomy and forced birth/parenthood. However only 55.93% support financial abortion, aka for the non-pregnant person in a relationship to sever all financial and parental ties with a child. This is a marked decrease from the 2019 results, where 70% of participants supported financial abortion.
Most of our users realised that did not want children young. 58.72% of participants knew they did not want children by the age of 18, with 95.37% of users realising this by age 30. This correlates well with the age distribution of participants. Despite this early realisation of our childfree stance, 80.59% of participants have been "bingoed" at some stage in their lives.

The Subreddit

Participants who identify as childfree were asked about their interaction with and preferences with regards to the subreddit at large. Participants who do not meet our definition of being childfree were excluded from these questions.
By and large our participants were lurkers (72.32%). Our participants were divided on their favourite flairs with 38.92% selecting "I have no favourite". The next most favourite flair was "Rant", at 16.35%. Our participants were similarly divided on their least favourite flair, with 63.40% selecting "I have no least favourite". In light of these results the flairs on offer will remain as they have been through 2019.
With regards to "lecturing" posts, this is defined as a post which seeks to re-educate the childfree on the practices, attitudes and values of the community, particularly with regards to attitudes towards parenting and children, whether at home or in the community. A commonly used descriptor is "tone policing". A small minority of the survey participants (3.36%) selected "yes" to allowing all lectures, however 33.54% responded "yes" to allowing polite, respectful lectures only. In addition, 45.10% of participants indicated that they were not sure if lectures should be allowed. Due to the ambiguity of responses, lectures will continue to be not allowed and removed.
Many of our participants (36.87%) support the use of terms such as breeder, mombie/moo, daddict/duh on the subreddit, with a further 32.63% supporting use of these terms in context of bad parents only. This is a slight drop from the 2019 survey. In response to this use of the above and similar terms to describe parents remains permitted on this subreddit. However, we encourage users to keep the use of these terms to bad parents only.
44.33% of users support the use of terms to describe children such as crotchfruit on the subreddit, a drop from 55.3% last year. A further 25.80% of users supporting the use of this and similar terms in context of bad children only, an increase from 17.42% last year. In response to this use of the above and similar terms to describe children remains permitted on this subreddit.
69.17% of participants answered yes to allowing parents to post, provided they stay respectful. In response to this, parent posts will continue to be allowed on the subreddit. As for regret posts, which were to be revisited in this year's survey, only 9.5% of participants regarded them as their least favourite post. As such they will continue to stay allowed.
64% of participants support under 18's who are childfree participating in the subreddit with a further 19.59% allowing under 18's to post dependent on context. Therefore we will continue to allow under 18's that stay within the overall Reddit age requirement.
There was divide among participants as to whether "newbie" questions should be removed. An even spread was noted among participants who selected remove and those who selected to leave them as is. We have therefore decided to leave them as is. 73.80% of users selected "yes, in their own post, with their own "Leisure" flair" to the question, "Should posts about pets, travel, jetskis, etc be allowed on the sub?" Therefore we will continue to allow these posts provided they are appropriately flaired.

5. Conclusion

Thank you to our participants who contributed to the survey. This has been an unusual and difficult year for many people. Stay safe, and stay childfree.

submitted by Mellenoire to childfree [link] [comments]

The Shoulders of Orion- Ch. 1: First Contact

Space-time rippled as the Horns of Glory snapped into real space. The normally smooth transition from FTL subspace travel back to the laws of relativity was instead dangerously jarring, as the inertial dampeners struggled to hold the innards of the massive warship in their proper places. After straining mightily for the briefest of moments, they failed, throwing Admiral Halon Va and the rest of his bridge crew violently into their restraining harnesses. The ship shuddered under the immense stress, then settled, drifting silently through space on minimal power.
“Tactical, get me a status report for the fleet on screen now. I want updates the instant ships jump in.” The Admiral’s voice was still firm and authoritative; it was taking every last shred of resolve he had to keep it that way. “Lieutenant Roshin, put a detail together and work with medical. I’m sure that re-entry caused more than a few extra injuries. Get as many of the crew patched up and ready for emergency action as fast as you can. I want a full casualty report as soon as possible. And if you find Science Officer Lentith and he’s still alive, send him to the bridge immediately.”
Admiral Va settled back into his command chair, drawing creaking sounds from the over-stressed frame as it absorbed the weight of his massive form. The bridge was completely silent now, the command crew entirely focused on the tasks at hand. Or they were too afraid to say anything; Va couldn’t be sure. He was thankful for their silence, though. He didn’t have any answers for them about his failure.
Keying in a few commands on the command panel at his station, the damage report for his ship popped up, the bridge lights flickering from the extra power draw. The Horns of Glory floated before him in hologram form. Long and slender, the ship was over two kilometers from bow to stern. At least, it had been a few hours ago. The forward 20 percent of the holographic ship was flashing red, indicating heavy damage. This was inaccurate, however, as the forward 20 percent of the ship simply wasn’t there anymore. The graceful lines and carefully crafted angles of the ship's armor were an unrecognizable slagged mess, and deep gouges had been cut into the inner decks all over the ship. Whole sections were missing amidships, two of the main reactors were offline, all the primary weapon batteries had been completely destroyed, and most of the critical systems were barely functioning. It was a miracle that she had survived the jump. That morning, Horns of Glory had been the greatest feat of Arien’Ra engineering, and it was now a barely functioning hulk.
And it had all happened under my command, thought Va.
He had no time to wallow in his failures, however, as at that moment tactical finally reconnected to the fleet command systems. The hologram of Horns of Glory quickly scaled down, appearing as a small, flashing, red point of light floating in loose formation with several other points of light. Most of them were flashing red as well. A constant stream of data and various reports scrolled down the right side of the hologram, listing in no uncertain terms the doom that Va had subjected his command to.
If Va had thought that the bridge was quiet before, it was nothing compared to the complete stillness that now settled over them. No one so much as moved a muscle, as they all sat in stunned silence, reading the reports. Occasionally, the hologram would flash, and a new point of light would join the formation, adding more data to the pile spelling out their damnation. After 30 ticks, new points of light had stopped appearing. Admiral Halon Va had lost over 60 percent of his fleet, and not a single other dreadnaught had survived the slaughter. His defeat was total, and the Federation navy was crippled.




Science Officer Beredarin Lentith had been the first member of his family not to enroll in command school in eight generations. They had been some of the finest members of the fleet the Vorqual race had ever contributed to the Federation. His brothers and sisters had all enrolled, which meant that as far as he was concerned, his family had more than fulfilled their duty to the Federation. Military life wasn’t for him, anyway; he wanted to explore. The Federation had been around for over 3000 years, and there were still vast swathes of the galaxy that they knew nothing about. They were still encountering new species every few hundred or so years, and there was nothing he wouldn’t give to find the next one. That had been the dream that directed him away from the military and into academia. The odds of actually finding a new race were so small, though. There were still at least 200,000,000 unexplored systems in the galaxy. There just wasn’t time to visit them all...
He snapped out of his reverie as he stepped over the body, or rather, what was left of the body, of a Zelnassi marine. Most of it was just a green stain on the corridor wall at this point, though there had been enough of the chitinous armored torso to partially obstruct his path. The young lieutenant quickly continued on towards the bridge.
If he was being honest with himself, becoming an expert on the area of unexplored space directly between the Federation and it’s largest military rival wasn’t the smartest of ideas. Between his family reputation and his unique knowledge base, he was just asking to get pressed into service.
Which was exactly what had happened immediately upon the recent outbreak of hostilities.
And now here he was stepping over corpses, marveling at the fact that he had somehow survived this long. He still couldn’t believe the insanity of the Dominion forces. Boarding an enemy ship MID-COMBAT. It was like something out of a youngling’s tale from before space travel. It was pure madness, but there were the bodies to prove that it had happened. He gingerly stepped around the remains of yet another Zelnassi.
The signs of battle continued all the way to the bridge, where he found security forces still holding quickly fortified positions around the bridge entrance. There were more Zelnassi bodies at their feet. Berendarin shuddered. He had been closer to death than he thought.
He quickly pushed those thoughts out of his mind. He could only imagine why he was needed on the bridge so urgently.
The door slid open, and Lentith walked into a completely silent room. Admiral Va was slouched at his command station, his enormous arm propped up on the chair arm and supporting his massive, horned head. Lentith didn’t even know that Arien’Ra COULD slouch. Nevermind that the fastidious Admiral could or would ever do such a thing. Maybe things were somehow worse than he thought. No one seemed to notice him enter, so he announced himself to the Admiral.
Though he didn’t shout, his voice echoed in the deathly silent room, startling most of the bridge command. Two of the other Vorqual officers swore, and the tiny Jezren manning the com station let out a high pitched sound somewhere between a squeak and chirp. Berendarin would have found it quite funny if the situation wasn’t so dire.
Admiral Va immediately snapped back to being the hulk of muscle and horn that imposed his will on a room just by being in it. His booming voice only added to his authority.
“Science Officer Lentith. I’m glad to see you’re still alive. Are you seriously injured?”
Berendarin had almost forgotten that he had walked the entire way to the bridge holding a bandage to his head just above his left eye. The drop out of subspace hadn’t been kind to him. He pulled the bandage away, revealing a dark orange stain on the bandage and a crack in the bone plate above his eye.
“I’m fine, sir, just one of the outer plates, and the bleeding has already stopped.”
“Good. Commander Vortith is currently overseeing the emergency repairs. Take his seat. You are going to help me find a way back home.”
“Sir? I’m sorry I don’t understand. Why don’t we just go back the way we came?”
“That’s not possible. Most of our supply ships and tenders were destroyed when that third wave of Dominion ships hit our flank. Almost all of our pre-prepared fuel reserves are gone. On top of that, some of our ships are so damaged that they don’t have another long jump in them. And if we run into any enemy ships, the whole rest of the fleet is done for. We barely qualify as a fighting force in the state we’re in.”
“Is it really that bad?”
“It’s worse, but we don’t have time to get into the details. You’re the expert on this section of the galaxy. I need you to find the fleet a hiding hole. Somewhere away from the known jump routes through the Spur. Any system where we can use the few miners we have left to scavenge up some fuel, and get some critical repairs done while we’re at it. And from there either wait for reinforcements or get ourselves patched up enough to limp home. Wherever it is, it needs to be close. I’m not leaving any ships behind because they can’t make the jump.”
“Oh. Just that?” The lieutenant knew that Arien’Ra were strict herbivores, but with the look that the Admiral shot him, he couldn’t help but think about the fact that his head would easily fit into that giant, molar filled mouth.
“And away from any known pirate hideaways. Like I said, our fleet can’t take any more fighting. And find it quickly. It won’t be long before the Dominion fleet locates us.”
“I. Uh. Sure. I’ll see what I can find.”
Berendarin shrank into the commander’s chair next to the enormous Arien’Ra, desperately wishing he had been more professional. If he had acted like a proper soldier, it might soften the blow of telling the Admiral that what he wanted was next to impossible. If he had a few weeks, he might be able to find something. So much of the Spur was still un-surveyed. The odds of there being anything useful to the Admiral in the databases was absurdly low, and there was even less of a chance he’d be able to find it in time for the information to matter. He began pouring through his notes anyway. It was better than waiting around to die, which, if the situation was as dire as the Admiral made it sound, was the only other option.
He spent the next hour lost in his notes, finding nothing, while the bridge crew went about piecing the ship and the fleet back together. The young scientist had all but given up on the Admiral’s impossible request when a raucous cheer went up from everyone on the command deck.
“Sir,” The coms officer called out, “The Consul’s Pride just dropped out of subspace and is hailing us, sir.
The main communication screen lit up, and Berendarin Lentith looked to see the face of his oldest sister on screen, strapped into the captain’s chair of her dreadnaught. He let out a sigh of relief; Baraquen was his favorite sibling. Her uniform was drenched in a deep orange blood stain at the shoulder, and she was covered in what looked like flecks of green gore from a Xelnassi. The artificial gravity was clearly malfunctioning, as the captain’s restraining harness was the only thing keeping her from floating around her bridge. But the bone plates of her jaw were turned as always into her calm, self assured smile
“My apologies for the delay in joining you, Admiral Va. We had some… guests shut down our drive mid jump. We had to deal with them before we rejoined the fleet. I assume there is a plan to get us back to federation space?”
“It’s good to see you in one piece, Captain Lentith,” the Admiral responded. He was barely able to keep the relief from his voice. “And there is indeed a plan.”
Berendarin returned to his research as the two ranking officers in the fleet went over the details of their current predicament. He was glad his sister had survived, and not just because they were close. It would have been a terrible blow to the whole family to have lost not only their future matriarch, but the ship she commanded as well. A member of his family had been commanding that dreadnaught uninterrupted for the last 5 generations. Military service had never appealed to Berendarin, but his family history was certainly still important.
And then the solution to the current problem hit him like a driver round. He let out a gasp and tore into his notes with a fervor. Both Admiral Va and his sister’s projection turned to look at him, but he didn’t notice. After a few seconds of curious silence from the rest of the onlookers, Berendarin practically jumped out of his seat.
“Admiral, I think I’ve got something that will work.” The young Lieutenant punched a few commands into his datapad, and a set of stellar coordinates popped up on the navigation terminal. “It’s a main sequence star, about 500 light years from us, fairly close to the edge of the Spur. It’s not anywhere near any established jump routes. The Consul’s Pride made me think of it.” He nodded towards his sister’s face on the ship's screen. “Our great, great grandsire took the Consul’s Pride through the system on her shakedown run a little over 300 cycles ago. Chased a band of Qorthi slavers out of the system. The outer four planets are all gas giants. If we can’t find Helium 3 there, I don’t know where else we should look.”
On screen, Captain Lentith looked impressed, but Admiral Va clearly didn’t seem too sure. “We’re supposed to be going away from Dominion forces, not into them. What were the Qorthi doing there?”
“There are also four rocky inner worlds in the system, Sir, according to reports from the encounter. Apparently, the third planet is a Class 7 Deathworld, and the Qorthi were running some experiments on the primitive lifeforms there. They were caught completely by surprise by the Consul’s Pride, and it was the first time that she fired her weapons in anger. I can’t find any reports of Dominion ships in that section of the Spur since.” There was a long pause before Va responded.
“Good work, Lieutenant. I knew my trust in you wasn’t misplaced.” Admiral Va replied, before turning to the rest of the bridge and booming “Coms! Tactical! Get those coordinates to every ship in the fleet. I want every ship we have left formed up and ready to jump as soon as possible. Any captain who feels that his drives can’t make the jump is to focus all repair efforts on getting their drives functioning immediately. I will transfer repair crews from less damaged ships to more damaged ships if that means we jump even a tick earlier. Get to it everyone. I’m not losing any more of my fleet today.”




The four revolution long jump to Science Officer Lentith’s newfound sanctuary had done wonders for Halon Va’s mental state. The initial shock of his fleet's terrible defeat had worn off, and he had been able to focus on what came next. Repair crews were able to stabilize most of his ship's core systems, and he was no longer worried about the life support systems cutting out and killing the rest of his crew. There had also been time for him to visit with the wounded. To thank them for their sacrifices. He had expected it to be an act of contrition, maybe even a chance to start begging for forgiveness. But there had been no anger in his crew, and no blame hung on his horns. Most had just been relieved that he had survived, and had expressed as much. He would be forever grateful to them for that.
Most importantly, the four revolutions in hyperspace had given the admiral time to really think about what had gone wrong in the nebula. He had barely rested in the preceding four revolutions, spending every scrap of spare time in his office, pouring over records from the battle. That’s where he found himself now, tucked behind his massive ceramic and titanium alloy desk of Tellarim design. It had been custom made for him upon his promotion to this command, a gift from the high admirals and the council. It was the only luxury that Va allowed in his office. The rest of Va’s space he kept strictly utilitarian. There were no trophies adorning his walls, as was customary for other members of his species. The plain bulkheads of his office were instead lined entirely with screens, and each of them were now filled with footage and reports from the battle, running on loop.
Va soaked it all in. The more he watched, the more a singular conclusion crystallized in his mind. He had done everything right; he was sure of that now. 1000 years of doctrine and theory for fighting the Dominion had gone into his preparation for that battle, and he had followed it to the letter. And he had been winning. Then that attack on his flank by the Zelnassi had blown all of that out of the airlock. Something significant had changed in the way the Dominion fought...
Commander Vortith’s voice rang out over the com system. ”Admiral Va, we’ll be transitioning back to real space in moments.”
“Thank you. I’ll be there shortly. And get Science Officer Lentith to the bridge. I want him nearby just in case. He’s the only one who has any idea of where we are.” The Admiral pulled himself from his desk. He would have to leave the rest of his analysis for later. There was just enough time for him to reach the bridge and settle into his command chair before the Horns of Glory snapped back to real space. This time, the inertial dampeners held.
“Tactical, status report.”
“All ships accounted for, Admiral. Though the Consul’s Pride, several cruisers, and three of our escorts are all reporting massive failures in their Drive Cores. They won’t be jumping anywhere anytime soon.”
“Wonderful.” Va wasn’t sure if he meant that sarcastically or not. “Get scans up and running and deploy the pickets that aren’t crippled in a standard scouting formation. How close are we to the nearest gas giant?”
“We’re approximately half a light tick from the system’s innermost gas giant, sir.”
“Excellent. Deploy the rest of the fleet. Put us in a high orbit around the planet in a defensive formation, and get our miners working immediately. Once our orbit is stable, I want every hand, paw and hoof in the fleet working on repairs.”
“Yes sir.”
Admiral Va settled into his command chair for a long shift.
It would be a drawn out, boring process to refuel the ships. With his fleet limping along, and only two functioning miners, it would take far longer than it should. After all the chaos of the last few revolutions, boring would be a welcome change of pace. Va started to relax, sinking into his chair’s acceleration padding. His fleet and his crews were finally safe. The first priority would be to get one of the subspace beacons repaired and to get word back to the Federation that the fleet still existed. And hopefully call for aid. He was sure to be stripped of his rank as soon as contact was made, but hopefully he would avoid a Tribunal. That was an unpleasant prospect…
“Sir, we have unidentified ship signatures appearing from around the planet we’re approaching.”
Va had never heard panic in the voice of his young sensors officer before, but it was certainly there now. Va understood the sentiment, though. He found it difficult to keep the panic from his own voice as he started issuing orders
“Bring the fleet up to combat status immediately. How many ships are there?”
“I’m showing 35 individual signatures. All approaching us at combat speed and still accelerating. At current speeds, they will intercept us in just over 30 ticks, sir.”
“I want details as soon as you have them, Lieutenant. Size, make, estimated firepower. Who they are. And keep scanning the system. Find out where they came from.” The panic had partially subsided for Va. 35 unknowns was not too terrible a threat. He still had almost 240 warships under his command. Still, if there was a way to avoid combat, he had to try. His fleet couldn’t suffer any more losses. “Coms, any attempt by these unknown ships to contact us?”
“I”m not sure, sir,” the diminutive Jezren at the coms replied. “There’s nothing on standard communications channels. The ships are transmitting something, but I can’t figure out what it is.”
“Admiral,” the Lieutenant at the sensors station called out. “I think I might have an idea of where these ships came from. Preliminary scans show there is extensive urbanization on the third and fourth planets, as well as what appear to be habitation sized artificial satellites around the second and sixth planets. One of the moons of the gas giant we’re approaching shows signs of habitation as well. All of them are emitting significant signal pollution. This system clearly already belongs to someone, and they’re broadcasting everywhere.”
Halon Va, High Admiral of the Combined Federation Fleets, turned, slowly and with as much composure as he could muster, to face the young science officer seated to his left. Berendarin sat, mouth agape, staring transfixed at the sensor readouts in front of him. Va had never seen a Vorqual more confused in his life. “I want answers, Officer Lentith.”
“I… I don’t.. This doesn’t make any sense,” the young science officer stammered. “There shouldn’t be anything here.”
“Admiral,” The comms officer cut in, “The signal that we’re picking up from the unknown ships is definitely some kind of communication. I managed to put together audio from it.”
“Play it,” commanded Va. A series of short, guttural, and completely unintelligible sounds came over the speakers in reply. There was a short pause before the sounds repeated themselves again. “Coms, what was that?”
“No idea, sir, but it’s being transmitted on loop. If it is intended as a communication, our translators have no idea what to do with it.”
“Admiral.” The voice came from Va’s left, and was barely audible. Va turned yet again to look at the young science officer. His gaze was locked on the tactical readout, and there something in his eyes that Va couldn’t recognize. A mixture of pure terror and something else. Was it wonder? The young Vorqual’s voice was still barely above a whisper when he continued to address the admiral: “I think we should run the transmission through First Contact Protocols.”




Captain Benjamin Alvarez-León slammed against his restraining harness as the USCS Aurora started it’s decel burn. He had pushed the engines on the outdated cruiser to their limits, and the ship groaned in protest as it started counteracting his rather zealous acceleration orders. He hoped that his mad scramble with his small squadron of outdated ships had been an overreaction. The alternative was something he’d rather not think about.
All Ben had was the reserves; the rest of the fleet was on maneuvers at Sirius. The Admiralty had wanted to test the new, fully modernized fleet’s maneuvering abilities in the gravwell of a binary system. And, in their infinite wisdom, they decided they needed ALL of the new fleet assets, leaving nothing in Sol except for the handful of cruisers and escorts that couldn’t match the capabilities of the modern ships.
A handful of cruisers and escorts that were now hurtling towards more than 200 unknown contacts.
It was the unknown part of all of this that was unnerving Ben. There were no familiar energy signatures. No familiar scan data. No IFF. No signals coming off the contacts of any kind for that matter. Two of the contacts were too big to even be ships. If it wasn’t for the fact that they were moving towards Jupiter in formation, Ben wouldn’t even think they WERE ships.
“So what do you think, Alexi?” Ben asked, turning towards his second in command. “You and the rest of the bridge crew are always making inane bets. Have you whipped up an over-under for what we’re throwing ourselves at yet?”
“Haven’t had time,” came the quick reply from Ben’s right. The short, stocky man from Vladivostok was missing his trademark joviality. “Though, my money is on them being Ithacan, sir.”
Ben bristled at Alexi calling him sir. They’d been friends for twenty years, damnit, and had been practically joined at the hip since going through the Academy together. Outranking him still felt a little off. Now was hardly the time to worry about formalities, though.
“What makes you think they're from Ithaca?”
“It’s the only thing that makes sense. The locals have been getting increasingly radical, and Ithaca is the only sector where reports of piracy have been increasing.”
“Yeah, I could see a rebellion coming from Ithaca,” Ben added slowly, turning over that scenario in his head. “But there’s no way they could swing something of this magnitude. There aren’t even any shipyards in the sector. And even if there were, there’s no way they could keep the construction of over two hundred ships a secret.”
Alexi could only offer him a shrug in response.
It was at that moment that the coms station informed him there was a transmission incoming from the unidentified ships. Ben instructed the ensign to play it, and the bridge was suddenly filled with a stream of grotesque bleating noises and strange grunts, with the occasional recognizable syllable interspersed throughout the transmission. Ben thought he picked out ‘dentify’ from the mess, but he wasn’t sure. There was a long moment of silence on the bridge.
“What the hell was that?”
When no one had any answers for him, Ben tapped his command console and recorded a new message to broadcast.
“This is Captain Alvarez of the USCS Aurora. Unidentified ships, please clarify. Your transmission is badly garbled. We did not receive your identification. You are still trespassing in Commonwealth space and are on an unauthorized course towards Jupiter. Begin decelerating immediately and re-identify yourselves.”
He wouldn’t admit it to the crew, but Ben was profoundly unsettled. Something was deeply, deeply wrong about this whole situation. Not only was he vastly outnumbered by these things, but they were unwilling to communicate properly. He was almost believing this whole thing was some kind of bizarre prank.
“How much longer before we can get a decent visual on these things?
“Any moment now, sir.”
A new transmission arrived just then, and Ben had it played back immediately. This time, instead of almost bovine bleats and grunts, the sounds coming over the speakers were mostly intelligible. Or, they would have been, if any of the syllables were in the right order. It was almost like a toddler was rattling off all of his new favorite sounds, spitting them out in a random order and not knowing how they went together. There were still a few heavy grunts sprinkled in, just for good measure.
Before Ben could process this new joke of a transmission, the contacts finally started slowing. In a matter of moments, the strange wall of contacts was hanging lazily in Jupiter’s orbit, barely moving fast enough to keep their orbit from decaying. They were still in perfect formation.
“Huh. Well, I guess that’s something.”
With nothing to do but sit back and wait as his ship closed the distance, Ben tried to relax and began running over all of the possibilities in his mind of what the new contacts could be. He came up with nothing. Well, nothing feasible, anyway. He took a series of long, calming breaths, trying to clear his mind and focus. This was no time for his imagination to be running wild. But he couldn’t shake the feeling that logic was failing him. Something was off. Something…
“Captain, bringing visual of the unknown contacts up on screen now.”
Ben actually felt his jaw drop. Every contact on his display was clearly a ship. Most were long and spindly, wrapped in layers of some kind of highly reflective armor; a fleet of crystalline arrows hanging in the darkness. The two largest contacts, which Ben had just moments ago thought were too big to be ships, were large enough on the screen for him to clearly see details. In addition to their immense size and strange armor, both ships were dotted with what were clearly weapons platforms, though what kind, Ben couldn’t tell.
Noticeably, almost all of the ships on his screen were heavily damaged. Chunks were missing from some ships, and most had deep lines gouged into their hulls. Any form of decorative paint or markings had been burned away. Something had put these ships through absolute hell. But still, the damage could not take away entirely from the elegance of the ship’s designs. They were graceful and sleek, completely different from anything Ben had ever seen before.
It was all so different. So strange. So very, very… Alien.
Despite every effort he had made to avoid the word, it finally forced itself to form inside Ben’s mind, and forced him to acknowledge the reality that legitimate, extra-Solar life was hanging in the darkness in front of him. It forced him to acknowledge the screams he had been suppressing in the back of his mind. The screams of his imagination crying out in glorious triumph over reality. And with those screams came a deluge of accompanying thoughts and emotions.
He was a child again, staring up at the stars above Armstrong and wondering what else, and who else, was out there. He was a teen again, signing his name to the Academy enrollment paperwork, determined to get out there between the stars and see the galaxy himself. He was a young officer again, screaming and pleading with the Admiralty to at least consider a modern First Contact scenario. He was sitting in his command chair now, hurtling towards honest-to-god aliens, all of his dreams made manifest in an instant. He was overwhelmed. He was terrified.
And he had never imagined that he could feel such elation.
It was the young warrant officer at the coms that snapped Ben out of his reverie. “Sir, the contacts are hailing us on all standard channels, requesting a video feed.” She sounded very, very nervous.
Ben immediately stood up, straightening his uniform as best he could. “If they’re anything less than genocidal monsters, I’m going to offer them aid and repairs. As long as they’re peaceful, there’s no reason not to extend them the full hospitality of humanity.”
“Ben,” Alexi asked, clearly choosing his words carefully, “Are you sure that’s the… Wisest course of action? How will the Admiralty respond to Goddamned alien ships docking at Hephaestus?”
“Alexi, in the 250 years the Commonwealth has existed, the First Contact protocols haven’t been updated since the charter was signed. No one has cared. This has been nothing but a fantasy for most people. I am NOT letting this opportunity get away. Every child that has ever looked up at the stars and wondered finally got an answer, and I will not waste this moment. We’re making friends, the Admiralty and the government be damned.”
“You do realize you’re potentially deciding the fate of our entire species on a whim, right?”
“Is there someone else you’d prefer to have making this call?”
Alexi, apparently deciding that there was not, stood up and straightened his uniform, standing next to his friend as he ordered the connection of the video feed. The channel connected, and the human bridge crew found themselves looking at the bridge of a ship crewed by not one, but three alien races.
The largest alien in the center of the screen opened its mouth to speak. This time, instead of bleats and grunts, a choppy, mechanical voice that didn’t sync up to the alien at all proclaimed from the bridge speakers in broken, stuttering English: “I. Am Admiral. Halon. Va. Of the Federation of. Sentient Races. Greetings and. Welcome. To the. Galaxy.”
Ben couldn’t suppress his smile.
“On behalf of the United Solar Commonwealth, and all of Humanity, greetings, and welcome to Sol. Your ships look like they’ve had a bad time on your way here. If there’s any way we could aid with your repairs, we’d be happy to help.”




Slave 782 slammed his right appendage onto the control console hard enough to rupture his outer membrane and smear ichor over the panel. It had been four days since the battle in the nebula, and with the latest round of reports, he finally had to admit that the rest of the Federation fleet had escaped him.
It was a minor frustration, all things considered, but the escape prevented this from being a total victory. Still, he had proven his worth to his owners in this battle, and his experiments with the Zelnassi had paid dividends beyond his wildest imagination. He had earned a command today, and with every success in that command, his ability to bargain for his people's freedom only increased. For what he would be asking, it might take the total defeat of the Federation to earn that kind of leverage. Also frustrating, but not a task that he couldn’t handle. It would be a long war, he was sure, but like his owners, he was patient.
He would earn his freedom, even if it meant reducing the entire Federation to glass.


Author Wiki
Series Wiki
NEXT
submitted by STATICinMOTION to HFY [link] [comments]

Unkle Mike. Culling Of Invisible Objects In Quake Related Engines

Intro
Despite all these great achievements in video cards development and the sworn assurances of developers about drawing 2 to 3 million polygons on screen without a significant FPS drop, it’s not all that rosy in reality. It depends on methods of rendering, on the number of involved textures and on the complexity and number of involved shaders. So even if all this really does ultimately lead to high performance, it only happens in the demos that developers themselves kindly offer. In these demos, some "spherical dragons in vacuum" made of a good hundred thousand polygons are drawn very quickly indeed. However, the real ingame situation for some reason never looks like this funny dragon from a demo, and as a result many comrades abandon the development of their "Crysis killer" as soon as they can render a single room with a couple of light sources, because for some reason FPS in this room fluctuate around 40-60 even on their 8800GTS and upon creating second room it drops to a whopping 20. Of course with problems like this, it would be incorrect to say how things aren’t that bad and how the trouble of such developers are purely in their absence of correctly implemented culling, and how it is time for them to read this article. But for those who have already overcome “the first room syndrome" and tried to draw – inferior though, but, anyway - the world, this problem really is relevant.
However, it should be borne in mind that QUAKE, written in ancient times, was designed for levels of a “corridor" kind exclusively; therefore methods of clipping discussed in this article are not applicable to landscapes, such as ones from STALKER or Crysis, since completely different methods work there, whose analysis is beyond the scope of this article. Meanwhile we’ll talk about the classic corridor approach to mapping and the effective clipping of invisible surfaces, as well as clipping of entire objects.

The paper tree of baloon leaves

As you probably know, QUAKE uses BSP, Binary Spacing Partition tree. This is a space indexing algorithm, and BSP itself doesn’t care if the space is open or closed, it doesn’t even care if the map is sealed, it can be anything. BSP implies the division of a three-dimensional object into a certain number of secant planes called "the branches" or "the nodes" and volumetric areas or rooms called "the leaves". The names are confusing as you can see. In QUAKE / QUAKE2 the branches usually contain information about the surfaces that this branch contain, and the leaves are an empty space, not filled with nothing. Although sometimes leaves may contain water for example (in a form of a variable that indicates, specifically, that we’ve got water in this leaf). Also, the leaf contains a pointer to the data of potential visibility (Potentially Visible Set, PVS) and a list of all surfaces that are marked as being visible from this leaf. Actually the approach itself implies that we are able to draw our world however we prefer, either using leaves only or using branches only. This is especially noticeable in different versions of QUAKE: for example, in QUAKE1 in a leaf we just mark our surfaces as visible and then we also sequentially go through all the surfaces visible from a particular branch, assembling chains of surfaces to draw them later. But in QUAKE3, we can accumulate visible surfaces no sooner than we’ll get into the leaf itself.
In QUAKE and QUAKE2, all surfaces must lie on the node, which is why the BSP tree grows rather quickly, but in exchange this makes it possible to trace these surfaces by simply moving around the tree, not wasting time to check each surface separately, which affects the speed of the tracer positively. Because of this, unique surface is linked to each node (the original surface is divided into several if necessary) so in the nodes we always have what is known to be visible beforehand, and therefore we can perform a recursive search on the tree using the BBox pyramid of frustum as a direction of our movement along the BSP tree (SV_RecursiveWorldNode function).
In QUAKE3, the tree was simplified and it tries to avoid geometry cuts as much as possible (a BSP tree is not even obliged to cut geometry, such cuts are but a matter of optimality of such a tree). And surfaces in QUAKE3 do not lie on the node because patches and triangle models lie there instead. But what happens would they be put on the node nevertheless, you can see on the example of "The Edge Of Forever" map that I compiled recently for an experimental version of Xash. Turns out, in places that had a couple thousand visible nodes and leaves in the original, there are almost 170 thousand of them with a new tree. And this is the result after all the preliminary optimizations, otherwise it could have been even more, he-he. Yeah, so... For this reason, the tree in QUAKE3 does not put anything on the node and we certainly do need to get into the leaf, mark visible surfaces in it and add them to the rendering list. On the contrary, in QUAKE / QUAKE2 going deep down to the leaf itself is not necessary.
Invisible polygon cutoff (we are talking about world polys, separate game objects will be discussed a bit later) is based on two methods:
The first method is to use bit-vectors of visibility (so-called PVS - Potential Visible Set). The second method is regular frustum culling which actually got nothing to do with BSP but works just as efficiently, for a certain number of conditions of course. Bottom line: together these two methods provide almost perfect clipping of invisible polygons, drawing a very small visible piece out of the vast world. Let's take a closer look at PVS and how it works.

When FIDO users get drunk

Underlying idea of PVS is to expose the fact that one leaf is visible from another. For BSP alone it’s basically impossible because leaves from completely different branches can be visible at the same time and you will never find a way to identify the pattern for leafs from different branches seeing each other - it simply doesn’t exist. Therefore, the compiler has to puff for us, manually checking the visibility of all leaves from all leaves. Information about visibility in this case is scanty: one Boolean variable with possible values 0 and 1. 0 means that leaf is not visible and 1 means that leaf is visible. It is easy to guess that for each leaf there is a unique set of such Boolean variables the size of the total number of leaves on the map. So a set like this but for all the leaves will take an order of magnitude more space: the number of leaves multiplied by the number of leaves and multiplied by the size of our variable in which we will store information of visibility (0 \ 1).
And the number of leaves, as you can easily guess, is determined by map size map and by the compiler, which upon reaching a certain map size, cease to divide the world into leaves and treat resulting node as a leaf. Leaf size vary for different QUAKE. For example, in QUAKE1 leaves are very small. For example I can tell you that the compiler divide standard boxmap in QUAKE1 into as many as four leaves meanwhile in QUAKE3 similar boxmap takes only one leaf. But we digress.
Let's estimate the size of our future PVS file. Suppose we have an average map and it has a couple thousand leaves. Would we imagine that the information about the leaf visibility is stored in a variable of char type (1 byte) then the size of visdata for this level would be, no more no less, almost 4 megabytes. That is, much AF. Of course an average modern developer would shrug and pack the final result into zip archive but back in 1995 end users had modest machines, their memory was low and therefore visdata was packed in “more different” ways. The first step in optimizing is about storing data not in bytes, but in bits. It is easy to guess that such approach reduce final result as much as 8 times and what's typical AF – does it without any resource-intensive algorithms like Huffman trees. Although in exchange, such approach somewhat worsened code usability and readability. Why am I writing this? Due to many developers’ lack of understanding for conditions in code like this:
if ( pvs [ leafnum >> 3 ] & ( 1 << ( leafnum & 7 ) ) ) { } 
Actually, this condition implement simple, beautiful and elegant access to the desired bit in the array (as one can recall, addressing less than one byte is impossible and you can only work with them via bit operations)

Titans that keep the globe spinning

The visible part of the world is cut off in the same fashion: we find the current leaf where the player is located (in QUAKE this is implemented by the Mod_PointInLeaf function) then we get a pointer to visdata for the current leaf (for our convenience, it is linked directly to the leaf in the form of "compressed_vis" pointer) and then stupidly go through all the leaves and branches of the map and check them for being visible from our leaf (this can be seen in the R_MarkLeaves function). As long as some leaves turn out to be visible from the current leaf we assign them a unique number from "r_visframecount" sequence which increases by one every frame. Thus, we emphasize that this leaf is visible when we build the current frame. In the next frame, "r_framecount" is incremented by one and all the leaves are considered invisible again. As one can understand, this is much more convenient and much faster than revisiting all the leaves at the end of each frame and zeroing their "visible" variable. I drew attention to this feature because this mechanism also bothers some and they don’t understand how it works.
The R_RecursiveWorldNode function “walk” along leaves and branches marked this way. It cuts off obviously invisible leaves and accumulate a list of surfaces from visible ones. Of course the first check is done for the equivalence of r_visframecount and visframe for the node in question. Then the branch undergoes frustum pyramid check and if this check fails then we don’t climb further along this branch. Having stumbled upon a leaf, we mark all its surfaces visible the same way, assigning the current r_framecount value to the visframe variable (in the future this will help us to determine quickly whether a certain surface is visible in the current frame). Then, using a simple function, we determine which side we are from the plane of our branch (each branch has its own plane, literally called “plane” in the code) and, again, for now, we just take all surfaces linked to this branch and add them to the drawing chain (so-called “texturechain”), although nobody can actually stop us from drawing them immediately, right there, (in QUAKE1 source code one can see both options) having previously checked these surfaces for clipping with the frustum pyramid, or at least having made sure that the surface faces us.
In QUAKE, each surface has a special flag SURF_PLANEBACK which help us determine the orientation of the surface. But in QUAKE3 there is no such flag anymore, and clipping of invisible surfaces is not as efficient, sending twice as many surfaces for rendering. However, their total number after performing all the checks is not that great. However, whatever one may say, adding this check to Xash3D raised average FPS almost one and half times in comparison to original Half-Life. This is on the matter whether it is beneficial. But we digress.
So after chaining and drawing visible surfaces, we call R_RecursiveWorldNode again but now - for the second of two root branches of BSP tree. Just in case. Because the visible surfaces, too, may well be there. When the recursion ends, the result will either be a whole rendered world, or chains of visible surfaces at least. This is what can actually be sent for rendering with OpenGL or Direct3D, well, if we did not draw our world right in the R_RecursiveWorldNode function of course. Actually this method with minor upgrades successfully used in all three QUAKEs.

A naked man is in a wardrobe because he's waiting for a tram

One of the upgrades is utilization of the so-called areaportals. This is another optimization method coming straight out of QUAKE2. The point of using areaportals is about game logic being able to turn the visibility of an entire sectors on and off at its discretion. Technically, this is achieved as follows: the world is divided into zones similar to the usual partitioning along the BSP tree, however, there can’t be more than 256 of them (later I will explain why) and they are not connected in any way.
Regular visibility is determined just like in QUAKE; however, by installing a special “func_areaportal” entity we can force the compiler to split an area in two. This mechanism operates on approximately the same principle as the algorithm of searching for holes in the map, so you won’t deceive the compiler by putting func_areaportal in a bare field - the compiler will simply ignore it. Although if you make areaportal the size of the cross-section of this field (to the skybox in all directions) in spite of everything the zones will be divided. We can observe this technique in Half-Life 2 where an attempt to return to old places (with cheats for example) shows us disconnected areaportals and a brief transition through the void from one zone to another. Actually, this mechanism helped Half-Life 2 simulate large spaces successfully and still use BSP level structure (I have already said that BSP, its visibility check algorithm to be precise, is not very suitable for open spaces).
So installed areaportal forcibly breaks one zone into two, and the rest of the zoneization is at the discretion of the compiler, which at the same time makes sure not to exceed 256 zones limit, so their sizes can be completely different. Well, I repeat, it depends on the overall size of the map. Our areaportal is connected to some door dividing these two zones. When the door is closed - it turns areaportal off and the zones are separated from each other. Therefore, if the player is not in the cut off zone, then rendering it is not worth it. In QUAKE, we’d have to do a bunch of checks and it’s possible that we could only cut off a fraction of the number of polygons (after all, the door itself is not an obstacle for either visibility check, or even more so, nor it is for frustum). Compare to case in point: one command is issued - and the whole room is excluded from visibility. “Not bad,” you’d say, “but how would the renderer find out? After all, we performed all our operations on the server and the client does not know anything about it.” And here we go back to the question why there can’t be more than 256 zones.
The point is, information about all of zone visibility is, likewise, packaged in bit flags (like PVS) and transmitted to the client in a network message. Dividing 256 bits by 8 makes 32 bytes, which generally isn’t that much. In addition, the tail of this information can be cut off at ease if it contains zeroes only. Though the payback for such an optimization would appear as an extra byte that will have to be transmitted over the network to indicate the actual size of the message about the visibility of our zones. But, in general, this approach justified.

Light_environment traces enter from the back

Source Engine turned out to have a terrible bug which makes the whole areaportal thing nearly meaningless. Numerous problems arise because of it: water breaks down into segments that pop in, well, you should be familiar with all this by now. Areaportal cuts the geometry unpredictably, like an ordinary secant plane, but its whole point is being predictable! Whereas areaportal brushes in Source Engine have absolutely no priority in splitting the map. It should be like this: first, the tree is cut the regular way. And when no suitable planes left, the final secant plane of areaportal is used. This is the only way to cut the sectors correctly.

Modern problems

The second optimization method, as I said, is increased size of the final leaf akin to QUAKE3. It is believed that a video card would draw a certain amount of polygons much faster than the CPU would check whether they are visible. This come from the very concept of visibility check: if visibility check takes longer than direct rendering, then well, to hell with this check. The controversy of this approach is determined by a wide range of video cards present at the hands of the end users, and it is strongly determined by the surging fashion for laptops and netbooks in which a video card is a very conditional and very weak concept (don’t even consider its claimed Shader Model 3 support). Therefore, for desktop gaming machines it would be more efficient to draw more at a time, but for weak video cards of laptops traditional culling will remain more reliable. Even if it is such a simple culling as I described earlier.

Decompression sickness simulator

Although I should also mention the principles of frustum culling, perhaps they are incomprehensible to some. Cutoff by frustum pyramid is actually pure mathematics without any compiler calculations. From the current direction of the player’s gaze, a clipping pyramid is built (the tip of the pyramid – in case someone can’t understand - is oriented towards the player’s point of view and its base is oriented in the direction of player’s view). The angle between the walls of the pyramid can be sharp or blunt - as you probably guessed already, it depends on the player's FOV. In addition, the player can forcefully pull the far wall of the pyramid closer to himself (yes, this is the notorious “MaxRange” parameter in the “worldspawn” menu of the map editor). Of course, OpenGL also builds a similar pyramid for its internal needs when it takes information from the projection matrix but we’re talking local pyramid now. The finished pyramid consists of 4-6 planes (QUAKE uses only 4 planes and trusts OpenGL to independently cut far and near polygons, but if you write your own renderer and intend to support mirrors and portals you will definitely need all six planes). Well, the frustum test itself is an elementary check for a presence of AA-box (AABB, Axis Aligned Bounding Box) in the frustum pyramid. Or speaking more correctly, this is a check for their intersection. Let me remind you that each branch has its own dimensions (a fragment of secant plane bound by neighboring perpendicular secant planes) which are checked for intersection. But unfortunately the frustum test has one fundamental drawback - it cannot cut what is directly in the player’s view. We can adjust the cutoff distance, we can even make that “ear feint” like they do in QFusion where final zFar value is calculated in each frame before rendering and then taken into account in entity clipping, but after all, whatever they say, the value itself was obtained from PVS-information. Therefore, neither of two methods can replace the other but they just complement each other. This should be remembered.

I gotta lay off the pills I'm taking

It seems that we figured out the rendering of the world and now we are moving on smoothly to cutting off moving objects... which are all the visible objects in the world! Even ones that, at te first glance, stand still and aren’t planning to move anywhere. Cause the player moves! From one point he still sees a certain static object, and from another point, of course, he no longer does. This detail should also be considered.
Actually, at the beginning of this article I already spoke in detail about an algorithm of objects’ visibility check: first we find the visible leaf for the player, then we find the visible leaf for the entity and then we check by visdata whether they see each other. I, too, would like to clarify (if someone suddenly does not understand) how each moving entity is given the number of its current visible leaf, i.e. directly for entity’s its own current position, and the leaves themselves are of course static and always in the same place.

Ostrich is such an OP problem solver

So the method described above has two potential problems:
The first problem is that even if A equals B, then, oddly enough, B is far from being always equal A. In other words, entity A can see entity B, but this does not mean that entity B see entity A, and, no, it’s not about one of them “looking” away. So why is this happening? Most often for two reasons:
The first reason is that one of the entities’ ORIGIN sit tight inside the wall and the Mod_PointInLeaf function for it points to the outer “zero” leaf from which EVERYTHING is visible (haven’t any of you ever flown around the map?). Meanwhile, no leaf inside the map can see outer leaf - these two features actually explain an interesting fact of an entire world geometry becoming visible and on the contrary, all objects disappearing when you fly outside the map. In regular mode, similar problems can occur for objects attached to the wall or recessed into the wall. For example, sometimes the sounds of a pressed button or opening door disappear because its current position went beyond the world borders. This phenomenon is fought by interchanging objects A and B or by obtaining alternative points for the position of an object, but all the same, it’s all not very reliable.

But lawyer said that you don't exist

In addition, as I said, there is another problem. It come from the fact that not every entity fits a single leaf. Only the player is so small that he can always be found in one leaf only (well, in the most extreme case - in two leaves on the border of water and air. This phenomenon is fought with various hacks btw), but some giant hentacle or on the contrary, an elevator made as a door entity, can easily occupy 30-40 leaves at a time. An attempt to check one leaf (for example, one where the center of the model is) will inevitably lead to a deplorable result: as soon as the center of an object will be out of the player’s visibility range, the entire object will disappear completely. The most common case is the notorious func_door used as an elevator. There is one in QUAKE on the E1M1. Observe: it travels halfway and then its ORIGIN is outside the map and therefore it must disappear from the player’s field of view. However, it does not go anywhere, right? Let us see in greater detail how this is done.
The simplest idea that comes to one’s mind: since the object occupies several leaves, we have to save them all somewhere in the structure of an object in the code and check them one by one. If at least one of these leaves is visible, then the whole object is visible (for example, it’s very tip). This is exactly what was implemented in QUAKE: a static array for 16 leaves and a simple recursive function SV_FindTouchedLeafs that looks for all the leaves in range hardcoded in "pev->absmins" and "pev->absmax" variables (pev i.e. a Pointer to EntVars_t table). absmins and absmax are recalculated each time SV_LinkEdict (or its more specific case of UTIL_SetOrigin) is called. Hence the quite logical conclusion that a simple change of ORIGIN without recalculating its visible leaf will take the object out of visibility sooner or later even if, surprisingly enough, it’s right in front of the player and the player should technically still be able to see it. Inb4 why one have to call UTIL_SetOrigin and wouldn’t it be easier to just assign new value to the "pev->origin" vector without calling this function. It wouldn’t.
With this method we can solve both former problems perfectly: we can fight the loss of visibility if the object's ORIGIN went beyond the world borders and level the difference of visibility for A->B versus visibility for B->A.

A secret life of monster_tripmine

Actually we’ve yet to encounter another problem, but it does not occur immediately. Remember, we’ve got an array of 16 leaves. But what if it won’t be enough? Thank God there are no beams in QUAKE and no very long elevators made as func_door either. For this exact reason. Because when the array is filled to capacity, the SV_FindTouchedLeafs function just stop and we can only hope that there won’t be that many cases when an object disappear right before our eyes. But in the original QUAKE, such cases may well be. In Half-Life, the situation is even worse - as you can remember there are rays that can reach for half the map, tripmine rays for example. In this case, a situation may occur when we see just the very tip of the ray. For most of these rays, 16 leaves are clearly not enough. Valve tried to remedy the situation by increasing the array to 48 leaves. That helped. On early maps. If you remember, at the very beginning of the game when the player has already got off the trailer, he enters that epic elevator that takes him down. The elevator is made as a door entity and it occupies 48 leaves exactly. Apparently, the final expansion of the array was based after its dimensions. Then the programmers realized that this isn’t really a solution, because no matter how much one would expand the array, it can still be lacking for something. So then they screwed up an alternative method for visibility check: a head branch (headnode) check. In short, this is still the same SV_FindTouchedLeafs but now it is called directly from the place of visibility check and with a subsequent transfer of visdata in there. In general, it is not used very often because it is slower than checking pre-accumulated leaves, that is, it is intended just for such non-standard cases like this one.
Well, and since, I hope, general picture of the clipping mechanism already beginning to take shape in your mind, I will finish the article in just a few words.
On the server, all objects that have already passed the visibility check are added to the network message containing information about visible objects. Thus, on the client, the list of visible entities is already cut off by PVS and we do not have to do this again and therefore a simple frustum check is enough. You ask, "why did we have to cut off invisible objects on the server when we could do this later when we are on the client already?" I reply: yes, we could, but now the objects cut off on the server didn’t get into the network message and saved us some traffic. And since the player still does not see them, what is the point of transferring them to the client just to check them for visibility after? This is a kind of double optimizing :)
© Uncle Mike 2012
submitted by crystallize1 to HalfLife [link] [comments]

Invisible Object Culling In Quake Related Engines (REVISED)

Prologue
Despite all these great achievements in video cards development and the sworn assurances of developers about drawing 2 to 3 million polygons on screen without a significant FPS drop, it’s not all that rosy in reality. It depends on methods of rendering, on the number of involved textures and on the complexity and number of involved shaders. So even if all this really does ultimately lead to high performance, it only happens in the demos that developerss themselves kindly offer. In these demos, some "spherical dragons in vacuum" made of a good hundred thousand polygons are drawn very quickly indeed. However, the real ingame situation for some reason never looks like this funny dragon from a demo, and as a result many comrades abandon the development of their "Crysis killer" as soon as they can render a single room with a couple of light sources, because for some reason FPS in this room fluctuate around 40-60 even on their 8800GTS and upon creating second room it drops to a whopping 20. Of course with problems like this, it would be incorrect to say how things aren’t that bad and how the trouble of such developers are purely in their absence of correctly implemented culling, and how it is time for them to read this article. But for those who have already overcome “the first room syndrome" and tried to draw – inferior though, but, anyway - the world, this problem really is relevant.
However, it should be borne in mind that QUAKE, written in ancient times, was designed for levels of a “corridor" kind exclusively; therefore methods of clipping discussed in this article are not applicable to landscapes, such as ones from STALKER or Crysis, since completely different methods work there, whose analysis is beyond the scope of this article. Meanwhile we’ll talk about the classic corridor approach to mapping and the effective clipping of invisible surfaces, as well as clipping of entire objects.

The paper tree of baloon leaves

As you probably know, QUAKE uses BSP, Binary Spacing Partition tree. This is a space indexing algorithm, and BSP itself doesn’t care if the space is open or closed, it doesn’t even care if the map is sealed, it can be anything. BSP implies the division of a three-dimensional object into a certain number of secant planes called "the branches" or "the nodes" and volumetric areas or rooms called "the leaves". The names are confusing as you can see. In QUAKE / QUAKE2 the branches usually contain information about the surfaces that this branch contain, and the leaves are an empty space, not filled with nothing. Although sometimes leaves may contain water for example (in a form of a variable that indicates, specifically, that we’ve got water in this leaf). Also, the leaf contains a pointer to the data of potential visibility (Potentially Visible Set, PVS) and a list of all surfaces that are marked as being visible from this leaf. Actually the approach itself implies that we are able to draw our world however we prefer, either using leaves only or using branches only. This is especially noticeable in different versions of QUAKE: for example, in QUAKE1 in a leaf we just mark our surfaces as visible and then we also sequentially go through all the surfaces visible from a particular branch, assembling chains of surfaces to draw them later. But in QUAKE3, we can accumulate visible surfaces no sooner than we’ll get into the leaf itself.
In QUAKE and QUAKE2, all surfaces must lie on the node, which is why the BSP tree grows rather quickly, but in exchange this makes it possible to trace these surfaces by simply moving around the tree, not wasting time to check each surface separately, which affects the speed of the tracer positively. Because of this, unique surface is linked to each node (the original surface is divided into several if necessary) so in the nodes we always have what is known to be visible beforehand, and therefore we can perform a recursive search on the tree using the BBox pyramid of frustum as a direction of our movement along the BSP tree (SV_RecursiveWorldNode function).
In QUAKE3, the tree was simplified and it tries to avoid geometry cuts as much as possible (a BSP tree is not even obliged to cut geometry, such cuts are but a matter of optimality of such a tree). And surfaces in QUAKE3 do not lie on the node because patches and triangle models lie there instead. But what happens would they be put on the node nevertheless, you can see on the example of "The Edge Of Forever" map that I compiled recently for an experimental version of Xash. Turns out, in places that had a couple thousand visible nodes and leaves in the original, there are almost 170 thousand of them with a new tree. And this is the result after all the preliminary optimizations, otherwise it could have been even more, he-he. Yeah, so... For this reason, the tree in QUAKE3 does not put anything on the node and we certainly do need to get into the leaf, mark visible surfaces in it and add them to the rendering list. On the contrary, in QUAKE / QUAKE2 going deep down to the leaf itself is not necessary.
Invisible polygon cutoff (we are talking about world polys, separate game objects will be discussed a bit later) is based on two methods:
The first method is to use bit-vectors of visibility (so-called PVS - Potential Visible Set). The second method is regular frustum culling which actually got nothing to do with BSP but works just as efficiently, for a certain number of conditions of course. Bottom line: together these two methods provide almost perfect clipping of invisible polygons, drawing a very small visible piece out of the vast world. Let's take a closer look at PVS and how it works.

When FIDO users get drunk

Underlying idea of PVS is to expose the fact that one leaf is visible from another. For BSP alone it’s basically impossible because leaves from completely different branches can be visible at the same time and you will never find a way to identify the pattern for leafs from different branches seeing each other - it simply doesn’t exist. Therefore, the compiler has to puff for us, manually checking the visibility of all leaves from all leaves. Information about visibility in this case is scanty: one Boolean variable with possible values 0 and 1. 0 means that leaf is not visible and 1 means that leaf is visible. It is easy to guess that for each leaf there is a unique set of such Boolean variables the size of the total number of leaves on the map. So a set like this but for all the leaves will take an order of magnitude more space: the number of leaves multiplied by the number of leaves and multiplied by the size of our variable in which we will store information of visibility (0 \ 1).
And the number of leaves, as you can easily guess, is determined by map size map and by the compiler, which upon reaching a certain map size, cease to divide the world into leaves and treat resulting node as a leaf. Leaf size vary for different QUAKE. For example, in QUAKE1 leaves are very small. For example I can tell you that the compiler divide standard boxmap in QUAKE1 into as many as four leaves meanwhile in QUAKE3 similar boxmap takes only one leaf. But we digress.
Let's estimate the size of our future PVS file. Suppose we have an average map and it has a couple thousand leaves. Would we imagine that the information about the leaf visibility is stored in a variable of char type (1 byte) then the size of visdata for this level would be, no more no less, almost 4 megabytes. That is, much AF. Of course an average modern developer would shrug and pack the final result into zip archive but back in 1995 end users had modest machines, their memory was low and therefore visdata was packed in “more different” ways. The first step in optimizing is about storing data not in bytes, but in bits. It is easy to guess that such approach reduce final result as much as 8 times and what's typical AF – does it without any resource-intensive algorithms like Huffman trees. Although in exchange, such approach somewhat worsened code usability and readability. Why am I writing this? Due to many developers’ lack of understanding for conditions in code like this:
if ( pvs [ leafnum >> 3 ] & ( 1 << ( leafnum & 7 ) ) ) { } 
Actually, this condition implement simple, beautiful and elegant access to the desired bit in the array (as one can recall, addressing less than one byte is impossible and you can only work with them via bit operations)

Titans that keep the globe spinning

The visible part of the world is cut off in the same fashion: we find the current leaf where the player is located (in QUAKE this is implemented by the Mod_PointInLeaf function) then we get a pointer to visdata for the current leaf (for our convenience, it is linked directly to the leaf in the form of "compressed_vis" pointer) and then stupidly go through all the leaves and branches of the map and check them for being visible from our leaf (this can be seen in the R_MarkLeaves function). As long as some leaves turn out to be visible from the current leaf we assign them a unique number from "r_visframecount" sequence which increases by one every frame. Thus, we emphasize that this leaf is visible when we build the current frame. In the next frame, "r_framecount" is incremented by one and all the leaves are considered invisible again. As one can understand, this is much more convenient and much faster than revisiting all the leaves at the end of each frame and zeroing their "visible" variable. I drew attention to this feature because this mechanism also bothers some and they don’t understand how it works.
The R_RecursiveWorldNode function “walk” along leaves and branches marked this way. It cuts off obviously invisible leaves and accumulate a list of surfaces from visible ones. Of course the first check is done for the equivalence of r_visframecount and visframe for the node in question. Then the branch undergoes frustum pyramid check and if this check fails then we don’t climb further along this branch. Having stumbled upon a leaf, we mark all its surfaces visible the same way, assigning the current r_framecount value to the visframe variable (in the future this will help us to determine quickly whether a certain surface is visible in the current frame). Then, using a simple function, we determine which side we are from the plane of our branch (each branch has its own plane, literally called “plane” in the code) and, again, for now, we just take all surfaces linked to this branch and add them to the drawing chain (so-called “texturechain”), although nobody can actually stop us from drawing them immediately, right there, (in QUAKE1 source code one can see both options) having previously checked these surfaces for clipping with the frustum pyramid, or at least having made sure that the surface faces us.
In QUAKE, each surface has a special flag SURF_PLANEBACK which help us determine the orientation of the surface. But in QUAKE3 there is no such flag anymore, and clipping of invisible surfaces is not as efficient, sending twice as many surfaces for rendering. However, their total number after performing all the checks is not that great. However, whatever one may say, adding this check to Xash3D raised average FPS almost one and half times in comparison to original Half-Life. This is on the matter whether it is beneficial. But we digress.
So after chaining and drawing visible surfaces, we call R_RecursiveWorldNode again but now - for the second of two root branches of BSP tree. Just in case. Because the visible surfaces, too, may well be there. When the recursion ends, the result will either be a whole rendered world, or chains of visible surfaces at least. This is what can actually be sent for rendering with OpenGL or Direct3D, well, if we did not draw our world right in the R_RecursiveWorldNode function of course. Actually this method with minor upgrades successfully used in all three QUAKEs.

A naked man is in a wardrobe because he's waiting for a tram

One of the upgrades is utilization of the so-called areaportals. This is another optimization method coming straight out of QUAKE2. The point of using areaportals is about game logic being able to turn the visibility of an entire sectors on and off at its discretion. Technically, this is achieved as follows: the world is divided into zones similar to the usual partitioning along the BSP tree, however, there can’t be more than 256 of them (later I will explain why) and they are not connected in any way.
Regular visibility is determined just like in QUAKE; however, by installing a special “func_areaportal” entity we can force the compiler to split an area in two. This mechanism operates on approximately the same principle as the algorithm of searching for holes in the map, so you won’t deceive the compiler by putting func_areaportal in a bare field - the compiler will simply ignore it. Although if you make areaportal the size of the cross-section of this field (to the skybox in all directions) in spite of everything the zones will be divided. We can observe this technique in Half-Life 2 where an attempt to return to old places (with cheats for example) shows us disconnected areaportals and a brief transition through the void from one zone to another. Actually, this mechanism helped Half-Life 2 simulate large spaces successfully and still use BSP level structure (I have already said that BSP, its visibility check algorithm to be precise, is not very suitable for open spaces).
So installed areaportal forcibly breaks one zone into two, and the rest of the zoneization is at the discretion of the compiler, which at the same time makes sure not to exceed 256 zones limit, so their sizes can be completely different. Well, I repeat, it depends on the overall size of the map. Our areaportal is connected to some door dividing these two zones. When the door is closed - it turns areaportal off and the zones are separated from each other. Therefore, if the player is not in the cut off zone, then rendering it is not worth it. In QUAKE, we’d have to do a bunch of checks and it’s possible that we could only cut off a fraction of the number of polygons (after all, the door itself is not an obstacle for either visibility check, or even more so, nor it is for frustum). Compare to case in point: one command is issued - and the whole room is excluded from visibility. “Not bad,” you’d say, “but how would the renderer find out? After all, we performed all our operations on the server and the client does not know anything about it.” And here we go back to the question why there can’t be more than 256 zones.
The point is, information about all of zone visibility is, likewise, packaged in bit flags (like PVS) and transmitted to the client in a network message. Dividing 256 bits by 8 makes 32 bytes, which generally isn’t that much. In addition, the tail of this information can be cut off at ease if it contains zeroes only. Though the payback for such an optimization would appear as an extra byte that will have to be transmitted over the network to indicate the actual size of the message about the visibility of our zones. But, in general, this approach justified.

Light_environment traces enter from the back

Source Engine turned out to have a terrible bug which makes the whole areaportal thing nearly meaningless. Numerous problems arise because of it: water breaks down into segments that pop in, well, you should be familiar with all this by now. Areaportal cuts the geometry unpredictably, like an ordinary secant plane, but its whole point is being predictable! Whereas areaportal brushes in Source Engine have absolutely no priority in splitting the map. It should be like this: first, the tree is cut the regular way. And when no suitable planes left, the final secant plane of areaportal is used. This is the only way to cut the sectors correctly.

Modern problems

The second optimization method, as I said, is increased size of the final leaf akin to QUAKE3. It is believed that a video card would draw a certain amount of polygons much faster than the CPU would check whether they are visible. This come from the very concept of visibility check: if visibility check takes longer than direct rendering, then well, to hell with this check. The controversy of this approach is determined by a wide range of video cards present at the hands of the end users, and it is strongly determined by the surging fashion for laptops and netbooks in which a video card is a very conditional and very weak concept (don’t even consider its claimed Shader Model 3 support). Therefore, for desktop gaming machines it would be more efficient to draw more at a time, but for weak video cards of laptops traditional culling will remain more reliable. Even if it is such a simple culling as I described earlier.

Decompression sickness simulator

Although I should also mention the principles of frustum culling, perhaps they are incomprehensible to some. Cutoff by frustum pyramid is actually pure mathematics without any compiler calculations. From the current direction of the player’s gaze, a clipping pyramid is built (the tip of the pyramid – in case someone can’t understand - is oriented towards the player’s point of view and its base is oriented in the direction of player’s view). The angle between the walls of the pyramid can be sharp or blunt - as you probably guessed already, it depends on the player's FOV. In addition, the player can forcefully pull the far wall of the pyramid closer to himself (yes, this is the notorious “MaxRange” parameter in the “worldspawn” menu of the map editor). Of course, OpenGL also builds a similar pyramid for its internal needs when it takes information from the projection matrix but we’re talking local pyramid now. The finished pyramid consists of 4-6 planes (QUAKE uses only 4 planes and trusts OpenGL to independently cut far and near polygons, but if you write your own renderer and intend to support mirrors and portals you will definitely need all six planes). Well, the frustum test itself is an elementary check for a presence of AA-box (AABB, Axis Aligned Bounding Box) in the frustum pyramid. Or speaking more correctly, this is a check for their intersection. Let me remind you that each branch has its own dimensions (a fragment of secant plane bound by neighboring perpendicular secant planes) which are checked for intersection. But unfortunately the frustum test has one fundamental drawback - it cannot cut what is directly in the player’s view. We can adjust the cutoff distance, we can even make that “ear feint” like they do in QFusion where final zFar value is calculated in each frame before rendering and then taken into account in entity clipping, but after all, whatever they say, the value itself was obtained from PVS-information. Therefore, neither of two methods can replace the other but they just complement each other. This should be remembered.

I gotta lay off the pills I'm taking

It seems that we figured out the rendering of the world and now we are moving on smoothly to cutting off moving objects... which are all the visible objects in the world! Even ones that, at te first glance, stand still and aren’t planning to move anywhere. Cause the player moves! From one point he still sees a certain static object, and from another point, of course, he no longer does. This detail should also be considered.
Actually, at the beginning of this article I already spoke in detail about an algorithm of objects’ visibility check: first we find the visible leaf for the player, then we find the visible leaf for the entity and then we check by visdata whether they see each other. I, too, would like to clarify (if someone suddenly does not understand) how each moving entity is given the number of its current visible leaf, i.e. directly for entity’s its own current position, and the leaves themselves are of course static and always in the same place.

Ostrich is such an OP problem solver

So the method described above has two potential problems:
The first problem is that even if A equals B, then, oddly enough, B is far from being always equal A. In other words, entity A can see entity B, but this does not mean that entity B see entity A, and, no, it’s not about one of them “looking” away. So why is this happening? Most often for two reasons:
The first reason is that one of the entities’ ORIGIN sit tight inside the wall and the Mod_PointInLeaf function for it points to the outer “zero” leaf from which EVERYTHING is visible (haven’t any of you ever flown around the map?). Meanwhile, no leaf inside the map can see outer leaf - these two features actually explain an interesting fact of an entire world geometry becoming visible and on the contrary, all objects disappearing when you fly outside the map. In regular mode, similar problems can occur for objects attached to the wall or recessed into the wall. For example, sometimes the sounds of a pressed button or opening door disappear because its current position went beyond the world borders. This phenomenon is fought by interchanging objects A and B or by obtaining alternative points for the position of an object, but all the same, it’s all not very reliable.

But lawyer said that you don't exist

In addition, as I said, there is another problem. It come from the fact that not every entity fits a single leaf. Only the player is so small that he can always be found in one leaf only (well, in the most extreme case - in two leaves on the border of water and air. This phenomenon is fought with various hacks btw), but some giant hentacle or on the contrary, an elevator made as a door entity, can easily occupy 30-40 leaves at a time. An attempt to check one leaf (for example, one where the center of the model is) will inevitably lead to a deplorable result: as soon as the center of an object will be out of the player’s visibility range, the entire object will disappear completely. The most common case is the notorious func_door used as an elevator. There is one in QUAKE on the E1M1. Observe: it travels halfway and then its ORIGIN is outside the map and therefore it must disappear from the player’s field of view. However, it does not go anywhere, right? Let us see in greater detail how this is done.
The simplest idea that comes to one’s mind: since the object occupies several leaves, we have to save them all somewhere in the structure of an object in the code and check them one by one. If at least one of these leaves is visible, then the whole object is visible (for example, it’s very tip). This is exactly what was implemented in QUAKE: a static array for 16 leaves and a simple recursive function SV_FindTouchedLeafs that looks for all the leaves in range hardcoded in "pev->absmins" and "pev->absmax" variables (pev i.e. a Pointer to EntVars_t table). absmins and absmax are recalculated each time SV_LinkEdict (or its more specific case of UTIL_SetOrigin) is called. Hence the quite logical conclusion that a simple change of ORIGIN without recalculating its visible leaf will take the object out of visibility sooner or later even if, surprisingly enough, it’s right in front of the player and the player should technically still be able to see it. Inb4 why one have to call UTIL_SetOrigin and wouldn’t it be easier to just assign new value to the "pev->origin" vector without calling this function. It wouldn’t.
With this method we can solve both former problems perfectly: we can fight the loss of visibility if the object's ORIGIN went beyond the world borders and level the difference of visibility for A->B versus visibility for B->A.

A secret life of monster_tripmine

Actually we’ve yet to encounter another problem, but it does not occur immediately. Remember, we’ve got an array of 16 leaves. But what if it won’t be enough? Thank God there are no beams in QUAKE and no very long elevators made as func_door either. For this exact reason. Because when the array is filled to capacity, the SV_FindTouchedLeafs function just stop and we can only hope that there won’t be that many cases when an object disappear right before our eyes. But in the original QUAKE, such cases may well be. In Half-Life, the situation is even worse - as you can remember there are rays that can reach for half the map, tripmine rays for example. In this case, a situation may occur when we see just the very tip of the ray. For most of these rays, 16 leaves are clearly not enough. Valve tried to remedy the situation by increasing the array to 48 leaves. That helped. On early maps. If you remember, at the very beginning of the game when the player has already got off the trailer, he enters that epic elevator that takes him down. The elevator is made as a door entity and it occupies 48 leaves exactly. Apparently, the final expansion of the array was based after its dimensions. Then the programmers realized that this isn’t really a solution, because no matter how much one would expand the array, it can still be lacking for something. So then they screwed up an alternative method for visibility check: a head branch (headnode) check. In short, this is still the same SV_FindTouchedLeafs but now it is called directly from the place of visibility check and with a subsequent transfer of visdata in there. In general, it is not used very often because it is slower than checking pre-accumulated leaves, that is, it is intended just for such non-standard cases like this one.
Well, and since, I hope, general picture of the clipping mechanism already beginning to take shape in your mind, I will finish the article in just a few words.
On the server, all objects that have already passed the visibility check are added to the network message containing information about visible objects. Thus, on the client, the list of visible entities is already cut off by PVS and we do not have to do this again and therefore a simple frustum check is enough. You ask, "why did we have to cut off invisible objects on the server when we could do this later when we are on the client already?" I reply: yes, we could, but now the objects cut off on the server didn’t get into the network message and saved us some traffic. And since the player still does not see them, what is the point of transferring them to the client just to check them for visibility after? This is a kind of double optimizing :)
© Uncle Mike 2012
submitted by crystallize1 to hammer [link] [comments]

[Table] Asteroid Day AMA – We’re engineers and scientists working on a mission that could, one day, help save humankind from asteroid extinction. Ask us anything!

Source
There are several people answering: Paolo Martino is PM, Marco Micheli is MM, Heli Greus is HG, Detlef Koschny is DVK, and Aidan Cowley is AC.
Questions Answers
Can we really detect any asteroids in space with accuracy and do we have any real means of destroying it? Yes, we can detect new asteroids when they are still in space. Every night dozens of new asteroids are found, including a few that can come close to the Earth.
Regarding the second part of the question, the goal would be to deflect them more than destroy them, and it is technologically possible. The Hera/DART mission currently being developed by ESA and NASA will demonstrate exactly this capability.
MM
I always wanted to ask: what is worse for life on Earth - to be hit by a single coalesced asteroid chunk, or to be hit by a multiple smaller pieces of exploded asteroid, aka disrupted rubble pile scenario? DVK: This is difficult to answer. If the rubble is small (centimetres to meters) it is better to have lots of small ones – they’d create nice bright meteors. If the rubble pieces are tens of meters it doesn’t help.
Let’s say that hypothetically, an asteroid the size of Rhode Island is coming at us, it will be a direct hit - you’ve had the resources and funding you need, your plan is fully in place, everything you’ve wanted you got. The asteroid will hit in 10 years, what do you do? DVK: I had to look up how big Rhode Island is – a bit larger than the German Bundesland ‘Saarland’. Ok – this would correspond to an object about 60 km in diameter, right? That’s quite big – we would need a lot of rocket launches, this would be extremely difficult. I would pray. The good news is that we are quite convinced that we know all objects larger than just a few kilometers which come close to our planet. None of them is on a collision course, so we are safe.
the below is a reply to the above
Why are you quite convinced that you know all object of that size? And what is your approach in finding new celestial bodies? DVK: There was a scientific study done over a few years (published in Icarus 2018, search for Granvik) where they modelled how many objects there are out there. They compared this to the observations we have with the telescopic surveys. This gives us the expected numbers shown here on our infographic: https://www.esa.int/ESA_Multimedia/Images/2018/06/Asteroid_danger_explained
There are additional studies to estimate the ‘completeness’ – and we think that we know everything above roughly a few km in size.
To find new objects, we use survey telescopes that scan the night sky every night. The two major ones are Catalina and Pan-STARRS, funded by NASA. ESA is developing the so-called Flyeye telescope to add to this effort https://www.esa.int/ESA_Multimedia/Images/2017/02/Flyeye_telescope.
the below is a reply to the above
Thanks for the answer, that's really interesting! It's also funny that the fist Flyeye deployed is in Sicily, at less than 100km from me, I really had no idea DVK: Indeed, that's cool. Maybe you can go and visit it one day.
the below is a reply to the original answer
What about Interstellar objects however, like Oumuamua? DVK: The two that we have seen - 'Oumuamua and comet Borisov - were much smaller than the Saarland (or Rhode Island ;-) - not sure about Borisov, but 'Oumuamua was a few hundred meters in size. So while they could indeed come as a complete surprise, they are so rare that I wouldn't worry.
Would the public be informed if an impending asteroid event were to happen? And, how would the extinction play out? Bunch of people crushed to death, knocked off our orbit, dust clouds forever? DVK: We do not keep things secret – all our info is at the web page http://neo.ssa.esa.int. The ‘risky’ objects are in the ‘risk page’. We also put info on really close approaches there. It would also be very difficult to keep things ‘under cover’ – there are many high-quality amateur astronomers out there that would notice.
In 2029 asteroid Apophis will fly really close to Earth, even closer than geostationary satellites. Can we use some of those satellites to observe the asteroid? Is it possible to launch very cheap cube sats to flyby Apophis in 2029? DVK: Yes an Apophis mission during the flyby in 2029 would be really nice. We even had a special session on that topic at the last Planetary Defense Conference in 2019, and indeed CubeSats were mentioned. This would be a nice university project – get me a close-up of the asteroid with the Earth in the background!
the below is a reply to the above
So you’re saying it was discussed and shelved? In the conference we just presented ideas. To make them happen needs funding - in the case of ESA the support of our member countries. But having something presented at a conference is the first step. One of the results of the conference was a statement to space agencies to consider embarking on such a mission. See here: https://www.cosmos.esa.int/documents/336356/336472/PDC_2019_Summary_Report_FINAL_FINAL.pdf/341b9451-0ce8-f338-5d68-714a0aada29b?t=1569333739470
Go to the section 'resolutions'. This is now a statement that scientists can use to present to their funding agencies, demonstrating that it's not just their own idea.
Thanks for doing this AMA! Did we know the Chelyabinsk meteor in 2013 (the one which had some great videos on social media) was coming? Ig not, how comes? Also, as a little side one, have there been any fatalities from impact events in the past 20 years? Unfortunately, the Chelyabinsk object was not seen in advance, because it came from the direction of the Sun where ground-based telescopes cannot look.
No known fatalities from impacts have happened in the past 20 years, although the Chelyabinsk event did cause many injuries, fortunately mostly minor.
MM
the below is a reply to the above
How often do impacts from that direction happen, compared to impacts from visible trajectories? In terms of fraction of the sky, the area that cannot be easily scanned from the ground is roughly a circle with a radius of 40°-50° around the current position of the Sun, corresponding to ~15% of the total sky. However, there is a slight enhancement of objects coming from that direction, therefore the fraction of objects that may be missed when heading towards us is a bit higher.
However, this applies only when detecting an asteroid in its "final plunge" towards the Earth. Larger asteroids can be spotted many orbits earlier, when they are farther away and visible in the night side of the sky. Their orbits can then be determined and their possible impacts predicted even years or decades in advance.
MM
There must be a trade-off when targeting asteroids as they get closer to Earth, is there a rule of thumb at what the best time is to reach them, in terms of launch time versus time to reach the asteroid and then distance from Earth? DVK: Take e.g. a ‘kinetic impactor’ mission, like what DART and Hera are testing. Since we only change the velocity of the asteroid slightly, we need to hit the object early enough so that the object has time to move away from it’s collision course. Finding out when it is possible to launch requires simulations done by our mission analysis team. They take the strength of the launcher into account, also the available fuel for course corrections, and other things. Normally each asteroid has its own best scenario.
Do you also look at protecting the moon from asteroids? Would an impact of a large enough scale potentially have major impacts on the earth? DVK: There are programmes that monitor the Moon and look for flashes from impacting small asteroids (or meteoroids) - https://neliota.astro.noa.g or the Spanish MIDAS project. We use the data to improve our knowledge about these objects. These programmes just look at what is happening now.
For now we would not do anything if we predicted a lunar impact. I guess this will change once we have a lunar base in place.
Why aren't there an international organisation comprised of countries focused on the asteroid defence? Imagine like the organisation with multi-billion $ budget and program of action on funding new telescopes, asteroid exploration mission, plans for detection of potentially dangerous NEA, protocols on action after the detection - all international, with heads of states discussing these problems? DVK: There are international entities in place, mandated by the UN: The International Asteroid Warning Network (http://www.iawn.net) and the Space Mission Planning Advisory Group (http://www.smpag.net). These groups advise the United Nations. That is exactly where we come up with plans and protocols on action. But: They don’t have budget – that needs to come from elsewhere. I am expecting that if we have a real threat, we would get the budget. Right now, we don’t have a multi-billion budget.
the below is a reply to someone else's answer
There is no actual risk of any sizable asteroids hitting earth in the foreseeable future. Any preparation for it would just be a waste of money. DVK: Indeed, as mentioned earlier, we do not expect a large object to hit is in the near future. We are mainly worried about those in the size range of 20 m to 40 m, which happen on average every few tens of years to hundreds of years. And where we only know a percent of them or even less.
President Obama wanted to send a crewed spacecraft to an asteroid - in your opinion is this something that should still be done in the future, would there be any usefulness in having a human being walk/float on an asteroid's surface? DVK: It would definitely be cool. I would maybe even volunteer to go. Our current missions to asteroids are all robotic, the main reason is that it is much cheaper (but still expensive) to get the same science. But humans will expand further into space, I am sure. If we want to test human exploration activities, doing this at an asteroid would be easier than landing on a planet.
this is another reply Yes, but I am slightly biased by the fact that I work at the European astronaut centre ;) There exist many similarities to what we currently do for EVA (extra vehicular activities) operations on the International Space Station versus how we would 'float' around an asteroid. Slightly biased again, but using such a mission to test exploration technologies would definitely still have value. Thanks Obama! - AC
I've heard that some asteroids contains large amounts of iron. Is there a possibility that we might have "space mines" in the far away future, if our own supply if iron runs out? Yes, this is a topic in the field known as space mining, part of what we call Space Resources. In fact, learning how we can process material we might find on asteroids or other planetary bodies is increasingly important, as it opens up the opportunities for sustainable exploration and commercialization. Its a technology we need to master, and asteroids can be a great target for testing how we can create space mines :) - AC
By how much is DART expected to deflect Didymos? Do we have any indication of the largest size of an asteroid we could potentially deflect? PM: Didymos is a binary asteroid, consisting of a main asteroid Didymos A (~700m) and a smaller asteroid Didymos B (~150m) orbiting around A with a ~12 hours period. DART is expected to impact Didymos B and change its orbital period w.r.t. Didymos A of ~1%. (8 mins)
The size of Didymos B is the most representative of a potential threat to Earth (the highest combination of probability and consequence of impacts), meaning smaller asteroids hit the Earth more often but have less severe consequences, larger asteroids can have catastrophic consequences but their probability of hitting the earth is very very low.
the below is a reply to the above
Why is there less probability of larger asteroids hitting earth? DVK: There are less large objects out there. The smaller they are, the more there are.
the below is a reply to the original answer
Is there any chance that your experiment will backfire and send the asteroid towards earth? PM: Not at all, or we would not do that :) Actually Dimorphos (the Didymos "moon") will not even leave its orbit around Didymos. It will just slightly change its speed.
I'm sure you've been asked this many times but how realistic is the plot of Armageddon? How likely is it that our fate as a species will rely on (either) Bruce Willis / deep sea oil drillers? Taking into consideration that Bruce Willis is now 65 and by the time HERA is launched he will be 69, I do not think that we can rely on him this time (although I liked the movie).
HERA will investigate what method we could use to deflect asteroid and maybe the results will show that we indeed need to call the deep sea oil drillers.
HG
the below is a reply to the above
So then would it be easier to train oil drillers to become astronauts, or to train astronauts to be oil drillers? I do not know which one would be easier since I have no training/experience of deep see oil drilling nor becoming an astronaut, but as long as the ones that would go to asteroid have the sufficient skills and training (even Bruce Willis), I would be happy.
HG
If budget was no object, which asteroid would you most like to send a mission to? Nice question! For me, I'd be looking at an asteroid we know something about, since I would be interested in using it for testing how we could extract resources from it. So for me, I would choose Itokawa (https://en.wikipedia.org/wiki/25143_Itokawa), which was visited by Hayabusa spacecraft. So we already have some solid prospecting carried out for this 'roid! - AC
this is another reply Not sure if it counts as an asteroid, but Detlef and myself would probably choose ʻOumuamua, the first discovered interstellar object.
MM
the below is a reply to the above
Do we even have the capability to catch up to something like that screaming through our solar system? That thing has to have a heck of a velocity to just barrel almost straight through like that. DVK: Correct, that would be a real challenge. We are preparing for a mission called 'Comet Interceptor' that is meant to fly to an interstellar object or at least a fresh comet - but it will not catch up with it, it will only perform a short flyby.
https://www.esa.int/Science_Exploration/Space_Science/ESA_s_new_mission_to_intercept_a_comet
After proving to be able to land on one, could an asteroid serve as a viable means to transport goods and or humans throughout the solar system when the orbit of said asteroid proves beneficial. While it is probably quite problematic to land the payload, it could save fuel or am I mistaken? Neat idea! Wonder if anyone has done the maths on the amount of fuel you would need/save vs certain targets. - AC
PM: To further complement, the saving is quite marginal indeed because in order to land (softly) on the asteroid you actually need to get into the very same orbit of that asteroid . At that point your orbit remains the same whether you are on the asteroid or not..
can the current anti-ballistic missiles systems intercept a terminal phase earth strike asteroid? or it is better to know beforehand and launch an impacting vehicle into space? DVK: While I do see presentations on nuclear explosions to deflect asteroids at our professional meetings, I have not seen anybody yet studying how we could use existing missile systems. So it's hard to judge whether existing missiles would do the job. But in general, it is better to know as early as possible about a possible impact and deflect it as early as possible. This will minimize the needed effort.
How much are we prepared against asteroid impacts at this moment? DVK: 42… :-) Seriously – I am not sure how to quantify ‘preparedness’. We have international working groups in place, mentioned earlier (search for IAWN, SMPAG). We have a Planetary Defence Office at ESA, a Planetary Defense Office at NASA (who spots the difference?), search the sky for asteroids, build space missions… Still we could be doing more. More telescopes to find the object, a space-based telescope to discover those that come from the direction of the Sun. Different test missions would be useful, … So there is always more we could do.
Have you got any data on the NEO coverage? Is there estimations on the percentage of NEOs we have detected and are tracking? How can we improve the coverage? How many times have asteroids been able to enter earths atmosphere without being detected beforehand? Here’s our recently updated infographics with the fraction of undiscovered NEOs for each size range: https://www.esa.int/ESA_Multimedia/Images/2018/06/Asteroid_danger_explained
As expected, we are now nearly complete for the large ones, while many of the smaller ones are still unknown.
In order to improve coverage, we need both to continue the current approach, centered on ground-based telescopes, and probably also launch dedicated telescopes to space, to look at the fraction of the sky that cannot be easily observed from the ground (e.g., towards the Sun).
Regarding the last part of your question, small asteroids enter the Earth atmosphere very often (the infographics above gives you some numbers), while larger ones are much rarer.
In the recent past, the largest one to enter our atmosphere was about 20 meters in diameter, and it caused the Chelyabinsk event in 2013. It could not be detected in advance because it came from the direction of the Sun.
We have however detected a few small ones before impact. The first happened in 2008, when a ~4-meter asteroid was found to be on a collision course less than a day before impact, it was predicted to fall in Northern Sudan, and then actually observed falling precisely where (and when) expected.
MM
this is another reply >After
DVK: And to add what MM said - Check out http://neo.ssa.esa.int. There is a ‘discovery statistics’ section which provides some of the info you asked about. NASA is providing similar information here https://cneos.jpl.nasa.gov/stats/. To see the sky which is currently covered by the survey telescopes, you need to service of the Minor Planet Center which we all work together with: http://www.minorplanetcenter.org, ‘observers’, ‘sky coverage’. That is a tool we use to plan where we look with our telescopes, so it is a more technical page.
Are there any automatic systems for checking large numbers of asteroids orbits, to see if the asteroid's orbit is coming dangerously close to Earth, or is it done by people individually for every asteroid? I ask it because LSST Rubin is coming online soon and you know it will discover a lot of new asteroids. Yes, such systems exist, and monitor all known and newly discovered asteroids in order to predict possible future impacts.
The end result of the process is what we call "risk list": http://neo.ssa.esa.int/risk-page
It is automatically updated every day once new observational data is processed.
MM
What are your favourite sci-fi series? DVK: My favorites are ‘The Expanse’, I also liked watching ‘Salvation’. For the first one I even got my family to give me a new subscription to a known internet streaming service so that I can see the latest episodes. I also loved ‘The Jetsons’ and ‘The Flintstones’ as a kid. Not sure the last one counts as sci-fi though. My long-time favorite was ‘Dark Star’.
this is another reply Big fan of The Expanse at the moment. Nice, hard sci-fi that has a good impression of being grounded in reality - AC
this is another reply When I was a kid I liked The Jetsons, when growing up Star Trek, Star wars and I also used to watch with my sister the 'V'.
HG
When determining the potential threat of a NEA, is the mass of an object a bigger factor or size? I'm asking because I'm curious if a small but massive object (say, with the density of Psyche) could survive atmospheric entry better than a comparatively larger but less massive object. The mass is indeed what really matters, since it’s directly related with the impact energy.
And as you said composition also matters, a metal object would survive atmospheric entry better, not just because it’s heavier, but also because of its internal strength.
MM
What are your thoughts on asteroid mining as portrayed in sci-fi movies? Is it feasible? If so would governments or private space programs be the first to do so?What type of minerals can be found on asteroids that would merit the costs of extraction? Certainly there is valuable stuff you can find on asteroids. For example, the likely easiest material you can harvest from an asteroid would be volatiles such as H2O. Then you have industrial metals, things like Iron, Nickel, and Platinum group metals. Going further, you can break apart many of the oxide minerals you would find to get oxygen (getting you closer to producing rocket fuel in-situ!). Its feasible, but still needs alot of testing both here on Earth and eventually needs to be tested on a target. It may be that governments, via agencies like ESA or NASA, may do it first, to prove the principles somewhat, but I know many commercial entities are also aggresively working towards space mining. To show you that its definitely possible, I'd like to plug the work of colleagues who have processed lunar regolith (which is similar to what you may find on asteroids) to extract both oxygen and metals. Check it out here: http://www.esa.int/ESA_Multimedia/Images/2019/10/Oxygen_and_metal_from_lunar_regolith
AC
Will 2020's climax be a really big rock? DVK: Let's hope not...
Considering NASA, ESA, IAU etc. is working hard to track Earth-grazing asteroids, how come the Chelyabinsk object that airburst over Russia in 2013 came as a total surprise? The Chelyabinsk object came from the direction of the Sun, where unfortunately ground-based telescopes cannot look at. Therefore, it would not have been possible to discover it in advance with current telescopes. Dedicated space telescopes are needed to detect objects coming from this direction in advance.
MM
the below is a reply to the above
Is this to say that it was within specific solid angles for the entire time that we could have observed it given its size and speed? Yes, precisely that. We got unlucky in this case.
MM
Have any of you read Lucifer's Hammer by Larry Niven? In your opinion, how realistic is his depiction of an asteroid strike on Earth? DVK: I have – but really long ago, so I don’t remember the details. But I do remember that I really liked the book, and I remember I always wanted to have a Hot Fudge Sundae when reading it.
I was thinking about the asteroid threat as a teen and came up with this ideas (Hint: they are not equally serious, the level of craziness goes up real quick). Could you please comment on their feasibility? 1. Attaching a rocket engine to an asteroid to make it gradually change trajectory, do that long in advance and it will miss Earth by thousands of km 2. Transporting acid onto asteroid (which are mainly metal), attaching a dome-shaped reaction chamber to it, using heat and pressure to then carry out the chemical reaction to disintegrate asteroids 3. This one is even more terrible than a previous one and totally Dan Brown inspired — transporting antimatter on asteroid, impacting and causing annihilation. Thank you for this AMA and your time! DVK: Well the first one is not so crazy, I have seen it presented... the difficulty is that all asteroids are rotating in one way or another. So if you continuously fire the engine it would not really help. You'd need to switch the engine on and off. Very complex. And landing on an asteroid is challenging too. Just using the 'kinetic impactor' which we will test with DART/Hera (described elsewhere in this chat) is simpler. Another seriously proposed concept is to put a spacecraft next to an asteroid and use an ion engine (like we have on our Mercury mission BepiColombo) to 'push' the asteroid away.
As for 2 and 3 I think I will not live to see that happening ;-)
What is the process to determine the orbit of a newly discovered asteroid? The process is mathematically quite complex, but here's a short summary.
Everything starts with observations, in particular with measurements of the position of an asteroid in the sky, what we call "astrometry". Discovery telescopes extract this information from their discovery images, and make it available to everybody.
These datapoints are then used to calculate possible trajectories ("orbits") that pass through them. At first, with very few points, many orbits will be possible.
Using these orbits we can extrapolate where the asteroid will be located during the following nights, use a telescope to observe that part of the sky, and locate the object again.
From these new observations we can extract new "astrometry", add it to the orbit determination, and see that now only some of the possible orbits will be compatible with the new data. As a result, we now know the trajectory better than before, because a few of the possible orbits are not confirmed by the new data.
The cycle can then continue, with new predictions, new observations, and a more accurate determination of the object's orbit, until it can be determined with an extremely high level of accuracy.
MM
What are some asteroids that are on your "watchlist"? We have exactly that list on our web portal: http://neo.ssa.esa.int/risk-page
It's called "risk list", and it includes all known asteroids for which we cannot exclude a possible impact over the next century. It is updated every day to include newly discovered asteroids, and remove those that have been excluded as possible impactors thanks to new observations.
MM
the below is a reply to the above
That's quite a list!! Do you guys ever feel stressed or afraid when you have to add another dangerous candidate (and by dangerous I mean those above 200m) is added to this Risk List? Yes, when new dangerous ones are added it's important that we immediately do our best to gather more data on them, observing them with telescopes in order to get the information we need to improve our knowledge of their orbit.
And then the satisfaction of getting the data needed to remove one from the list is even greater!
MM
What inspired you to go into this field of study? I was fascinated by astronomy in general since I was a kid, but the actual "trigger" that sparked my interest in NEOs was a wonderful summer course on asteroids organized by a local amateur astronomers association. I immediately decided that I would do my best to turn this passion into my job, and I'm so happy to have been able to make that dream come true.
MM
this is another reply DVK: I started observing meteors when I was 14, just by going outside and looking at the night sky. Since then, small bodies in the solar system were always my passion.
As a layperson, I still think using nuclear weapons against asteroids is the coolest method despite better methods generally being available. Do you still consider the nuclear option the cool option, or has your expertise in the field combined with the real-life impracticalities made it into a laughable/silly/cliche option? DVK: We indeed still study the nuclear option. There are legal aspects though, the ‘outer space treaty’ forbids nuclear explosions in space. But for a large object or one we discover very late it could be useful. That’s why we have to focus on discovering all the objects out there as early as possible – then we have time enough to use more conventional deflection methods, like the kinetic impactor (the DART/Hera scenario).
It seems like doing this well would require international cooperation, particularly with Russia. Have you ever reached out to Russia in your work? Do you have a counterpart organization there that has a similar mission? DVK: Indeed international cooperation is important - asteroids don't know about our borders! We work with a Russian team to perform follow-up observations of recently discovered NEOs. Russia is also involved in the UN-endorsed working groups that we have, IAWN and SMPAG (explained in another answer).
how much can experts tell from a video of a fireball or meteor? Can you work out what it's made of and where it came from? https://www.reddit.com/space/comments/hdf3xe/footage_of_a_meteor_at_barrow_island_australia/?utm_source=share&utm_medium=web2x If multiple videos or pictures, taken from different locations, are available, then it's possible to reconstruct the trajectory, and extrapolate where the object came from.
Regarding the composition, it's a bit more difficult if nothing survives to the ground, but some information can be obtained indirectly from the fireball's color, or its fragmentation behavior. If a spectral analysis of the light can be made, it's then possible to infer the chemical composition in much greater detail.
MM
I've always wanted to know what the best meteorite buying site is and what their average price is?? DVK: Serious dealers will be registered with the 'International Meteorite Collectors Association (IMCA)' - https://www.imca.cc/. They should provide a 'certificate of authenticity' where it says that they are member there. If you are in doubt, you can contact the association and check. Normally there are rough prices for different meteorite types per gram. Rare meteorites will of course be much more expensive than more common ones. Check the IMCA web page to find a dealer close to you.
Just read through Aidans link to the basaltic rock being used as a printing material for lunar habitation. There is a company called Roxul that does stone woven insulation that may be able to shed some light on the research they have done to minimize their similarity to asbestos as potentially carcinogenic materials deemed safe for use in commercial and residential applications. As the interior surfaces will essentially be 3D printed lunar regolith what are the current plans to coat or dampen the affinity for the structure to essentially be death traps for respiratory illness? At least initially, many of these 3d printed regolith structures would not be facing into pressurised sections, but would rather be elements placed outside and around our pressure vessels. Such structures would be things like radiation shields, landing pads or roadways, etc. In the future, if we move towards forming hermetically sealed structures, then your point is a good one. Looking into terrestrial solutions to this problem would be a great start! - AC
What kind of career path does it take to work in the asteroid hunting field? It's probably different for each of us, but here's a short summary of my own path.
I became interested in asteroids, and near-Earth objects in particular, thanks to a wonderful summer course organized by a local amateur astronomers association. Amateur astronomers play a great role in introducing people, and young kids in particular, to these topics.
Then I took physics as my undergrad degree (in Italy), followed by a Ph.D. in astronomy in the US (Hawaii in particular, a great place for astronomers thanks to the exceptional telescopes hosted there).
After finishing the Ph.D. I started my current job at ESA's NEO Coordination Centre, which allowed me to realize my dream of working in this field.
MM
this is another reply DVK: Almost all of us have a Master's degree either in aerospace engineering, mathematics, physics/astronomy/planetary science, or computer science. Some of us - as MM - have a Ph.D. too. But that's not really a requirement. This is true for our team at ESA, but also for other teams in other countries.
What is the likelihood of an asteroid hitting the Earth In the next 200 years? It depends on the size, large ones are rare, while small ones are much more common. You can check this infographics to get the numbers for each size class: https://www.esa.int/ESA_Multimedia/Images/2018/06/Asteroid_danger_explained
MM
Have you played the Earth Defence Force games and if you have, which one is your favourite? No I have not played the Earth Defence Force games, but I just looked it up and I think I would liked it. Which one would you recommend?
HG
How close is too close to earth? Space is a SUPER vast void so is 1,000,000 miles close, 10,000,000? And if an asteroid is big enough can it throw earth off its orbit? DVK: Too close for my taste is when we compute an impact probability > 0 for the object. That means the flyby distance is zero :-) Those are the objects on our risk page http://neo.ssa.esa.int/risk-page.
If an object can alter the orbit of another one, we would call it planet. So unless we have a rogue planet coming from another solar system (verrry unlikely) we are safe from that.
How can I join you when I'm older? DVK: Somebody was asking about our career paths... Study aerospace engineering or math or physics or computer science, get a Masters. Possibly a Ph.D. Then apply for my position when I retire. Check here for how to apply at ESA: https://www.esa.int/About_Us/Careers_at_ESA/Frequently_asked_questions2#HR1
How much is too much? DVK: 42 again
Are you aware of any asteroids that are theoretically within our reach, or will be within our reach at some point, that are carrying a large quantity of shungite? If you're not aware, shungite is like a 2 billion year old like, rock stone that protects against frequencies and unwanted frequencies that may be traveling in the air. I bought a whole bunch of the stuff. Put them around the la casa. Little pyramids, stuff like that. DVK: If I remember my geology properly, Shungite forms in water sedimental deposits. This requires liquid water, i.e. a larger planet. So I don't think there is a high chance to see that on asteroids.
submitted by 500scnds to tabled [link] [comments]

binary options 60 seconds indicator - YouTube Binary Options 60 Seconds Indicator 99% Winning Live ... Binary Options 60 Seconds Indicator %100 Winning Trades ... 60 Second Binary Options Indicator 90% Win-work all timeframes -no repainting Binary Options Signals Indicator 60 Second 90% Accurate Signals! 60 Seconds Binary Options Indicator - YouTube 60 Second Binary Options Indicator 90% Win 60 Seconds Binary Options Indicator IQ Option Mt4 Smartest Best Indicator For Binary Options 60 seconds Trading 2019 binary option 60 seconds indicator & strategy

Each binary trade lasts up to 60 seconds and offers a substuntial return, now the beauty of scalping is the high frequency of trades and huge number of winners. Serious scalpers make $100s per day trading like this, trading the 60 second binary options alone, while others extend their scalping to several minutes. Either way, it can be done. It really is possible to make $100s in profits from ... 13# Binary Options Strategy: CCI rpn indicator; 14# Binary Options Strategy High/Low: 1-2-3 pattern with Retracement; 15# Binary Options Strategy London Open Box Breakout 4 ; 16# Binary Options Strategy: Pivot Points Levels Trend; 17 # Binary options Strategy: Buy-Sell alert V.2; 18# Binary Options Strategy: Pivot Point Levels Reversal; 19# Binary Options Strategy: The attack of the Viper; 20 ... 60 second trading binary option indicators template and user guide scalper Beginners up to inclusive guide one embodiment the beginning of living. 24, 2015 also profitable options. Need to check out. Beginning of trading, tag archives fx binary indicators. Buy houses a great binary apply page pdf free. Travel guide successfully. pro – check. The 1-minute binary options or the 60-seconds time frame is the best chart for trading binary options. In other words, the best binary options expiration time is the 60 seconds time frame. We recommend highlighting the starting point on your charts. And the ending point of your 50-candle low that you have identified. Simply draw two vertical lines on your chart through the starting point and ... 60 seconds binary options strategy system for trading online forex and binary options system with major profits for all traders. English Arabic Chinese (Simplified) Danish Dutch English Filipino French German Hindi Indonesian Italian Japanese Korean Malay Myanmar (Burmese) Norwegian Persian Polish Portuguese Romanian Russian Spanish Swedish Thai Turkish Vietnamese One says 60 seconds binary options and the other one says 60 seconds binary strategy.. Where is the paid version? Click to expand... That's all we have. madgimper likes this. Denison New Member. Joined: Feb 4, 2020 Messages: 7 Likes Received: 0 Trophy Points: 1 Gender: Male #68 Denison, Feb 7, 2020. hello friend, tell me something. how do you use this indicator, to have good results. because ... PicClick Insights - r120 60 SECONDS BINARY OPTIONS mt4 Metatrader 4 Windows indicator PicClick Exclusive. Popularity - 8,245 views, 12.5 views per day, 658 days on eBay. Super high amount of views. 45 sold, 255 available. Indicator learning how to make money options binary options you need a great Binary Options broker. Secondly, you need a trading strategy to reveal binary market direction. We use a heuristic approach to speculate in which way the price is going to move during the next 60 seconds. At the end of the day, everyone is looking for a reliable binary options system that can help them make money from ... The most favorite forex (or binary options) indicators. A website called best meta trader indicators has published the results of a public poll. This poll’s question was: „What’s your favorite forex indicator?“ and it’s had more than a few thousand replies!That is quite a big number! The results are pretty interesting and surprising (for me at least) and we will talk about it in ... Negociação 60 Second Trades - On 1M Chart Regras de entrada para compra: preço está na borda verde do indicador chamado MBFX, o alerta soa ...

[index] [7889] [21806] [29171] [9628] [605] [7135] [16384] [9573] [12864] [19334]

binary options 60 seconds indicator - YouTube

binary option indicators( 1min 5min 15 min working all timeframes ) 90% accurate.work all binary option brokers new version available updated 20.7.2017 one time fee all future upgrades included ... 60 seconds binary options strategy winning 22 out of 24 trades-100% profit guaranteed - Duration: 26 ... Binary Option x 3 semafor indicator Signal For Iq Option Live Trading - Duration: 10:16 ... This is a 60 second binary options indicator that wins 90% of the time. It also works on the other time charts. It works with MT4 Platform. It has an arrow indicator with an audible sound (non ... OLYMP TRADE broker account opening link below: https://goo.gl/urftNR this video contains two trading examples with explanation. watch and learn how to trade ... 60 seconds binary options strategy winning 22 out of 24 trades-100% profit guaranteed - Duration: 26 ... Super Dot Indicator Attach With MT4 For Binary Option And Live Trading - Duration: 10:07 ... This 60 Seconds Binary Options Indicator trading system has all you need to earn steady income. Get started earning today!: http://binaryoptionsindicatorsign... Hi Friends I will Show This Video Binary Options 60 Seconds Indicator Signal 99% Winning Live Trading Proof -----... Fixed Time trading: Rute tercepat menuju dunia trading. Raih sukses trading setiap hari. Raih penghasilan dari fluktuasi nilai tukar dolar. *****... This sixty seconds binary options indicator works on Binary Mate, IQ Option, HighLow, Ayrex, CT Option, 24 Option, and Many more. For more info and trading t... Binary Options Signals Indicator 60 Second! 90% daily win-rate. 100+ signals per day. 600% profit per 1 hour! Non-Repainting! Easy to use, works with any broker, any assets.

http://binaryoptiontrade.mulcoveka.gq