Egna characters och bakgrund i Basic 7.0

Diskussioner om Commodore 128

Moderatorer: Fanta_gbg, e5frog, stonan, Zlasher

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 4 februari 2019, 22:38

Redreamer skrev:Ännu en port :D Ska det bli en PETportning här näst? ;) Eller kanske något mer realistiskt, amiga? För nu har du mer eller mindre kört slut på commodore 8a bitare. Kanske en mega65 port i framtiden!


Haha, jag vet inte hur dethär ska sluta, jag tror jag har fullt upp som det är för en lång tid framöver! :lol: Det är förståss intressant att studera olika gamla datorer och konsoler, men jag tror jag vill spendera tid på att förstå mig bättre på commodores 8-bittare för tillfället.
Användarvisningsbild
Mozartkügel
Erfaren lärling
Erfaren lärling
 
Inlägg: 107
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Redreamer » 5 februari 2019, 10:44

Hur blir det med gubben var den sprite driven på 128a varianten? Skiljer väll en hel del när det är mjukvaruspritar. Fast jag ser att du flyttar hel char positioner på plus4.

Skickat från min ANE-LX1 via Tapatalk
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: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 5 februari 2019, 21:10

Redreamer skrev:Hur blir det med gubben var den sprite driven på 128a varianten? Skiljer väll en hel del när det är mjukvaruspritar. Fast jag ser att du flyttar hel char positioner på plus4.
ever


Jo basicversionen på c128 hade sprites, men jag fortsatte "sprite-versionen" på c64. Dom andra versionerna är nu för tillfället längre komna:
https://www.youtube.com/watch?v=AY0g6H8gac4
Jag skulle porta över allt nytt stuff från plus4 till c64-versionen igår kväll, men jag blev påmind om att c64 sprite kordinatsystemet inte sitter ihop med char-kordinaterna :shock: så nu ska jag knåpa ihop rätt algoritm för att få platformerna och myntplockningen att funka på c64 också. Sprite X-kordinats hi-bitten började dessutom krångla, så där fick jag in en bug på köpet.

Jo charpositions-rörelsen på plus4 och vic-20 var planerad. Min plan är att försöka knåpa ihop alla behövliga beståndsdelar till ett simpelt spel först och sedan i ett senare skede så kan jag överväga pixelrörelse och andra finesser, eller så får det bli till nästa projekt. Jag skulle nästan säga att man lär sig bättre om man tillåter sig röra sig vidare till nya idéer lite snabbare och håller inspirationen uppe. Förhoppningsvis blir spelen stegvis lite bättre då för varje gång ändå. :D
Användarvisningsbild
Mozartkügel
Erfaren lärling
Erfaren lärling
 
Inlägg: 107
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Redreamer » 6 februari 2019, 08:51

Jo. Det är nog absolut så att man ska sätta kreativiteten främst. Sedan är det nog lite olika från person till person huruvidare man släpper å går vidare.

Skickat från min ANE-LX1 via Tapatalk
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: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 7 februari 2019, 08:08

Jo, det är skitsvårt att färdigställa spel, speciellt då man bara har lite tid på sig i slutet av kvällen och ständigt måste avbryta och "zona ut" för att orka upp nästa dag. :lemming: :lemming: :lemming: Hoppas robotarna snart kommer och räddar oss så man får mera tid till att vara med sina vänner och nära och kära, och mer tid till commodoreprogrammering! :D

Jag lyckades få platforms- och mynt-kollissionen att fungera på c64 versionen, men den behöver ännu finslipning. Hoppfysiken är inte som den ska vara nu heller. Jag kom inte ihåg hur man skulle göra för att han ska landa på platformerna om han faller mer än en pixel i taget. Jag har gjort det förr (inte på c64) så jag måste antagligen bara kolla upp nån gammal kod.
https://youtu.be/CDXuRRq8LMI
Användarvisningsbild
Mozartkügel
Erfaren lärling
Erfaren lärling
 
Inlägg: 107
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Redreamer » 7 februari 2019, 09:05

Som jag gjort på mitt spel så konverterar jag ständigt ett antal pixelpositioner till vad det motsvarar på kartan. typ såhär.

(joystick riktning upp)
(Ta fram pixelpositioner för upp)
(Konvertera till char position på "kartan")
(läs char)
(om "solid objekt (char)" flytta ej spelare upp)


Skickat från min ANE-LX1 via Tapatalk
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: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 8 februari 2019, 09:09

Tack för tipset, det är en bra approach! Jag ska först ännu testa om det snurrar tillräckligt snabbt för att fånga upp gubben om han faller förbi en platfor och lägga upp honom tillbaka, annars får jag skriva om och ta till din taktik.
Användarvisningsbild
Mozartkügel
Erfaren lärling
Erfaren lärling
 
Inlägg: 107
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 8 februari 2019, 23:11

Fixade platformerna så han kan falla mer än en pixel i taget och förbättrade myntkollissionen. Nu är nästa problem att tänka ut hur han kan röra sig mer än en pixel i taget sidlänges utan att skita till sprite x position hi-bitten.

