Forum www.kropki.legion.pl Strona Główna www.kropki.legion.pl
Forum gry w kropki -
KLIKNIJ I ZAGRAJ W KROPKI ON-LINE
Zasady gry

 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

OpenKropki - gra w kropki pod Linux i Windows

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.kropki.legion.pl Strona Główna -> Forum ogólne
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
mateusz.viste



Dołączył: 10 Mar 2015
Posty: 6

PostWysłany: Wto Mar 17, 2015 9:02 pm    Temat postu: OpenKropki - gra w kropki pod Linux i Windows Odpowiedz z cytatem

Witam,

Stworzyłem niedawno grę w "kropki", jest to gra na licencji open-source, działa pod Linux, Windows, i wszelkimi BSD. Jako że forum jest właśnie w tematyce "kropek", pomyślałem że to dobre miejsce by podzielić się grą - jeśli to błąd, z góry przepraszam i uniżenie się wycofuję :)

Gra jest jeszcze w wersji "Alpha", sporo zostało do zrobienia, ale uruchamia się, i można pograć z komputerem.

http://openkropki.sourceforge.net


Ostatnio zmieniony przez mateusz.viste dnia Czw Lis 19, 2020 2:40 pm, w całości zmieniany 4 razy
Powrót do góry
 
 
kubusio



Dołączył: 08 Sty 2003
Posty: 391
Skąd: Warszawa

PostWysłany: Sro Mar 18, 2015 1:24 pm    Temat postu: Odpowiedz z cytatem

Gratulacje Smile Taka inicjatywa jest zawsze mile widziana. My aktualnie gramy online na zagram.org. Chętnie obejrzymy twój program jak już będzie gotowy.
Powrót do góry
 
 
mateusz.viste



Dołączył: 10 Mar 2015
Posty: 6

PostWysłany: Sro Mar 18, 2015 1:27 pm    Temat postu: Odpowiedz z cytatem

kubusio napisał:
Gratulacje :) Taka inicjatywa jest zawsze mile widziana. My aktualnie gramy online na zagram.org. Chętnie obejrzymy twój program jak już będzie gotowy.


Program już jest "gotowy", nawet jeśli tylko w wersji alfa - można toczyć rozgrywki przeciw AI (gra przez internet jeszcze brakująca). niestety widzę że moj wcześniejszy post został ocenzurowany, i odnośnik do strony gry usunięty...

// edit
po sugestii kubusio iż może to być kwestia uprawnień do wystawiania linków, a nie cenzury, sprawdziłem mój pierwotny post i edytując go widzę link. Nie wyświetla się on jednak w "publicznej" wiadomości, co potwierdza domysł kubusio - nie ma i nie było żadnej cenzury, a forum widocznie filtruje linki :)

strona gry to openkropki.sourceforge.net
Powrót do góry
 
 
zagram_org



Dołączył: 04 Lut 2013
Posty: 33

PostWysłany: Pią Mar 20, 2015 3:21 pm    Temat postu: Odpowiedz z cytatem

Bardzo się cieszę, że znalazł się jakiś zapaleniec chcący pisać programy kropkowe Smile
Obejrzałem sobie kod źródłowy, wygląda porządnie, co dobrze rokuje na przyszłość Smile Sam programik na razie dość ubogi, ale w końcu to wersja 0.2.

Mam kilka uwag/rad na przyszłość. Mam trochę wątpliwości, czy się nimi wszystkimi dzielić od razu, bo nie chciałbym zabić Twojego entuzjazmu -zignoruj te uwagi jeśli miałyby Ci przeszkadzać Wink

1. Myślę, że bardzo by się w kropkach przydało, żeby był program, w którym interfejs jest oddzielony od AI. Np. w go jest Go Text Protocol, protokół do komunikacji z AI. To ma wiele zalet:
a) można łatwo rozgrywać turnieje między różnymi AI,
b) łatwiej pisać boty,
c) a przede wszystkim, ktoś, kto chce napisać nowe AI, nie musi pisać od nowa interfejsu.
Z tego co mi wiadomo, w kropkach w ogóle nie ma czegoś takiego. Warto byłoby zaprojektować protokół, moim zdaniem najlepiej na bazie istniejącego GTP z możliwie małymi zmianami uwzględniającymi specyfikę kropek. No i napisać interfejs i silnik komunikujące się za pomocą tego protokołu.

