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 21:12 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 21:12 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 22:12
       
      Klucz:
      NAPISZ ... PRZEKONA Commodore'owców

      Co w kropkach w zasadzie nie ma znaczenia :)

      I niech kombinuje. :)
      • 6:
         
        CommentAuthortdc
      • CommentTime16 Dec 2022 06:12 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 09:12
       
      taki demosceniczny Test Turinga ;)

      Genialne :)
      • 8:
         
        CommentAuthorAlex
      • CommentTime16 Dec 2022 17:12
       
      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 17:12
       
      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 08:12
       
      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 13:12 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 15:12
       
      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 15:12
       
      Może powinieneś wykupić więcej tokenów?;)
      • 14:
         
        CommentAuthorAlex
      • CommentTime17 Dec 2022 17:12
       
      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 17:12 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 22:12 zmieniony
       
      //
      • 17:
         
        CommentAuthorgienekp
      • CommentTime17 Dec 2022 22:12
       
      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 02:12
       
      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 02:12
       
      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 02:12
       
      jakby był dziewczyną, to byśmy go przyjęli do pracy
      • 21:
         
        CommentAuthortdc
      • CommentTime26 Jan 2023 02:01
       
      To da się załatwić:
      ->link<-
      • 22:
         
        CommentAuthormiker
      • CommentTime26 Jan 2023 06:01
       
      Jak Numena napisze, będzie można spokojnie ogłosić koniec świata ;)
      • 23:
         
        CommentAuthorcrrn
      • CommentTime26 Jan 2023 09:01
       
      @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 11:01
       
      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 11:01
       
      CLR to nielegal na 1000% ;)
      • 26:
         
        CommentAuthorjhusak
      • CommentTime26 Jan 2023 12:01
       
      Nie śmiejcie się, tak wygląda kod nejednego programisty PRZED testami, których tutaj zabrakło.
      • 27:
         
        CommentAuthorAlex
      • CommentTime26 Jan 2023 14:01
       
      @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 15:01
       
      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 22:01
       
      @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 23:01
       
      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 23:01
       

      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 16:01
       
      ale to przecież jest makro :)
      • 33: CommentAuthorSim_Piko
      • CommentTime29 Jan 2023 02:01 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 06:01
       
      plot i drawto jak najbardziej działają w gr.0, kolorem ustala się, jaka literka ma być wyrysowana.
      • 35:
         
        CommentAuthorgienekp
      • CommentTime29 Jan 2023 10:01
       
      @Sim_Piko

      Pytanie czy nie szybciej byłoby napisać to od początku bez AI? :)
      • 36: CommentAuthortebe
      • CommentTime29 Jan 2023 12:01
       
      to jak zapytać parkourowca czy nie prościej przejść normalnie przez ulicę zamiast skakać po ścianach
      • 37:
         
        CommentAuthortdc
      • CommentTime30 Jan 2023 07:01
       
      Windą szybciej ;)
      • 38:
         
        CommentAuthorCOR/ira4
      • CommentTime30 Jan 2023 10:01
       
      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 03:01
       
      Czyli poszukujesz wirtualnego/sztucznego IRATY?;)

      Nie sądzisz, że gry IRATy4 powinien programować IRATA4?;)
      • 40:
         
        CommentAuthorPecus
      • CommentTime31 Jan 2023 10:01
       
      Hindus w outsourcingu zawsze będzie tańszy :P
      • 41:
         
        CommentAuthorjhusak
      • CommentTime31 Jan 2023 17:01
       
      Ciekawe - hobby w outsorcingu.
      • 42:
         
        CommentAuthormazien
      • CommentTime31 Jan 2023 23:01
       
      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 23:01
       
      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 20:02
       
      @ 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 05:02
       
      Nie ma to jak optymizm.


      ps. czy ktoś uczy AI optymizmu?:P
      • 46:
         
        CommentAuthorpirx
      • CommentTime2 Feb 2023 07:02
       
      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 09:02
       
      Taka akurat na temat ChatGPT "nietrywialna" audycja się pojawiła, warto może posłuchać (wypowiada się "profesor"):
      ->link<-
      • 48:
         
        CommentAuthorgienekp
      • CommentTime2 Feb 2023 10:02 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 11:02
       
      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 12:02
       
      @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.