https://youtu.be/F4sLV00e0wo
Användarvisningsbild
Mozartkügel
Erfaren lärling
Erfaren lärling
 
Inlägg: 107
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Re: Egna characters och bakgrund i Basic 7.0

Inläggav bjonte » 9 februari 2019, 06:54

Mozartkügel skrev:Nu är nästa problem att tänka ut hur han kan röra sig mer än en pixel i taget sidlänges utan att skita till sprite x position hi-bitten.

Jag brukar rekommendera att mellanlagra positionen i minnet någonstans i det format som passar bäst och sedan konvertera detta till spriteregistren en gång per bildruta. Någon av följande till exempel:

1) En byte med bit 0-7 av positionen och en byte med bit 8 lagrad i bit 0
2) En byte med bit 0 av positionen lagrad i bit 7 och en byte med bit 1-8
3) Sänk precision och lagra bit 1-8 i en byte endast.

1) är bra för att den är intuitiv och det är enkelt att addera till positionen med carry. 2) och 3) är bra för att snabbare kolla kollision mellan objekt men 3) kan inte flytta en pixel längre. 2) är någon slags medelväg där det går att addera tal, om än lite omständligare för att de måste vara representerade på samma sätt.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 2016
Blev medlem: 17 april 2006, 23:12

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 11 februari 2019, 12:18

Hej, tack för tipset Bjonte! Jag hoppade tillbaka till Vic-20 versionen mellan varven :lol: men dethär hjälper säkert då jag hoppar tillbaka till c64. Jag håller iofs på med spelet i CC65, men jag kan ju göra det med inline asm om jag inte kommer på nån enklare lösning i C.
Användarvisningsbild
Mozartkügel
Erfaren lärling
Erfaren lärling
 
Inlägg: 107
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 9 oktober 2020, 10:44

bjonte skrev:
Mozartkügel skrev:Det som stressar mig mest med c64 programmeringen för tillfället är bank switching / att fatta vart det lönas att på enklast sätt lägga stuff i minnet.


Jag brukar försöka lägga all grafik i översta banken $c000-$ffff. Då måste kernal plockas bort ifall det ska läsas i minnet men fördelen är att det går att lägga sprites som inte ska ändras under I/O-arean (som är krånglig att utnyttja annars och att det inte är något ROM-teckenset som syns i den banken. Så dubbla skärmminnen på $e000-$e800 och teckenset på $e800-$efff kanske är en bra start. Sprites på övriga platser $c000-$dfff och $f000-$ffbf. Då kan du ha programmet på $0800-$bfff utan en massa hål.


Så om jag förstår rätt, om man är riktigt pressad för utrymme så kan man alltså stänga av och aktivera minnesbanker igen medan man kör programmet?

Om man inte gör ett så stort spel så kan man säkert lungt stänga kernal? Men om man t.ex. vill ladda levlar från diskett utan att bankswitcha så måste man väl lämna kernal banken aktiv? Jag hade själv tänkt att mitt första C64 spel i varje fall skulle rymmas i minnet med en laddning så jag kan göra en kassettversion (som inte är multiload). :tape:
Användarvisningsbild
Mozartkügel
Erfaren lärling
Erfaren lärling
 
Inlägg: 107
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Re: Egna characters och bakgrund i Basic 7.0

Inläggav bjonte » 9 oktober 2020, 11:46

Mozartkügel skrev:Så om jag förstår rätt, om man är riktigt pressad för utrymme så kan man alltså stänga av och aktivera minnesbanker igen medan man kör programmet?


Ja, BASIC, kernal pch I/O går att slå av och på när som helst när de inte används. Du kan slå på kernal bara under laddningen om du vill. Skrivningar till areorna $a000-$bfff och $e000-$ffff går alltid till RAM så kernal kan vara på och du kan ändå skriva grafik där till exempel (men inte läsa).
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 2016
Blev medlem: 17 april 2006, 23:12

Re: Egna characters och bakgrund i Basic 7.0

Inläggav Mozartkügel » 10 oktober 2020, 23:54

bjonte skrev:
Mozartkügel skrev:Så om jag förstår rätt, om man är riktigt pressad för utrymme så kan man alltså stänga av och aktivera minnesbanker igen medan man kör programmet?


Ja, BASIC, kernal pch I/O går att slå av och på när som helst när de inte används. Du kan slå på kernal bara under laddningen om du vill. Skrivningar till areorna $a000-$bfff och $e000-$ffff går alltid till RAM så kernal kan vara på och du kan ändå skriva grafik där till exempel (men inte läsa).


Det var ju superbra! Jag hade på nått sätt inte tänkt mig att det skulle vara så flexibelt. Tack för hjälpen igen!
Användarvisningsbild
Mozartkügel
Erfaren lärling
Erfaren lärling
 
Inlägg: 107
Blev medlem: 6 juni 2010, 13:39
Ort: Finland

Föregående

Återgå till Commodore 128

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 2 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