2. Wcześniej czy później warto zrobić import i eksport sgf: http://www.red-bean.com/sgf/. A tutaj są uwagi nt. sgf w kropkach: http://eidokropki.reaktywni.pl/kropki-sgf.html.

3. Jeśli chodzi o AI, może znasz, a jak nie, to warto poznać:
http://chessprogramming.wikispaces.com -- wiki nt. programowania AI w szachach. Dużo cennych informacji nt. algorytmów minimaksowych, hashtables, itp., do wykorzystania i u nas.

W go najlepsze obecnie programy używają algorytmów Monte Carlo, można np. poszukać 'monte carlo go' (niestety, znajdzie się dużo linków niegoistycznych Wink ). Wydaje się, że zrobienie sensownego AI z Monte Carlo jest łatwiejsze niż z minimaksem, do Monte Carlo trzeba przede wszystkim umieć szybko rozgrywać gry, a nie potrzeba pisać funkcji oceniającej pozycję. Monte Carlo łatwo też napisać równolegle (tj. z wykorzystaniem wielowątkowości).

4. A na koniec taki trochę nieoczywisty drobiażdżek: na planszę x*y wystarczy przydzielić tablicę na (x+2)*(y+1)+1 elementów (albo (x+1)*(y+2)+1), zamiast na (x+2)*(y+2), np. dla 2x3 --
* * * * * *
* x x x *
* x x x *
(x = pola planszy, *=puste elementy ułatwiające np. sprawdzanie, czy sąsiednie pole jest na planszy, czy już na zewnątrz). Takiej reprezentacji używa(ło?) Gnu Go. Ta drobna oszczędność przekłada się ostatecznie na nieco szybsze wykonywanie programu, bo często trzeba kopiować tablicę z planszą.
Powrót do góry
 
 
mateusz.viste



Dołączył: 10 Mar 2015
Posty: 6

PostWysłany: Pon Wrz 21, 2020 1:14 pm    Temat postu: Odpowiedz z cytatem

Szybka informacja: dziś, po kilkuletniej przerwie, opublikowałem kolejną wersję programu OpenKropki. Program jest do ściągnięcia ze strony projektu:

http://openkropki.sourceforge.net

Z widocznych zmian, nowa wersja to, m.in:

    - możliwość wyboru wielkości planszy
    - szybszy moduł AI
    - udźwiękowienie (bardzo podstawowe)
    - nieco ładniejszy interfejs


Program dostępny jest w wersji dla Windows oraz Linux. Powinien dać się skompilować również na każdej innej platformie która dysponuje biblioteką SDL2.
Powrót do góry
 
 
zagram_org



Dołączył: 04 Lut 2013
Posty: 33

PostWysłany: Czw Wrz 24, 2020 11:38 am    Temat postu: Odpowiedz z cytatem

Bardzo estetycznie wygląda!
Kompilacja pod linuksem udała się bez problemów.
Czekamy na dalszy rozwój Smile
Powrót do góry
 
 
mateusz.viste



Dołączył: 10 Mar 2015
Posty: 6

PostWysłany: Czw Wrz 24, 2020 12:20 pm    Temat postu: Odpowiedz z cytatem

zagram_org napisał:
Bardzo estetycznie wygląda!
Kompilacja pod linuksem udała się bez problemów.
Czekamy na dalszy rozwój Smile


ha, jednak ktoś tu jeszcze zagląda! Super. Smile

Moje najbliższe plany wiążą się z obsługą kilku języków - chciałbym dodać przynajmniej wersję polską i rosyjską - oraz z rozwojem AI, tylko chciałem najpierw mniej więcej ogarnąć stronę estetyczną interfejsu, żeby w oczy aż tak bardzo nie kłuło.

Obecne AI jest bardzo słabe (oparte na prymitywnym minmax o mocno ograniczonej rekurencji oraz z kilkoma sztywnymi zasadami). Mam nadzieję, że w następnej wersji uda mi się zaproponować dwa różne AI do wyboru, ale to temat dla mnie jeszcze nowy więc powoli odkrywam co i jak. Podoba mi się siła gry AI z "kropek" których autorem jest Bartek Dyda. Co prawda autor twierdzi że jego program gra słabo, ale mnie skutecznie ogrywa - może po prostu źle gram (swoją drogą, w jego AI denerwuje mnie to natrętne parcie na tworzenie baseników, nieco uprzykrza to wg. mnie rozgrywkę).
Powrót do góry
 
 
mateusz.viste



