Wyliczenie rankingu

fasadin
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
1

Wiec, chcialbym stworzyc drabinke rankingowa w Quake'2. Problem jest taki, ze przeskok skillowy jest ogromny (@axelbest moze potwierdzic :D). Sa trzy formaty gier

4vs4
2vs2
1vs1

Nazwijmy ranking ELO (jako, ze jest dosc popularny ale chyba nie jest wystarczajacy na to co potrzebuje)

Mozna graczy podzielic na kilka kategorii

  1. nowy gracz
  2. pol roczny gracz
  3. 2 letni gracz
  4. weteran- sredniak
  5. weteran- dobry
  6. weteran - pro

roznica w kategoriach jest dosc spora. Na tyle spora. Ze gracz z 4 polki. Nie ma absolutnie zadnych szans przeciwko 6 jezeli chodzi o 1vs1. Natomiast 1 gracz pro bez problemu poradzi sobie z 4 graczami pol rocznymi

teraz sa dwa problemy

Szukanie
Dodawanie-odejmowanie rankingu

Szukanie teoretyczynie jest proste, jezeli dodawanie-odejmowanie bedzie zrobione z glowa bo wtedy bierzemy wszystkich graczy i staramy sie zrobic wspolny ranking ktory bedzie bliski temu drugiemu i bedzie w miare sprawiedliwie (powiedzmy)

natomisat nie wiem jak zrobic by poczatkowa wartosc ELO miala sens. W sensie roznica miedzy kategoriami. Kolejna rzecza, jak dodac ranking prawidlowo? Powidzmy, ze przegrales mecz w 4vs4 ale zrobiles niesamowicie duzo dla swojej druzyny (35 fragow 5 smierci) jak powinno to odbyc sie na ranking ELO?

Macie jakies pomysly jakby to fajnie rozplanowac by mecze byly wyrownane i progress ludzi odwierdziedlal to jak graja?

edytowany 1x, ostatnio: fasadin
axelbest
Potwierdzam :)
GN
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad rok
  • Postów:274
1

Początkowa wartość ELO może bazować na pierwszych 10 grach - tak jak jest to zrobione w wielu tytułach esportowych.
Co do tego 4v4 to bym zrobił tak, że jeżeli jest to losowym mm i po prostu do drużyny przydzieliło nam randomów to fajnie gdyby dobry gracz nie był karany za słaby team - jakieś + punkty do rankingu jak najbardziej by się przydały. Jeżeli jest to pre-made to żadnych punktów za fragi. Chyba, że chcesz zrobić oddzielny ladder dla randomowych rozgrywek i tych pre-made'owych.

//

Co do jakichś cyferek, to tu: https://dota2.gamepedia.com/Matchmaking/Seasonal_Rankings jest jak to rozwiązało Valve - każdy poziom umiejętności dzieli 840 MMR/ELO. Inna sprawa, że mecz w takiej docie trwa dłużej niż rozgrywka 1v1 w Kłejka.


“Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.” ~ Eric S. Raymond
edytowany 1x, ostatnio: GN
NO
  • Rejestracja:ponad 7 lat
  • Ostatnio:prawie 4 lata
  • Postów:35
3

Nigdy ale to absolutnie nigdy w tego typu rankingach nie powinieneś brać pod uwagę personalnego wkładu w grę. Do obliczenia tego ile zyskasz/tracisz możesz brać pod uwagę tylko ELO innych osób w grze i wynik gry. (Zakładam że jest to przegrana/wygrana)

Jeżeli zaczniesz próbować uwzględniać personalne osiągnięcia w stylu K/D to ludzie zaczną zamiast myśleć o wygranej to myśleć o tym żeby nie zginąć, bądź będą próbowali oszukać system w inny sposób. To jest główny powód dla którego każda gra z drabinkami właśnie tak to robi, nawet jeżeli gracze sami narzekają na to że nie to "nie fair" że oni byli 22/1 i że nie powinni tracić ELO.

Jeżeli chodzi o tworzenie zbalansowanej gry: ELO jest logarytmiczne. W oryginalnym algorytmie 400 pkt różnicy oznacza 10% szans na wygraną dla gorszego gracza. Jak umiesz dodawać/odejmować logarytmy to z liczeniem średniego ELO drużyny nie jest ciężko sobie poradzić, wobec tego w miare łatwo da się dla 8 graczy dobrac tak drużyny żeby były jak najbardziej zbalansowane. (Partition Problem, NP trudny ale 8! to nie tak dużo)

