atarionline.pl AI pisze programy - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

  1.  
    @Bufet, o co chodzi z tymi tokenami? Trzeba płacić za skorzystanie, czy to jakiś limit po przekroczeniu którego koniec zabawy i dalej trzeba zapłacić?
    • 2:
       
      CommentAuthortdc
    • CommentTime15 Dec 2022 zmieniony
     
    Ja mam zadanie dla AI, które rozwali wszystkie rodzaje głębokiego uczenia:

    Napisz strzelankę w stylu tdc-a (oczywiście na Atari XL/XE; może być w Action!) gdzie będzie 10000 sprzętowych duszków animowanych w ramce, co by Commodore'owcy i Atarowcy uwierzyli, że duszki atarowskie są najlepsze.

    :D
  2.  
    duża szansa, że AI jakoś zakończy proces w rozsądnym czasie :)
    • 4:
       
      CommentAuthortdc
    • CommentTime15 Dec 2022 zmieniony
     
    Ale celem nie jest napisanie programu, lecz napisanie programu który przekona i Commodore'owców, i Atarowców ;)
    • 5:
       
      CommentAuthorgienekp
    • CommentTime15 Dec 2022
     
    Klucz:
    NAPISZ ... PRZEKONA Commodore'owców

    Co w kropkach w zasadzie nie ma znaczenia :)

    I niech kombinuje. :)
    • 6:
       
      CommentAuthortdc
    • CommentTime16 Dec 2022 zmieniony
     
    W sumie tak. Jeśli będzie miał dowolność działania to może być ciekawie.

    Ale śmiem postawić tezę, że jeśli zadanie wykona i to w zaskakujący dla nas sposób to będziemy mieli pierwszego wirtualnego kodera, któremu nie będzie można odmówić, że jest demoscenowcem :P
    ...taki demosceniczny Test Turinga ;)
    • 7:
       
      CommentAuthorgienekp
    • CommentTime16 Dec 2022
     
    taki demosceniczny Test Turinga ;)

    Genialne :)
    • 8:
       
      CommentAuthorAlex
    • CommentTime16 Dec 2022
     
    Wierszyk o demoscenie :)

    In the early days of computing,
    A group of rebels took up meeting
    To push the limits of the Atari
    And create art in the digital world, oh so merry

    They called themselves the demoscene
    A community of artists, all so keen
    To explore the capabilities of their machines
    And share their creations, all so serene

    With code as their canvas and pixels their paint
    They created masterpieces, a virtual constraint
    Of color and sound, a visual feast
    Their art on display, at least

    The Atari demoscene may have had its time
    But their impact lives on, a forever chime
    Of creativity and innovation, a legacy true
    Inspiring artists, old and new.
    • 9:
       
      CommentAuthorAlex
    • CommentTime16 Dec 2022
     
    A tutaj prosta gra w Turbo Basicu :)

    10 REM Shooter game for Atari XE
    20 REM Initialize graphics and variables
    30 GRAPHICS 0
    40 DIM SHIP(2), SHOT(2), ENEMY(2)
    50 SHIP(1) = 160: SHIP(2) = 190
    60 ENEMY(1) = RND(0)*320: ENEMY(2) = 0
    70 SHOT(1) = -1: SHOT(2) = -1
    80 SCORE = 0: LIVES = 3
    90 REM Main game loop
    100 FOR T = 1 TO 1000
    110 REM Move ship
    120 IF STICK(0) = 14 THEN SHIP(1) = SHIP(1) - 2
    130 IF STICK(0) = 13 THEN SHIP(1) = SHIP(1) + 2
    140 SHIP(1) = MAX(0, MIN(SHIP(1), 319))
    150 REM Move shot
    160 IF SHOT(1) > -1 THEN SHOT(2) = SHOT(2) - 5
    170 IF SHOT(2) < 0 THEN SHOT(1) = -1
    180 REM Move enemy
    190 ENEMY(2) = ENEMY(2) + 1
    200 REM Check for collisions
    210 IF SHOT(1) > -1 AND SHOT(1) >= ENEMY(1) AND SHOT(1) <= ENEMY(1)+9 AND SHOT(2) >= ENEMY(2) AND SHOT(2) <= ENEMY(2)+9 THEN
    220 SCORE = SCORE + 1
    230 ENEMY(1) = RND(0)*320: ENEMY(2) = 0
    240 SHOT(1) = -1
    250 END IF
    260 IF ENEMY(2) > 199 THEN
    270 LIVES = LIVES - 1
    280 ENEMY(1) = RND(0)*320: ENEMY(2) = 0
    290 END IF
    300 REM Draw screen
    310 COLOR 1, 0, 0
    320 PLOT SHIP(1), SHIP(2)
    330 DRAW TO SHIP(1)+9, SHIP(2)+9
    340 COLOR 0, 0, 1
    350 PLOT SHOT(1), SHOT(2)
    360 DRAW TO SHOT(1)+1, SHOT(2)+1
    370 COLOR 2, 2, 2
    380 PLOT ENEMY(1), ENEMY(2)
    390 DRAW TO ENEMY(1)+9, ENEMY(2)+9
    400 REM Display score and lives
    410 LOCATE 1, 1: PRINT "SCORE: "; SCORE; " LIVES: "; LIVES
    420 REM Check for game over
    430 IF LIVES = 0 THEN GOTO 999
    440 REM Wait for next frame
    450 FOR W = 1 TO 50: NEXT W
    460 NEXT T
    470 REM Game over screen
    480 COLOR 3, 3, 3
    490 LOCATE 10, 10: PRINT "GAME OVER"
    500 LOCATE 12, 10: PRINT "YOUR SCORE: "; SCORE
    510 GOTO 999
    999 END
    • 10: CommentAuthormrroman
    • CommentTime17 Dec 2022
     
    To wygląda jak gra skopiowana z jakiejś książki typu (50 gier w Atari BASIC). Coś czuję że uczyli AI na archive.org. Do tego nie ma takiej instrukcji jak „DRAW TO”. A na koniec, czy to w ogóle działa po tych poprawkach? :).
    • 11:
       
      CommentAuthorgienekp
    • CommentTime17 Dec 2022 zmieniony
     
    Raczej nie zadziała, jak 1/3 kodu ma błąd składni. Nawet nie wiadomo jak poprawiać bo nie wiadomo co poeta miał na myśli.
    • 12: CommentAuthorDope
    • CommentTime17 Dec 2022
     
    W moim przypadku AI do Atari Basica wymyśliło polecenie SETCOLOR 3,0,O,1,0 więc sam nie wiem co o tym myśleć.
    • 13:
       
      CommentAuthortdc
    • CommentTime17 Dec 2022
     
    Może powinieneś wykupić więcej tokenów?;)
    • 14:
       
      CommentAuthorAlex
    • CommentTime17 Dec 2022
     
    A tutaj przykład w asemblerze:

    ; Division procedure for 16-bit numbers in 6502 assembler
    ; for Atari XE

    ; Input: A = numerator (16-bit), X = denominator (16-bit)
    ; Output: A = quotient, Y = remainder

    ; Clear the quotient and remainder registers
    LDX #$0000
    LDY #$0000

    ; Loop until the numerator is less than the denominator
    loop:
    CMP A,X
    BCS skip
    SBC A,X
    INY
    JMP loop

    ; Store the quotient in the A register
    skip:
    STA A

    ; The Y register contains the remainder

    ; End of division procedure
    • 15:
       
      CommentAuthorAlex
    • CommentTime17 Dec 2022 zmieniony
     
    I jeszcze hicior :)

    ; Simple 256-byte demo for Atari XE in 6502 assembler

    ; Set up the stack pointer and clear the screen
    LDX #$FF
    TXS
    CLR

    ; Set up the display list
    LDA #$70
    STA $D40E
    LDA #$00
    STA $D40F

    ; Set up the player/missile graphics data
    LDA #$55
    STA $D000
    LDA #$AA
    STA $D001

    ; Set up the player/missile graphics registers
    LDA #$02
    STA $D015
    LDA #$01
    STA $D01D

    ; Set up the playfield graphics data
    LDA #$F0
    STA $0400
    LDA #$0F
    STA $0401

    ; Set up the playfield graphics registers
    LDA #$03
    STA $D016
    LDA #$02
    STA $D01E

    ; Set up the color registers
    LDA #$0F
    STA $D021
    LDA #$F0
    STA $D022

    ; Set up the vertical sync register
    LDA #$01
    STA $D01C

    ; Enable the graphics display
    LDA #$01
    STA $D01A

    ; Loop forever
    loop:
    JMP loop

    ; End of demo

    • 16: CommentAuthorspencer
    • CommentTime17 Dec 2022 zmieniony
     
    //
    • 17:
       
      CommentAuthorgienekp
    • CommentTime17 Dec 2022
     
    No chyba tym commodorowców nie przekonamy...
    Może by odwrotnie, niech napisze na C64, ciekawe gdzie wyjdą większe głupoty :)
    • 18:
       
      CommentAuthorAlex
    • CommentTime19 Dec 2022
     
    Na C64 nieco lepiej:

    ; Simple 256-byte demo for Commodore C64
    ; Written in 6502 assembly language

    ; Set up the screen and color memory
    lda #$00
    sta $d020
    sta $d021

    ; Set the background color to blue
    lda #$11
    sta $d021

    ; Set the text color to white
    lda #$01
    sta $d020

    ; Clear the screen
    lda #$20
    sta $0400
    sta $0500
    sta $0600
    sta $0700

    ; Print "Hello, World!" at the top of the screen
    lda #$48 ; H
    sta $0400
    lda #$45 ; E
    sta $0401
    lda #$4c ; L
    sta $0402
    lda #$4c ; L
    lda #$4f ; O
    sta $0404
    lda #$, ; , (space)
    sta $0405
    lda #$57 ; W
    sta $0406
    lda #$4f ; O
    sta $0407
    lda #$52 ; R
    sta $0408
    lda #$4c ; L
    sta $0409
    lda #$44 ; D
    sta $040a
    lda #$21 ; !
    sta $040b

    ; Wait for a key press
    loop:
    jsr $ffd2
    cmp #$ff
    beq loop

    ; Done
    rts

    • 19:
       
      CommentAuthorjhusak
    • CommentTime19 Dec 2022
     
    Widać, że na razie to AI postępuje jak niezbyt bystry programista, który na dodatek nie testuje tego, co napisał. Copy paste pełną gębą :)
    • 20:
       
      CommentAuthorpirx
    • CommentTime19 Dec 2022
     
    jakby był dziewczyną, to byśmy go przyjęli do pracy
    • 21:
       
      CommentAuthortdc
    • CommentTime26 Jan 2023
     
    To da się załatwić:
    ->link<-
    • 22:
       
      CommentAuthormiker
    • CommentTime26 Jan 2023
     
    Jak Numena napisze, będzie można spokojnie ogłosić koniec świata ;)
    • 23:
       
      CommentAuthorcrrn
    • CommentTime26 Jan 2023
     
    @Alex
    ale ten program na c64 też nie ma sensu... :) nie robi w zasadzie nic. a w każdym "bloku" jest jakiś błąd.
    • 24: CommentAuthorsolo/ng
    • CommentTime26 Jan 2023
     
    nawet w copy-paste nie umie, bo najpierw wpisuje #$00 , aby zaraz potem w te same rejestry wpisywac inne wartosci.

    podoba mi sie za to najszybsze kasowanie ekranu, jakie widzialem na 6502.
    • 25:
       
      CommentAuthorsun
    • CommentTime26 Jan 2023
     
    CLR to nielegal na 1000% ;)
    • 26:
       
      CommentAuthorjhusak
    • CommentTime26 Jan 2023
     
    Nie śmiejcie się, tak wygląda kod nejednego programisty PRZED testami, których tutaj zabrakło.
    • 27:
       
      CommentAuthorAlex
    • CommentTime26 Jan 2023
     
    @crrn - no właśnie wszystko co pisze AI jest bez sensu i nie działa:) Zrobiłem ze sto testów i za każdym razem głupoty.
    • 28: CommentAuthorilmenit
    • CommentTime26 Jan 2023
     
    umiejętność pisania kodu przez ChatGPT bardzo zależy od wielkości danych uczących. Jak chodzi o takiego Pythona pisze całkie niezły kod, ale asm, szczególnie 6502 jest bardzo słaby, i myli platformy. Zwróćcie uwagę, że w ostatnim Advent of Code boty oparte na GPT przez wiele dni wygrywały w rankingach.
    • 29:
       
      CommentAuthorAlex
    • CommentTime26 Jan 2023
     
    @ilmenit - Co racja, to racja. Najgorzej, że ten chat się nie uczy tak, jak np. Google Translate. Jak robi coś źle to powtarza te błędy do usranej...
    • 30:
       
      CommentAuthorjhusak
    • CommentTime26 Jan 2023
     
    Z tego, co wiem, można GPT wydać polecenie "usuń błędy w powyższym progarmie" albo "zdebaguj" albo "przetestuj, czy działa". Ktoś próbował?
    • 31:
       
      CommentAuthorjhusak
    • CommentTime26 Jan 2023
     

    solo/ng:

    podoba mi sie za to najszybsze kasowanie ekranu, jakie widzialem na 6502.


    Z niedziałających to widywałem szybsze :)
    • 32: CommentAuthortebe
    • CommentTime27 Jan 2023
     
    ale to przecież jest makro :)
    • 33: CommentAuthorSim_Piko
    • CommentTime29 Jan 2023 zmieniony
     
    po 'małych', ręcznych poprawkach, ta TurboBasic'owa 'gra' nawet mogłaby działać

    10 REM Shooter game for Atari XE
    20 REM Initialize graphics and variables
    30 GRAPHICS 7
    40 DIM SHIP(2),SHOT(2),ENEMY(2)
    50 SHIP(1)=80:SHIP(2)=70
    60 ENEMY(1)=RND(0)*150:ENEMY(2)=0
    70 SHOT(1)=-1:SHOT(2)=-1
    80 SCORE=0:LIVES=3
    90 REM Main game loop
    100 FOR T=1 TO 1000
    110 REM Move ship
    120 IF STICK(0)=11 THEN SHIP(1)=SHIP(1)-2
    130 IF STICK(0)=7 THEN SHIP(1)=SHIP(1)+2
    140 IF SHIP(1)<0 THEN SHIP(1)=0
    145 IF SHIP(1)>150 THEN SHIP(1)=150
    150 REM Move shot
    155 IF STRIG(0)=0 THEN SHOT(1)=SHIP(1)+5:SHOT(2)=SHIP(2)
    160 IF SHOT(1)>-1 THEN SHOT(2)=SHOT(2)-5
    170 IF SHOT(2)<0 THEN SHOT(1)=-1
    180 REM Move enemy
    190 ENEMY(2)=ENEMY(2)+1
    200 REM Check for collisions
    210 IF SHOT(1)>-1 AND SHOT(1)>=ENEMY(1) AND SHOT(1)<=ENEMY(1)+9 AND SHOT(2)>=ENEMY(2) AND SHOT(2)<=ENEMY(2)+9
    220 SCORE=SCORE+1
    230 ENEMY(1)=RND(0)*150:ENEMY(2)=0
    240 SHOT(1)=-1
    250 ENDIF
    260 IF ENEMY(2)>86
    270 LIVES=LIVES-1
    280 ENEMY(1)=RND(0)*150:ENEMY(2)=0
    290 ENDIF
    300 REM Draw screen
    305 ? #6;CHR$(125)
    310 COLOR 1
    320 PLOT SHIP(1),SHIP(2)
    330 DRAWTO SHIP(1)+9,SHIP(2)+9
    340 COLOR 3
    345 IF SHOT(1)<0 OR SHOT(2)<0 THEN 370
    350 PLOT SHOT(1),SHOT(2)
    360 DRAWTO SHOT(1)+1,SHOT(2)+1
    370 COLOR 2
    380 PLOT ENEMY(1),ENEMY(2)
    390 DRAWTO ENEMY(1)+9,ENEMY(2)+9
    400 REM Display score and lives
    410 POSITION 1,1:PRINT "SCORE: ";SCORE;" LIVES: ";LIVES
    420 REM Check for game over
    430 IF LIVES=0 THEN GOTO 470
    440 REM Wait for next frame
    450 FOR W=1 TO 10:NEXT W
    460 NEXT T
    470 REM Game over screen
    480 GRAPHICS 0
    490 POSITION 10,10:PRINT "GAME OVER"
    500 POSITION 10,12:PRINT "YOUR SCORE: ";SCORE
    510 GOTO 999
    999 END

    - GRAPHICS 0 zamieniony na 7, bo kolory i poprawcie mnie jeśli się mylę ale DRAWTO i PLOT w GR.0 to chyba nigdy nie działały?
    - wraz z tym trzeba było pozmniejszać wszystkie liczby od pozycjonowania z zakresów 0-319, 0-199 co by w GR.7 się na ekranie mieściły
    - 'funkcję' MAX z linii 140 przerobiłem na IFy
    - dopisałem linię 155, żeby dało rady strzelać
    - linia 305... cóż, jakoś trzeba ten ekran wyczyścić przed rysowaniem następnej klatki ;v
    - LOCATE jest w pewnych odmianach BASICa zamiennikem atarowskiego POSITION (w sumie to ja kojarzę tylko w QBASICu i FreeBASICu że tak jest)
    - linia 430 oryginalnie kompletnie pomija ekran GAME OVER
    • 34:
       
      CommentAuthorpirx
    • CommentTime29 Jan 2023
     
    plot i drawto jak najbardziej działają w gr.0, kolorem ustala się, jaka literka ma być wyrysowana.
    • 35:
       
      CommentAuthorgienekp
    • CommentTime29 Jan 2023
     
    @Sim_Piko

    Pytanie czy nie szybciej byłoby napisać to od początku bez AI? :)
    • 36: CommentAuthortebe
    • CommentTime29 Jan 2023
     
    to jak zapytać parkourowca czy nie prościej przejść normalnie przez ulicę zamiast skakać po ścianach
    • 37:
       
      CommentAuthortdc
    • CommentTime30 Jan 2023
     
    Windą szybciej ;)
    • 38:
       
      CommentAuthorCOR/ira4
    • CommentTime30 Jan 2023
     
    z tym AI super, niebawem rzucę pomysł na grę 10/10 AI za free mi zakoduje, bez marudzenia że swoje pomysły musi wpierw zrealizować;) i będziemy mieli w końcu gry IRATY4 !!!
    • 39:
       
      CommentAuthortdc
    • CommentTime31 Jan 2023
     
    Czyli poszukujesz wirtualnego/sztucznego IRATY?;)

    Nie sądzisz, że gry IRATy4 powinien programować IRATA4?;)
    • 40:
       
      CommentAuthorPecus
    • CommentTime31 Jan 2023
     
    Hindus w outsourcingu zawsze będzie tańszy :P
    • 41:
       
      CommentAuthorjhusak
    • CommentTime31 Jan 2023
     
    Ciekawe - hobby w outsorcingu.
    • 42:
       
      CommentAuthormazien
    • CommentTime31 Jan 2023
     
    Podtrzymujące są na duchu te Wasze podśmiech**ki z tego co wypluwa gpt na 6502. Fajnie będzie to poczytać za 2-3 lata. O ile bedę miał internet przy zbiorze truskawek za Odrą
    • 43: CommentAuthorilmenit
    • CommentTime31 Jan 2023
     
    Wynagrodzenia i ilość pracy oferowanej w popularnych językach programowania i na popularne platformy może się zmniejszą, ale rozmiar danych uczących 6502 dla AI wciąż będzie na tyle mały, że pracy w tym będzie na pęczki! To przyszłość zarobków!
    • 44:
       
      CommentAuthorCOR/ira4
    • CommentTime1 Feb 2023
     
    @ mazien ... jak tak dalej pójdzie to za dwa lata zamiast internetu na tym terenie będzie krajobraz z Fallouta.
    • 45:
       
      CommentAuthortdc
    • CommentTime2 Feb 2023
     
    Nie ma to jak optymizm.


    ps. czy ktoś uczy AI optymizmu?:P
    • 46:
       
      CommentAuthorpirx
    • CommentTime2 Feb 2023
     
    jest taka konspira p.t. "dead internet" ->link<-
    ktoś gdzieś zauważył, że to wcale nie teoria spiskowa, ale proroctwo ;)))
    • 47: CommentAuthormarok
    • CommentTime2 Feb 2023
     
    Taka akurat na temat ChatGPT "nietrywialna" audycja się pojawiła, warto może posłuchać (wypowiada się "profesor"):
    ->link<-
    • 48:
       
      CommentAuthorgienekp
    • CommentTime2 Feb 2023 zmieniony
     
    A tak z ciekawości, są już jakieś opracowania co do zapotrzebowania mocy energetycznej na działanie tego cuda?

    Bawiłem się jeszcze tym czatem i wniosek mam jeden. To ustrojstwo nigdy nie napisze nic ciekawego na ATARI chyba, że ktoś mu przełoży wajchę z trybu komercyjnego na tryb pasjonaty.

    Zbiór uczący ewidentnie idzie w stronę zrobienia produktu robiącego kasę. Gdyby skanował/debugował stare kody 8-bitowców to mógłby czymś zaskoczyć. No ale tak robi pasjonat, tylko że dudków z tego nie ma.
    • 49: CommentAuthorilmenit
    • CommentTime2 Feb 2023
     
    Niestety, to nie jak Java czy Python. Tu każda platforma używająca asemblera 6502 czy Basica ma swoje specyfika, każdy asembler czy Basic ma inną składnię, a dodatkowo platformy nawet Atari (800 vs 2600) bardzo się różnią. ChatGPT został nauczony na wszystkim bez jakiejkolwiek organizacji, przez co też wszystko miesza. Nie ma co zakładać lepszego działania w dziedzinie retro nawet jak przyjdzie GPT4.
    • 50:
       
      CommentAuthorgienekp
    • CommentTime2 Feb 2023
     
    @ilmenit
    Zgadzam się w 100%.

    Pytanie czy jakby kiedyś pojawił się jakiś filantrop retro i zrobił takiego "czata" co tylko siedzi w retro 8-bit. I karmił go tylko taką wiedzą. Wiadomo, że to by była sztuka dla sztuki... Ale czy czasem wtedy takie AI dało by radę coś zakodować? Mi się wydaje, że nie ma przeszkód, żeby grzało i na ATARI. Tylko po prostu teraz to nie jest nikomu po drodze, więc karmi się go czymś innym.