This commit is contained in:
Miloslav Ciz 2023-03-04 16:45:41 +01:00
parent 82af4ac894
commit df830630e3
4 changed files with 19 additions and 11 deletions

View file

@ -9,12 +9,13 @@ We can divide computers based on many attributes, e.g.:
- by **purpose**: special purpose vs general purpose, [personal](pc.md), [server](server.md), [embedded](embedded.md), [supercomputers](supercomputer.md), gaming computer etc.
- by **[programmability](programming.md)**: non-programmable, partially or fully programmable
- by the theoretical **[model of computation](model_of_computation.md)** it is based on: [Turing machine](turing_machine.md), [lambda calculus](lambda_calculus.md) etc.
- by **other criteria**: price, reliability etcetc.
- by **computational power**: how difficult problems the computer is able to solve, i.e. where in the [Chomsky hierarchy](chomsky_hierarchy.md) it stands (typically we want [Turing complete](turing_completeness.md) computers)
- by **other criteria**: price, reliability, durability etc.
Computers are studied by [computer science](compsci.md). The kind of computer we normally talk about consists of two main parts:
Computers are theoretically studied by [computer science](compsci.md). The kind of computer we normally talk about consists of two main parts:
- **[hardware](hw.md)**: physical parts
- **[software](sw.md)**: [programs](program.md), made by [programmers](programmer.md)
- **[software](sw.md)**: [programs](program.md) executed by the hardware, made by [programmers](programmer.md)
**The power of computers is limited**, [Alan Turing](turing.md) mathematically proved that there exist problems that can never be completely solved by any [algorithm](algorithm.md), i.e. there are problems a computer (including our [brain](brain.md)) will never be able to solve (even if solution exists). This is related to the fact that the power of mathematics itself is limited in a similar way (see [Godel's theorems](incompleteness_theorems.md)). Turing also invented the theoretical model of a computer called the [Turing machine](turing_machine.md). Besides the mentioned theoretical limitation, many solvable problems may take too long to compute, at least with computers we currently know (see [computational complexity](computational_complexity.md) and [P vs NP](p_vs_np.md)).

View file

@ -13,7 +13,7 @@ There are many ways to define distance within given space. Most common and impli
## Approximations
Computing Euclidean distance requires multiplication and most importantly [square root](sqrt.md) which is usually a pretty slow operation, therefore many times we look for simpler [approximations](approximation.md).
Computing Euclidean distance requires multiplication and most importantly [square root](sqrt.md) which is usually a pretty slow operation, therefore many times we look for simpler [approximations](approximation.md). Note that a possible approach here may also lead through computing the distance normally but using a fast approximation of the square root.
Two very basic and rough approximations of Euclidean distance, both in 2D and 3D, are [taxicab](taxicab.md) (also Manhattan) and [Chebyshev](chebyshev.md) distances. Taxicab distance
simply adds the absolute coordinate differences along each principal axis (*dx*, *dy* and *dz*) while Chebyshev takes the maximum of them. In [C](c.md) (for generalization to 3D just add one coordinate of course):

View file

@ -11,7 +11,7 @@ In summary, open consoles are:
- **Retro**.
- **Indie** (sometimes developed by a single guy), often [crowd-funded](crowd_funding.md).
- **Educational**.
- **[DIY](dyi.md)**, often leaving assembly to the customer.
- **[DIY](dyi.md)**, sometimes leaving assembly of the kit to the customer (assembled kits can usually be ordered for extra price).
- **Very cheap** (compared to proprietary mainstream consoles).
- **[Hacking](hacking.md) friendly**.
- Typically **[embedded](embedded.md) [ARM](arm.md)**.

View file

@ -20,12 +20,12 @@ The [GOAT](goat.md) of Xonotic is probably *Dodger*, his skill was just too high
Great news is the development and main servers have so far not been infected by the [SJW poison](tranny_software.md) and (as of 2023) **allow a great amount of [free speech](free_speech.md)** -- another rarity. Even the game itself contains speech that SJWs would consider "offensive", there are e.g. voice lines calling other players "pussies" and "retards". This is great.
## Tips'n'tricks
## Tips'N'Tricks
Here are some [pro](pro.md) tips to git gud, impress your frens and generally have more [fun](fun.md).
- Read the legendary **beginner guide** at https://xonotic.org/guide/.
- Point'n'click enemies to kill them.
- Point'n'click enemies to win.
- **Do NOT fucking spam electro** -- this will make you instantly hated, and rightfully so. Not only is it lame, annoying, makes you easy to kill (opponent can explode your electro balls), enforces more use of electro (electro is countered with electro) and makes the game lag, it can also hurt your teammates, even in no self/team damage modes (as opponents may explode the electro you spray around). Use it appropriately.
- **Learn the weapons and make binds for each one**: learn what every weapons does (good mode for this might be clan arena in which you have all the weapons from the start), bind each one around the movement keys -- it's essential you can switch weapons quickly as the game is designed to reward comboing (the most basic combo is devastator/vortex/mortar). Also note that almost every weapon has a **secondary fire**, for example crylink's primary fire just shoots bouncing balls while the secondary fire shoots a suction ball that can toss enemies out of the map or can be used to accelerate yourself. With devastator (rocket launcher) holding left mouse button allows **guiding the rocket**, right mouse button explodes the rocket in air -- learn this! Then you can easily kill enemies behind corners or flying in air.
- **Learn the movement**: movement is essential in Xonotic, firstly you should learn extremely basic techniques like bunnyhopping, strafe jumping and in-air controls, and secondly you should learn using weapons for movement (blaster jumps, rocket jumps, crylinkg for acceleration and climbing walls, ...). This is important not only for quick relocation, taking shortcuts, dodging enemy fire and quickly running away from enemies, it will also save you from falling into pits.
@ -37,11 +37,11 @@ Here are some [pro](pro.md) tips to git gud, impress your frens and generally ha
- **Spin to win**: you can make a cool spinning macro that makes you look like you have a seizure: e.g. `bind b "toggle vid_stick_mouse; rpn /m_pitch 1 ${vid_stick_mouse} - 0.022 * =;"`.
- Once you have a comfy config, you can remove the write rights to it (`chmod -w ~/.xonotic/data/config.cfg`). This way the game won't be able to modify the config and all settings and experiments you make in the game will only be temporary, until the game restart, so you can't fuck up your settings.
- **Do NOT camp**, it's retarded and wastes other people's time, especially e.g. in clan arena where dead people have to wait for the end of round. Better lose quickly than win or draw by camping.
- **Explosions (and bullets) go through thin walls** by default, so you can e.g. kill someone hiding in the room above you by shooting the ceiling.
- **Explosions (and bullets) go through thin walls** by default, so you can e.g. kill someone hiding in the room above you by shooting the ceiling. Very cool.
- **Don't stand at teleport exits**, so as to not get telefragged.
- If you're not doing well, complain about [lag](lag.md).
- **You can turn off the chat** in case there is some retarded conversation going on (just go to setting and HUD editor).
- **Slap opponents to humiliate them**: the shotgun secondary fire is a melee slap, which is the best way to kill someone, partly because it's pretty hard to do (there's a delay between the bash). Another humiliating way to eliminate opponents is to kill them with Hagar secondary or push them off the map with blaster, crylink or even Mario kill (very rare -- you jump on someone's head while he's jumping over a pit which makes him fall down). Don't forget to taunt and [teabag](teabag.md).
- **Slap opponents to humiliate them**: the shotgun secondary fire is a melee slap, which is the best way to kill someone, partly because it's pretty hard to do (there's a delay before the bash). Another humiliating way to eliminate opponents is to kill them with Hagar secondary or push them off the map with blaster, crylink or even Mario kill (very rare -- you jump on someone's head while he's jumping over a pit which makes him fall down). Don't forget to taunt and [teabag](teabag.md).
- If you see someone running fast while crouching in air, run away, he's probably a [pro](pro.md).
- `v_psycho 1`, `r_trippy 1` etc.
- `cl_handicap` can be used to make yourself weaker by specified multiplier (take more and deal less damage), either to balance the game or provide a challenge.
@ -49,19 +49,26 @@ Here are some [pro](pro.md) tips to git gud, impress your frens and generally ha
- `in_pitch_min` and `in_pitch_max` can remove the limit of looking up and down (set to e.g. -100 and 100) -- this way you can turn completely upside down which can be seen by spectators and make them think you're a cheater.
- Typing `/me` in chat makes the chat message be output in a different format; instead of `username: message` it writes `*message` and replaces the `/me` string with your username -- this can create cool and fancy messages.
- The game outputs chat into terminal, you can filter these messages out and redirect them to [espeak](espeak.md) for a fun experience :)
- Standing in front of a nub With Hagar is dangerous.
- Switch left and right hand for a challenge.
- Play drunk and/or high for a challenge.
- Change your name to ^6.̸̡͋̽̍̎͗̊͛̋̂̃̌͗͘^5.̸̨̧̯̙̞̟͙̖̞͈̬͙̞̖͎͉̽̿̇̔̂̎͗͌͆́̕͝͠͝͝ͅ^1.̷͕́͛̈́. { [RIP](rip.md) if your reader can't [Unicode](unicode.md) well :) }
- [Doom](doom.md) challenge: disable looking up and down with console.
- Move to [Europe](europe.md) to actually enjoy the game with good ping.
- { My config is at https://codeberg.org/drummyfish/my_text_data/src/branch/master/configs/xonotic_config.cfg. ~drummyfish }
- Buy premium account for extra skins and [lootboxes](lootbox.md). Just kidding :)
- Don't [ragequit](ragequit.md), you'll give your opponent the ultimate satisfaction. Making someone ragequit is better than just [raping](rape.md) him.
- If you want to win in a team game and your team is losing, just quickly switch to the winning team before the end. Gotta keep those xonstats high.
- Sound is important, firstly you can hear where enemies are (especially when you turn off music) and secondly you can also spot low HP players by sound (they make a specific hurt sound when low HP).
- Just spec good players and do what they do.
- some **tactics/strategy/habits**:
- **Chasing low health players is usually a bad idea** and a mistake made by nubs: such player, if he's not a complete newbie, can just spam electro/nades behind himself and easily kill you.
- **Unpredictable movement and positioning is key** to avoiding damage: nubs think that when they move fast they won't get hit -- this is only partially true, it is about just as important to move unpredictably and avoid spots that get regularly spammed by enemies. When you move from point A to B on a map and the enemy sees you doing so, you should take a randomly long short pause in doing so, or maybe even switch direction completely, otherwise he can quite accurately predict when and where you'll appear at the destination and kill you with prefire. It's a great advantage if your opponent doesn't know where you are.
- **Unpredictable movement and positioning is key** to avoiding damage: nubs think that when they move fast they won't get hit -- this is only partially true, it is about just as important to move unpredictably and avoid spots that get regularly spammed by enemies. When you move from point A to B on a map and the enemy sees you doing so, you should take a randomly long short pause in doing so, or maybe even switch direction completely, otherwise he can quite accurately predict when and where you'll appear at the destination and kill you with prefire. It's a great advantage if your opponent doesn't know where you are. One sneaky tactical move is "the return" when you pretend you run away from somewhere, then wait 3 seconds and return back (the opponent expects you to run anywhere but to where you ran away from).
- When in fight, **don't be an easy target and don't stand near a wall** (this makes you be easily hit with splash damage). Try to always have a quick escape path.
- **Stay together with your teammates** if you want to win. Fighting alone against multiple enemies is usually a bad idea and a quick death without dealing much damage.
- **Stay together with your teammates** if you want to win. Fighting alone against multiple enemies is usually a bad idea and a quick death without dealing much damage. Especially if you're a nub playing clan arena, stay with your team or else you'll die in 3 seconds and will have to wait until the end of the round.
- **Higher ground is usually good**.
- When microcamping (camping for a short time with vortex somewhere), the only direction you can be hit from should be the one you're looking in. Nubs sometimes camp in a spot that can be seen from multiple directions -- that's just asking to be fragged.
- **Use machine gun (MG) secondary to finish off low HP enemies**: MG is [hitscan](hitscan.md), i.e. it hits instantly on a distance and its easier to hit with than vortex (which fires just one strong shot) -- the secondary fire has no bullet spread unlike the primary fire, so it's ideal to just deal quick small hit that's enough to finish someone. But watch out, some people bitch about using MG this way being too nub, going for slap will entertain the audience better.
## See Also