Ten podział który zasugerowałeś jest raczej tylko i wyłącznie kosmetyczny. Prawie każdy ranking w tym stylu który ma powiedzmy "ligi" i tak pod spodem ma coś w stylu ELO, a to do jakiej ligi należszych jest tylko prostym mapowaniem ELO.

edytowany 4x, ostatnio: Noozen
fasadin
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0

troche mnie nie bylo, choruje do tego remont i w ogole rozne dziwne rzeczy ale do rzeczy. @GN @Noozen

przede wszystkim format gry to TDM czyli Team Death Match. Czyli druzyna ktora ma wiecej fragow wygrywa

Początkowa wartość ELO może bazować na pierwszych 10 grach

to nie bedzie dobre. Jezeli mam byc w tym samym rankingu co nowy gracz. To uwierz mi, ze nowy gracz sie zniecheci po dwoch grach. Nawet jezeli bedzie to 4vs4. bardzo prosty przyklad czego chce uniknac to jest to

http://cup.planetquake.pl/quake2/plq2/index.php?op=descr&id=25235

330 : 39. To jest praktycznie 20 min respienia sie a nie grania w quake'2 :D Jezeli kazdy bedzie startowal z takiego samego poziomu, beda na prawde duze roznice i szybciej sie to rozpadnie niz ustabilizuje

moim celem jest zrobienie gier takich jak ten

http://cup.planetquake.pl/quake2/plq2/index.php?op=descr&id=25267

tylko, ze to jest najwyzsza mozliwa polka. Niestety, ale malo ludzi takich gra. Oni robia na prawde wielka roznice. Zeby zaobrazowac

https://cdn.discordapp.com/attachments/521348498579390464/549356230918012930/ws.jpg

Ci ludzie graja juz pare (parenascie!) lat w quake'a, a jednak potrafilem w miare sam pociagnac mocno gre dla mojego teamu. Dlatego uwazam, ze stwierdzenie

Nigdy ale to absolutnie nigdy w tego typu rankingach nie powinieneś brać pod uwagę personalnego wkładu w grę.

tutaj nie jest na miejscu i bardziej chyle sie do wypowiedzi @GN

Co do tego 4v4 to bym zrobił tak, że jeżeli jest to losowym mm i po prostu do drużyny przydzieliło nam randomów to fajnie gdyby dobry gracz nie był karany za słaby team - jakieś + punkty do rankingu jak najbardziej by się przydały.

format gry bedzie tak, ze zapisuje sie 8 osob na dany dzien i z tych 8 osob sa tworzone dwie druzyny o zblizonym rankingu. Teraz pytanie co oznacza zblizony ranking? 1) sredni skill ten sam? 2) gracz z odpowiedniego koszyka?

Jeżeli zaczniesz próbować uwzględniać personalne osiągnięcia w stylu K/D to ludzie zaczną zamiast myśleć o wygranej to myśleć o tym żeby nie zginąć

zgadzam sie prawie w 100%. Dla poczatkujacego gracza, lepiej zeby patrzyl na statystki niz pomagal teamowi :D Przewaznie pierwsze kroki w quake'u to jest nauczyc sie nie ginac. Wiadomo, ze na jakims tam poziomie zacznie byc to bardzo denerwujace. Dlatego chcialbym wymyslec system dla ktorego:

  1. dobrzy gracze nie sa karani za to, ze graja ze slabszymi
  2. slabsi gracze, nie beda czuc az tak wielkiego skoku trudnosci (bo beda miec dobrych w swoim teamie)
  3. ranking odwierdziedla plus minus kto co soba reprezentuje
  4. mecze sa wyrownane (tu dochodzi, jeszcze kto na jakich pozycji gra, bo jezeli jest 4 z rg kontra 2rg i 2 quaderow to Ci z dwoma quaderami maja przewage)

Jeżeli chodzi o tworzenie zbalansowanej gry: ELO jest logarytmiczne. W oryginalnym algorytmie 400 pkt różnicy oznacza 10% szans na wygraną dla gorszego gracza.

no to wszyscy polroczni gracze (nawet jak sie zbiora w 2-3) to maja razem zero punktow przeciwko mnie a przeciwko innemu graczowi maja iles punktow? Bo do tego to sie mniej wiecej sprowadza. Dlatego nie podoba mi sie ranking ELO, stad ten temat

To ma byc drabinka, ktora bedzie resetowana moze raz na rok. Nadal jestem mocno za tym zeby pokategoryzowac graczy na jakies progi zamiast wrzucac ich do jednego worka. Ale nie moge znalezc zadnego fajnego rozwiaznaia ktore rozwiaze te 4 problemy ktore wspomnialem.

