Short: Amiga game created entirely by AI Author: grok, chatgpt, co-pilot Uploader: benedykt netc fr (Benedykt Dziubałtowski) Type: game/wb Version: 1.0.1 Requires: intuition.library v37 i graphics.library v36 Architecture: m68k-amigaos >= 3.x Distribution: Aminet The first publicly released Amiga game created entirely by AI. Description PONG AI v1.0.1 is a lightweight, retro-styled version of the classic Pong written for the Amiga. The game emphasizes simplicity, smooth keyboard controls, and a straightforward AI opponent. Rendering is done to an offscreen bitmap and then blitted to the window to ensure smooth animation. Features and Game Mechanics Smooth keyboard control - a watchdog for RAWKEY and the KEY_HOLD_FRAMES timer prevent missed key presses, providing responsive paddle movement. Opponent AI - a simple model with a randomized aiming error and a cooldown that depends on the ball speed; the faster the ball, the less frequently the AI reacts. Dynamic difficulty - every second full rally reduces paddle height by 1 px (down to a defined minimum) and increases ball speed by 10%; float vectors provide smooth acceleration. Subpixel ball movement - ball positions and vectors are stored as floats, eliminating loss of small speed increments due to casting to integers. Large center score - clear digits drawn in a 3×5 style, visible during gameplay. Pause and end screens - a PAUSE message with background and an end screen showing YOU WIN / YOU LOSE / DRAW, waiting for a key press before exiting. Window resize support - automatic allocation of the offscreen bitmap and adjustment of object positions. Simple balance and parameters - values such as SPEED, SPEED_MULTIPLIER, PADDLE_MIN_H are easy to tweak in the source. Compilation and Installation Requirements Cross-compiler GCC for m68k AmigaOS (tested with GCC 2.95.3). System libraries Intuition and Graphics available on the target system. Building Compile with the standard gcc configured for Amiga (paths depend on your toolchain). If the linker requires it, link the math library with -lm. The code uses OpenLibrary("intuition.library", 37) and OpenLibrary("graphics.library", 36) - to improve compatibility with AmigaOS 1.x/2.x, consider using version 0 or adding conditional checks after OpenLibrary. Video: https://youtu.be/evLq4DNXFgk Changelog v1.0.1 - stability fixes, refined PAUSE rendering, added wait for key press after game end. v1.0.0 - first public release: core mechanics, AI, dynamic difficulty, RAWKEY watchdog. ------------------------ Polski Krótki opis: Pierwsza publicznie wydana gra Amiga stworzona w cało¶ci przy pomocy AI. Uploader: benedykt(at)netc.fr (Benedykt Dziubałtowski) Autor: grok, chatgpt, co-pilot Typ: game/wb Wersja: 1.0.1 Architektura: m68k-amigaos >= 3.x, intuition.library v37 i graphics.library v36 Dystrybucja: Aminet Opis PONG AI v1.0.1 to lekka, retro-stylizowana wersja klasycznego Pong'a napisana dla Amigi. Gra stawia na prostotę, płynne sterowanie klawiatur± i prost± sztuczn± inteligencję przeciwnika. Renderowanie odbywa się do offscreen bitmapy, a następnie jest blitowane do okna, co zapewnia płynno¶ć animacji. Funkcje i mechanika gry Płynne sterowanie - watchdog dla RAWKEY i timer KEY_HOLD_FRAMES zapobiegaj± gubieniu wci¶nięć, daj±c responsywne ruchy paletki. AI przeciwnika - prosty model z losowym błędem celowania i cooldownem zależnym od prędko¶ci piłki; im szybciej leci piłka, tym rzadziej AI reaguje. Dynamiczna trudno¶ć - co drugie pełne odbicie zmniejsza wysoko¶ć paletek o 1 px (do zdefiniowanego minimum) i zwiększa prędko¶ć piłki o 10%; floatowe wektory zapewniaj± płynne przyspieszenie. Sub-pikselowy ruch piłki - pozycje i wektory piłki przechowywane s± jako float, co eliminuje "zjadanie" małych przyrostów prędko¶ci przez rzutowanie do int. Duży wynik na ¶rodku - czytelne cyfry rysowane w stylu 3×5, widoczne podczas gry. Pause i ekran końcowy - komunikat PAUSE z tłem oraz ekran końcowy (YOU WIN / YOU LOSE / DRAW) z oczekiwaniem na naci¶nięcie klawisza przed zamknięciem. Obsługa zmiany rozmiaru okna - automatyczna alokacja offscreen bitmapy i dopasowanie pozycji obiektów. Prosty balans i parametry - warto¶ci takie jak SPEED, SPEED_MULTIPLIER, PADDLE_MIN_H s± łatwe do modyfikacji w Ľródle. Kompilacja i instalacja Video: https://youtu.be/evLq4DNXFgk Wymagania W kodzie OpenLibrary("intuition.library", 37) i OpenLibrary("graphics.library", 36) - aby zwiększyć kompatybilno¶ć z AmigaOS 1.x/2.x, rozważ użycie wersji 0 lub dodanie warunkowych sprawdzeń po OpenLibrary. Changelog v1.0.1 - poprawki stabilno¶ci, dopracowanie rysowania PAUSE, dodane oczekiwanie na klawisz po zakończeniu gry. v1.0.0 - pierwsze publiczne wydanie: podstawowa mechanika, AI, dynamiczna trudno¶ć, watchdog RAWKEY. ------------------------ Magyar Rövid: Az első, teljes egészében AI által készített, nyilvánosan kiadott Amiga játék. Uploader: benedykt(at)netc.fr (Benedykt Dziubałtowski) Szerző: grok, chatgpt, co-pilot Típus: game/wb Verzió: 1.0.1 Architektúra: m68k-amigaos >= 3.x, intuition.library v37 és graphics.library v36 Terjesztés: Aminet Leírás A PONG AI v1.0.1 egy könnyű, retró stílusú változata a klasszikus Pong játéknak, Amigára írva. A játék a egyszerűségre, a gördülékeny billentyűzet-vezérlésre és egy egyszerű mesterséges intelligencia ellenfélre fókuszál. A megjelenítés offscreen bitmapra történik, majd onnan blittelődik az ablakba a sima animáció érdekében. Főbb funkciók és játékmenet Gördülékeny vezérlés - RAWKEY watchdog és a KEY_HOLD_FRAMES időzítő megakadályozza a lenyomások "elvesztését", így a paletta mozgása gyors és pontos. Ellenfél AI - egyszerű modell véletlenszerű célzási hibával és a labda sebességétől függő cooldownnal; minél gyorsabb a labda, annál ritkábban reagál az AI. Dinamikus nehézség - minden második teljes labdamenet után az ütők magassága 1 px-rel csökken (egy meghatározott minimumig), és a labda sebessége 10%-kal nő; a float vektorok sima gyorsulást biztosítanak. Al-pixeles labdamozgás - a labda pozíciói és vektorai float típusúak, így nem vesznek el kis sebességnövekedések az int-re konvertálás során. Nagy középső pontszám - jól olvasható 3×5-ös számjegyek a játékmenet alatt. Szünet és végeredmény képernyő - PAUSE üzenet háttérrel, valamint végeredmény képernyő (YOU WIN / YOU LOSE / DRAW), amely billentyűlenyomásra vár a kilépés előtt. Ablakméret-változás támogatása - az offscreen bitmap automatikus újraallokálása és az objektumok pozíciójának igazítása. Egyszerű hangolhatóság - olyan értékek, mint a SPEED, SPEED_MULTIPLIER, PADDLE_MIN_H könnyen módosíthatók a forrásban. Fordítás és telepítés Követelmények Cross-kompilátor GCC m68k AmigaOS-hoz (tesztelve: GCC 2.95.3). Intuition és Graphics rendszerkönyvtárak elérhetősége a célrendszeren. Fordítás Video: https://youtu.be/evLq4DNXFgk A kódban OpenLibrary("intuition.library", 37) és OpenLibrary("graphics.library", 36) szerepel - ha jobb kompatibilitást szeretnél AmigaOS 1.x/2.x rendszerekkel, fontold meg a 0 verzió megadását vagy futásidejű ellenőrzések hozzáadását az OpenLibrary után. v1.0.1 - stabilitási javítások, PAUSE megjelenítésének finomítása, várakozás billentyűre a játék végén. v1.0.0 - első nyilvános kiadás: alapmechanika, AI, dinamikus nehézség, RAWKEY watchdog.