Redreamer: pågående

Diskussioner om programmering

Moderatorer: Fanta_gbg, e5frog, stonan, Zlasher, hollowman

Re: Redreamer: pågående

Inläggav bjonte » 4 december 2017, 11:23

Det är roligt att höra att det går framåt.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 2016
Blev medlem: 17 april 2006, 23:12

Re: Redreamer: pågående

Inläggav Staffan » 5 december 2017, 09:20

Kul att höra :) Kollar man på vad som faktiskt släpps av folk så är AI:n en stötesten. Många släpper ju så kallade 2player spel.
Staffan
Erfaren lärling
Erfaren lärling
 
Inlägg: 141
Blev medlem: 14 augusti 2013, 08:41
Ort: Hammarö

Re: Redreamer: pågående

Inläggav Redreamer » 5 december 2017, 10:38

Egentligen ville jag inte göra någon ai för jag skulle egentligen vilja lägga 64 kodandet åt handlingarna till förmånen för andra projekt, en tid. Men jag kan som du säger inte göra ett tvåplayer spel utan något form av 1 playerläge. Upplevs ju i så fall väldigt okomplett. Även om jag inte är någon perfektionist så har jag ändå någon inneboende känsla flr hur jag vill ha det om jag ska släppa det för allmän uppvisning. Men än så länge är faktiskt ai biten oväntat rolig :)
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1423
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

Re: Redreamer: pågående

Inläggav Redreamer » 10 december 2017, 22:05

"Självmodifierande kod"
Vet inte riktigt varför jag inte sprungit på detta tidigare. Förmodligen för att jag använt indirekta pekare på zero pagen. Problemet är att jag har en funktion som jag vill ha flera "varianter" av, beroende på vilka spriter som ska jämföras. I stället för att "kladda ner" hela funktionen så tänkte jag ha en första funktion som skrev om min funktion innan den startas. Kanske blir minst lika rörigt? Men det är detta som kallas självmodifierande kod va? Har aldrig fattat vitsen riktigt, fören jag nu sprang på denna tanke idag då jag pilla runt lite. Visste inte riktigt hur jag skulle göra först så jag provade mig fram med ett litet test exempel
Kod: Markera allt
*= $1000

        lda #$02
        sta hej + $01
        lda #$02
        sta $d015

        lda #$80
hej
        sta $d000
        sta $d003

        rts


Tänk vad mycket simpla saker man missat som jag kunnat haft nytta av =) Men det är kul när man lär sig något nytt, även om det var bara en egen idé som ploppa fram. Visst, det är sådant jag nog sett innan, men jag har inte varit mogen för det då... :blinky:
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1423
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

Re: Redreamer: pågående

Inläggav bjonte » 10 december 2017, 22:49

Redreamer skrev:"Självmodifierande kod"
Men det är detta som kallas självmodifierande kod va?

Ja, precis. Det används nog oftast för att springa över minnesareor som är större än 256 bytes.

Det går att lösa problemet med flera varianter av samma funktion med makron också, fast då blir programmet större men kan i vissa fall bli effektivare. Jag använde detta i Cosmos för mjukvarusprites. De finns i flera olika storlekar med en funktion för att rita per storlek. Detta löste jag med ett enda makro med inparametrar för storleken som ändrar koden i funktionen. Sedan instansierade jag bara makrot för varje möjlig storlek på sprites.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 2016
Blev medlem: 17 april 2006, 23:12

Re: Redreamer: pågående

Inläggav Redreamer » 2 januari 2018, 14:10

Efter drygt 600 rader ai kod så tror jag att jag målat in mig i ett hörn. Det är liksom flera funktioner som slåss om att få styra gubben en hit och en dit. Jag ska försöka göra klart musiken till spelet så tar jag upp AI'n senare. Får städa upp lite i den koden som finns och fundera över ett mer organiserat flödesschema tror jag. Dessutom innehåller min kod buggar... jag måste lära mig att koda utan buggar, hur gör man det??? ;)
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1423
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

Re: Redreamer: pågående

Inläggav bjonte » 2 januari 2018, 20:26

Redreamer skrev:Dessutom innehåller min kod buggar... jag måste lära mig att koda utan buggar, hur gör man det??? ;)

Hehe, klurigt. Jag brukar stega igenom koden första gångerna jag kör för att kolla att den verkar göra det som jag tänkte. Där upptäcker jag ofta en del saker som inte blev som det skulle. Sedan försöker jag ha principen att om jag hittar något som jag inte förstår så måste jag ta tag i det direkt. Om jag inte gör det kanske problemet verkar försvinna senare men dyker upp när det är ännu svårare att veta vad som händer och allt har blivit grötigare.