Wolam @vpiotr moze go zainteresuje temat :)

edytowany 2x, ostatnio: fasadin
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
0

Dzięki za zawołanie, ale szczerze mówiąc to nie znam się na tym. Wiem tylko że jeśli mam pełny magazynek, wbiegam do budynku za kimś a gościu skacząc ze schodów z półobrotu mnie rozwala to musi być lepszy :)
Obecnie pracuję nad "celowaniem różnicowym" - tym mnie najczęściej pokonują (strzelają czymś solidnym tak gdzie za chwilę będę).

Zobacz pozostałe 4 komentarze
vpiotr
Pocieszę Cię że jak zamontujesz coś >= 2070 to spanie przy włączonym kompie w tym samym pokoju możesz sobie darować. Za to dobrze powinno usypiać dzieci.
fasadin
mam osobny pokoj na komputer ;) prawie ze w garazu, dzieciaki spia na pietrze takze nie powinno byc problemow :D ale jak tak glosno chodzi to poczekam na cos nowego
vpiotr
Wcześniej miałem 960 to jeszcze spoko, zwłaszcza w wersji Asus Strix (btw: tanio sprzedam). Niestety wersja Asus Strix dla 2070 kosztowała 500..700 zł więcej więc jakoś średnio mi to pasowało.
vpiotr
Ale przynajmniej przez jakiś czas pogram na High(est), tyle że raczej w Windozie
fasadin
ja mam 780 gtx od asusa i chodzi cichutko :) Rzeczywiscie te od asusa maja fajne chlodzenie i ni slychac ich tak bardzo
NO
  • Rejestracja:ponad 7 lat
  • Ostatnio:prawie 4 lata
  • Postów:35
1
fasadin napisał(a):

To ma byc drabinka, ktora bedzie resetowana moze raz na rok. Nadal jestem mocno za tym zeby pokategoryzowac graczy na jakies progi zamiast wrzucac ich do jednego worka. Ale nie moge znalezc zadnego fajnego rozwiaznaia ktore rozwiaze te 4 problemy ktore wspomnialem.

Jak dla mnie nie da się tego zrobić dzieląc na progi. Co jeżeli jakiś gracz zaczał dużo grać i staje się coraz lepszy? Będzie kozaczył w swojej grupie coraz bardziej aż w pewnym momencie z dnia na dzień przerzuci go do wyższego bracketa i będzie kompletnie lamił. Co gorsza, co wtedy z takim graczem zrobić?

a) Uwzględniasz możliwość spadnięcia z powrotem. To pewnie skończyłoby się tak że gościu byłby cały czas przerzucany między dwoma bracketami, bo jest mega silny jak na jeden i mega słaby jak na drugi i taki "ping-pong" raczej nie jest miłym doświadczeniem dla gracza.

b) Nie uwzględniasz mozwliwości spadnięcia z powrotem. Gwarantuje że będzie prowadziło to do frustracji związanej z tym że ktoś w końcu zaczał ogarniać i nagle nie jest w stanie sobie kompletnie radzić w żadnym meczu i zawsze go cisną (mimo że ostatnie 50 gier radził sobie świetnie!). Szczególnie jeżeli community jest relatywnie niewielkie to słabo jest zrażać graczy do gry przez to że nagle zderzają się z rzeczywistością że bracket wyżej są tak słabi.

c) Przypisujesz człowieka raz na "reset" na stałe do rangi. To też w sumie nic nie rozwiązuje, bo następny sezon będzie to samo co w punkcie b)

edytowany 2x, ostatnio: Noozen
fasadin
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0

bracket bylby tylko poczatkowy. To jest glownie pod 4vs4 i zeby wszystkich ludzi niezaleznie od bracketow ustawic tak by kazdy sie dobrze bawil. Bracket jedynie przy zapisie, pozniej nie ma podzialow.

Tutaj raczej by dzialala na zasadzie

Poczatkujacy + 2 weteranow + pro
vs
3 weteranow + prawie weteran

taki sklad ma sens i bedzie meczowo w miare wyrownane. Nie moge miec bracketow... bo nie ma na to tyle osob i sa problemy wlasnie te ktore opisales.

Potat0x
  • Rejestracja:ponad 8 lat
  • Ostatnio:13 dni
  • Postów:370
1