Dołączył: 10 Mar 2015
Posty: 6

PostWysłany: Czw Lis 19, 2020 2:39 pm    Temat postu: Odpowiedz z cytatem

Dziś opublikowałem kolejną wersję programu OpenKropki. Główne zmiany to obsługa wielu języków (polski, rosyjski, czeski i francuski) oraz nowy (nieco silniejszy) silnik AI. Poniżej changelog.

Kod:
OpenKropki v0.4 [19 Nov 2020]
 - human vs human (on same computer) and AI vs AI games are possible
 - new AI engine available: Tigran
 - new "settings" menu
 - bases are shaded so it's clear who owns them (can be disabled in settings)
 - sound can be disabled through the settings menu
 - resumable games survive an application restart
 - menu width & height limited to avoid stretching it too much on huge screens
 - default zoom increased because I'm old (can be changed with mouse scroll)
 - right click centers view on last move (instead of playfield's center)
 - right click no longer resets zoom: middle click does that now
 - playfield is never allowed to be swept completely outside the screen
 - invalid moves trigger a buzzer sound
 - multilingual UI: Czech, English, French, Polish, Russian
 - using zlib for deflate operations instead of embedded tinfl code
 - mouse cursor stays at the same place of the playfield when zooming
 - AI is slightly delayed to not answer faster than 0.5s (feels more natural)
 - program communicates with AI using OKP (OpenKropki Protocol) strings
 - optimizations in playfield processing routines
Powrót do góry
 
 
kapen



Dołączył: 31 Paź 2011
Posty: 4
Skąd: Łowicz Surrey BC

PostWysłany: Pią Gru 04, 2020 4:40 am    Temat postu: Odpowiedz z cytatem

Próbowałem skompilować pod OS X Catalina i system od razu płacze i chce zaciągać xcode z internetu żeby to uruchomić. Internet mam limitowany więc pobrałem wersje na win. Odpaliłem pod Wine i powiem, że AI troche myśli i potrafi rozpędzić wiatraki w laptopie. Chyba trzeba AI jeszcze zoptymizować bo obciąża to procesor a ruchy robi nie najlepsze. Rozdzielczość też pasowało by podkręcić, interfejs bardziej żywszy i kolorowszy.

Fajnie, że takie coś rozwijasz
Powrót do góry
 
 
mateusz.viste



Dołączył: 10 Mar 2015
Posty: 6

PostWysłany: Pią Gru 04, 2020 9:28 am    Temat postu: Odpowiedz z cytatem

kapen napisał:
Próbowałem skompilować pod OS X Catalina i system od razu płacze i chce zaciągać xcode z internetu żeby to uruchomić.


Nie znam OS X, ale z tego co rozumiem to xcode jest całym środowiskiem programistycznym. Nie powinno być to potrzebne do kompilacji OpenKropkek - wystarczy, że masz zainstalowany sam kompilator C (typowo gcc lub clang), narzędzie "make" oraz nagłówki bibliotek SDL2 i zlib. Wówczas powinno wystarczeć uruchomienie polecenia "make" z katalogu z kodem źródłowym gry, aby ją zbudować.

kapen napisał:
AI troche myśli i potrafi rozpędzić wiatraki w laptopie. Chyba trzeba AI jeszcze zoptymizować bo obciąża to procesor a ruchy robi nie najlepsze.


Tak, AI zdecydowanie wymaga dalszego rozwoju. Tigran jest już dużo lepszy od poprzedniego algorytmu (Dumbo), ale droga jeszcze długa. Niewykluczone też, że Tigran działa wolniej kiedy działa przez Wine. No ale tak czy inaczej, siła gry wymaga usprawnienia. Wersja 1.0 jeszcze daleko za horyzontem.

kapen napisał:
Rozdzielczość też pasowało by podkręcić


To kwestia delikatna, bo dużo zależy od tego, kto jaki ma sprzęt... Na moim laptopie OpenKropki wyświetlają się bardzo ładnie, ale jeśli ktoś ma duży stacjonarny ekran to faktycznie okeinko może wydawać się małe. Przy czym podczas rozgrywki można zoomować grę poprzez scroll myszki, aby sobie dopasować wielkość kropek do własnych upodobań, a wielkość samego okienka można dowolnie zmienić.
Powrót do góry
 
 
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.kropki.legion.pl Strona Główna -> Forum ogólne Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach




wiadomosci z forum
Polityka cookies