Det där med att AI:n bråkar med sig själv bör gå att undvika. Om du har en tillståndsmaskin i form av en byte som talar om vilken strategi det är som gäller just nu och kör bara kod som är associerad med den strategin så bör det funka bättre.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 2016
Blev medlem: 17 april 2006, 23:12

Re: Redreamer: pågående

Inläggav Redreamer » 3 januari 2018, 19:05

Det där med att använda vice och stega sig igenom koden har jag aldrig blivit klok på. Jag har fattat hur jag hoppar till vissa minnes områden å listar... har jag för mig, för det var ett tag sedan jag gjorde ett försök. Problemet är att jag inte orkar läsa igenom hur det egentligen fungerar utan skummar bara efter något "användbart". Jag ska ta mig tid till det någon dag, så jag verkligen förstår.
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1423
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

Re: Redreamer: pågående

Inläggav bjonte » 3 januari 2018, 21:14

Det är bara några få kommandon som behövs för att komma igång och komma långt.

  • z - kör nästa instruktion
  • n - kör nästa instruktion och om det är en JSR, kör tills subrutinen returnerar.
  • d xxxx - disassemblera kod på adress xxxx
  • d - disassemblera vidare
  • m xxxx - lista minnesinnehåll på adress xxxx
  • m - lista vidare
  • break exec xxxx - stanna programmet på adress xxxx
  • break write xxxx - stanna programmet om adress xxxx skrivs över
Trycker man bara return repeteras samma kommando igen. Det funkar bäst för 'd' och 'm'.

I jAsm kan man får en extra fil som innehåller alla symboler och brytpunkter från källkoden. Om du ger den till VICE vid uppstart får du alla adresser översatta till labels i källkoden. Då är det lättare att känna igen dig när du disassemblerar. Det finns säkert i de flesta andra assemblatorer med. Jag rekommenderar verkligen att få igång detta. Det blir mycket lättare att förstå koden utan att kolla i källkoden hela tiden.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 2016
Blev medlem: 17 april 2006, 23:12

Re: Redreamer: pågående

Inläggav Redreamer » 14 januari 2018, 23:07

Kära dagboken. Idag har jag kodat en AI rutin som ser vilket item (sprite) som ligger närmast den AI styrda figuren. Tanken är att det skall användas för att avgöra vad AI skall satsa på, attackera motståndare eller hämta item.
Kommer detta spel någonsin bli klart? Livsprojekt? Näää, det är ju nästan nära nu ju! (har jag sagt i två år) God natt!
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1423
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

Re: Redreamer: pågående

Inläggav bjonte » 19 januari 2018, 22:17

Redreamer skrev:Kommer detta spel någonsin bli klart?

Du behöver bara plöja lite tid på ett hack eller två. Är det dags snart?
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 2016
Blev medlem: 17 april 2006, 23:12

Re: Redreamer: pågående

Inläggav Redreamer » 22 januari 2018, 09:31

Ja. Det tycker jag allt att det borde. Jag "missade" ju förra gången.
Ai koden går långsamt framåt. Mest orolig för att det är kinkigt med att ai fastnar på kanter osv. men det är finlir som jag får fixa till på slutet.
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1423
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

Re: Redreamer: pågående

Inläggav Redreamer » 25 februari 2018, 18:57

Är iväg några dagar med jobbet så det blir några hotellkvällar. Såklart är datorn med. Stöter och blöter min ai, nu är det iaf en spelare som beter sig som en pingpongboll ungefär med lite styrning mot spelaren :) Vad ska man kalla det ist för ai förresten. Är ju ingen ai i den. Bara förutbestämda mönster :P
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1423
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

Re: Redreamer: pågående

Inläggav Staffan » 6 mars 2018, 15:30

Kalla det AI ändå. Så är det ju överallt :) (nästan)
Staffan
Erfaren lärling
Erfaren lärling
 
Inlägg: 141
Blev medlem: 14 augusti 2013, 08:41
Ort: Hammarö

Re: Redreamer: pågående

Inläggav Redreamer » 10 mars 2018, 14:41

https://drive.google.com/open?id=1X_9ZN ... VtutEdlube

För nyfikna själar som inte vet vad de ska göra.

Den ena förvirrade varelsen är "AI"n. Måste göra någon rutin för att ta sig runt hinder. Ska nog inte vara för svårt hoppas jag :blinky:
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1423
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

FöregåendeNästa

Återgå till Programmering/prog.-verktyg

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 4 gäster

Banners

BOA Japon Mediapalatset Nostalgibutiken
Quartex Retro Overlays Retroplay Spel och sånt
Super Motaro Söders Serie & Skivhandel vintagegames.se RG 2016
cron