Nie grałem w Quake, ale może coś w tym stylu? (pisane na improwizacji, nie wiem jaki w praktyce ma to sens)
ELO = winrate*skill*(exp/max_exp)
gdzie
skill - osobisty wkład w grę, np (player_kills/team_kills)
exp - liczba gier rozegranych przez danego gracza
max_exp = max(exp wszystkich graczy)
Powyższe dane można odpowiednio dobrać z całej historii gracze lub jej najnowszego fragmentu.
Po wyliczeniu "ELO" dla każdego gracza dopasować zespoły tak, żeby suma była możliwie podobna.

Tu masz opisane założenia matchmakingu dla Doty https://dota2.gamepedia.com/Matchmaking#Criteria W praktyce to nie wyglądało tak fajnie. Zazwyczaj albo się masakrowało przeciwnika, albo było się masakrowanym. Zbalansowane mecze trafiały się rzadko. Często były też sytuacje typu 5 zwycięstw, 5 porażek itp, co jest denerwujące, jakby gra wymuszała ~50% winrate.

edytowany 1x, ostatnio: Potat0x
WeiXiao
Nie wiem jak wygląda aspekt strategiczny Quake (@fasadin), ale skill i exp wydają się być bardzo złymi parametrami.
fasadin
strategia w quake'u jest bardzo istotna ;) powiedzialbym, ze bardziej niz skill
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około godziny
  • Postów:5107
1

A gdyby zamiast na sztywno ustawiać ile ELO trzeba zdobyć na dany brackets, to niech ten pułap będzie determinowany przez ELO najgorszego gracza w danym percentylu.

np.

Tier 7 = top 500 graczy / top 0.1%
Tier 6 = top 1%
Tier 5 = top 5%
Tier 4 = top 15%
Tier 3 = top 50%
Tier 2 = top 75%
Tier 1 = top 100%

Najwięcej powinno być ludzi pomiędzy Tier 2 i Tier 3, chociaż wtedy mogą się z tym źle czuć i może lepiej byłoby ich wrzucić pomiędzy 3/4 :)

edytowany 3x, ostatnio: WeiXiao
fasadin
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0

podoba mi sie polaczenie @Potat0x z @WeiXiao

jest tylko jeden problem do rozwiazania

Startowy ranking.

Nie mam historycznych danych (powiedzmy), ale wiem jak kto mniej wiecej gra. Wiec teoretycznie moglbym ustawic jakis pulap, ale nie mam bladego pojecia jak wielkie roznice beda dobrze dobrane.

Fajnie by bylo, gdyby ustawienie gracza nizej, skutkowaloby tym, ze po 5-6 meczach moze pojsc w gore (taki boost startowy) i tak samo jakby byl ustawiony za wysoko to moze spasc. Tutaj pewnie dam jakis multiplayer dla pierwszych X gier

PA
  • Rejestracja:ponad 13 lat
  • Ostatnio:około miesiąc
  • Postów:51
1

Problem wyliczania rankingów znam głównie z szachów, tych realnych jak i tych wirtualnych. W realu w światowej federacji jest stosowany system ELO i tam to o czym piszesz ("boost startowy") jest sterowane za pomocą parametru K. Jest to mnożnik który opisuje jak dużo dany zawodnik może stracić/zyskać. Jest on większy na starcie, a po rozegraniu odpowiedniej liczby partii albo osiągnięciu wieku jest zmniejszany. Zmniejszany jest też po osiągnięciu odpowiednich progów rankingowych.

Natomiast na serwerach online jest stosowany często system Glicko, który bym Tobie polecił. Nie będę tutaj używał matematycznych pojęć, bo nigdy się w to nie wgłębiałem. Główna różnica w stosunku do Elo jest taka, że jest parametr RD, który odpowiada za "stabilność" rankingu danej osoby. Na starcie jest wysoki i im więcej i częściej ktoś gra to maleje. Jak ktoś zrobi sobie dłuższą przerwę to znowu RD wzrasta, a jego ranging staje się przez to mniej stabilny. Mając wysokie RD możemy dużo zyskać po jednej rozgrywce jak i dużo stracić. No i standardowo startowy ranking dla nowego zawodnika ustalany jest na 1500

edytowany 1x, ostatnio: paulonio
fasadin
fajny pomysl. Nadal problem jest z nowymi graczami. Jezeli dostanie 1500 gdzie powiedzmy bedzie to srednia polka (gracza) to zostanie on niesamowicie rozgromiony. Zeby zobrazowac. Wyobraz sobie, ze do milosnikow szachow (wiec, jest arcymistrz, sa mistrzowie ale sa niedzielni gracze) wchodzi 7 letnie dziecko bo potrafi zrobic roszade i dostaje 1500 punktow na poczatku
PA
w szachach w realu jest to zrobione jeszcze inaczej. jak ktoś zaczyna to ma ranking 0 (wyniki z nim nie zmieniają rankingu innych osób). jak rozegra określoną liczbę partii (nie pamiętam ile obecne, ale kilkanaście) to z tych partii według odpowiedniego wzoru uwzględniając średni ranking przeciwników i wyniki jest liczony ranking startowy. tak czy inaczej nigdy nie unikniesz tego, że na początku przez jakiś okres nowy gracz ma nieoszacowany ranking który jest trochę niewiadomą
fasadin
wlasnie tego chce uniknac. Na podstawie jednej / dwoch gier wrzucic go w odpowiednie miejsce. Taki gracz powiedzmy nowy ale bardzo dobry, rozwali calkowicie balans 4vs4
PA
no właśnie, wszystko co piszę bardzo dobrze się sprawdza dla szachów, które są siłą rzeczy 1vs1 ;) więc inny pomysł, mógłbyś ranking oceniać tylko na podstawie 1vs1, a rozgrywki drużynowe nie miałyby na niego wpływu. I dać wymóg, że z drużynowych możesz grać dopiero jak rozegrasz np. 10 gier 1vs1
fasadin
1vs1 nie ma sie nijak do druzynowych ;) w tym tez problem
fasadin
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0

poki co najlepszym pomyslem jaki wymyslilem jest cos takiego

Kopiuj
1) kazdy nowy gracz dostaje jakis tam ranking poczatkowy. Jest on ustalany indywidulanie przez osoby ktore znaja jak gracze graja
2) po wygranym meczu +10 do rankingu
3) jezeli net jest +10 to +10 do rankingu, jezeli jest +20 to 15 do rankingu. +30 to 20 do rankingu. Wiecej nie ma
4) Jezeli sie przegra to -10 do rankingu
5) po meczu, automatycznie jest generowane glosowanie na discordzie by wybrac MVP. MVP dostaje 10 do rankingu

Wiec teoretycznie jest to ok? Najlepszych graczy na poczatku bedzie boostowac by ustawic ranking odpowiednio. Pozniej w nastepnym etapie bedzie wiekszy problem gdy ranking sie jakos ustabilizuje.

Rankingi ktore podajecie sa ok gdy ma sie historyczne dane i ma sie duzo graczy, czego tutaj nie ma

90
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 5 lat
  • Postów:89
0

W szachach kazdy zaczyna od 0, czyli od rankingu 1000, jak ktos jest dobry to szybko leci w gore. Dlaczego nie zrobic w ten sposob?

fasadin
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0

@90909090:
bo przy meczach 4vs4 taki "nowy" gracz rozwali calkowicie balans i ta druzyna bedzie doslownie dominowac, czego chce uniknac

PA
  • Rejestracja:ponad 13 lat
  • Ostatnio:około miesiąc
  • Postów:51
0

Jeszcze coś takiego podrzucę co gdzieś znalazłem link

edytowany 1x, ostatnio: paulonio
CR
  • Rejestracja:około 6 lat
  • Ostatnio:około 2 godziny
  • Postów:112
0

Zrobienie dobrego systemu ELO/matchmakingu do gier zespołowych jest ekstremalnie trudne, i wymaga zagrania bardzo dużej ilości gier przez wszystkich graczy, żeby było w stanie w miarę dokładnie oddać poziom umiejętności.
Może i takie proste rozwiązanie jest lepsze, niż kombinowanie, ale:
'1) kazdy nowy gracz dostaje jakis tam ranking poczatkowy. Jest on ustalany indywidulanie przez osoby ktore znaja jak gracze graja'
Moim zdaniem brzmi słabo. Zbyt subiektywne, i niektórzy mogą czuć się źle ocenieni (znając efekt Dunninga-Krugera, to będzie takich sporo).
IMHO jeśli chcesz, żeby w miarę dobrze ustalić "poziom startowy", to najlepiej byłoby zacząć np. od zagrania jakiegoś turnieju 1v1 (bo to ustali Ci "hierarchię skilla" o WIELE szybciej, niż gry zespołowe), a gry 2v2/4v4 uwzględniać dopiero po przejściu etapu "początkowego chaosu".

WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około godziny
  • Postów:5107
0

Również nic nie broni Ci wdrażać poprawek po jakimś czasie typu zmiana otrzymywanych/traconych punktów, pułap bracketsów, startowe elo, rekalkulacja elo każdego gracza na podstawie historii gier, ale chyba wypadałoby projektować ten system z myślą o ów poprawkach.

edytowany 3x, ostatnio: WeiXiao
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)