Uutiset:

C=Foorumi suosittelee: Saku-Foorumi
http://saku.bbs.fi/cgi-bin/discus/discus.cgi

Main Menu

peli projekti Block Hole

Aloittaja virgo, joulukuu 30, 2011, 11:48

« edellinen - seuraava »

virgo

grafiikka on luotu koska sitä aletaan tarvitsemaan tässä raakile grafiikkaa
monivärimoodissa hieman kiinnostaisi luoda moni väristä Hires grafiikkaa mutta siihen tarvittaisiin
uusi grafiikka editori ;( mutta ehkä vielä joskus kun päivityksiä aletaan tekemään
jos nyt saisi ensin pelin rungon toimimaan voi sen jälkeen keskittyä työkalujen hiontaan

ensimmäinen ongelma oli itse tekemässäni ohjelmassa (v.1988)
minkään näköistä tallennus mahdollisuutta siinä ei tietenkään ollut
joten sellainen piti siihen rakentaa muutama päivä meni pähkäillessä et miten tuo ohjelma on toiminut
ennenvanhaan modulissa lymyilevällä assy softalla tallennus sujui kätevästi
mutta emulaattorissa ei sellasita mahdollisuutta ollut ja onhan se paljon näppärämpää
kun softan sisällä pystyy tuollaiset tekemään ;)
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

virgo

raaka Grafiikka siis tehty mutta näyttää siltä että joudun palaamaan aluperäiseen vieritys rutiiniin.
koska merkki grafiikka vieritys vie liikaa merkkejä ja silloin tausta grafiikalle ei jää riittävästi merkkejä.
ilmeisesti pitää jälleen kerran ideoida hieman lisää toteutus tapaa
vai siirytäänkö suoraan tarkkuus grafiikka moodiin
vai pysytäänkö vielä merkki grafiikka puolella :/
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

virgo

köh haluaako joku oikeasti nähdä itse peli sorsankin ?
saattasin tuon laittaa jakoon... jos kehtaan xD
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

virgo

tuolla jo aikaisemmin annoin jakoon kuvakaappauksen pelin etenemisestä
no tässä tulee toinen
nyt on def grafiikat näkyvillä hieman ehti ruutu päivittymään tuossa pelialueen nurkassa
mutta ei anneta sen haitata
peli alue vierii nyt alas päin vapaasti valittavalla nopeudella ja reuna alue pysyy paikallaan
ruudun ulkopuolella olevat rasteri raidat merkkaavat 4 rasteri keskeytyksen käyttämää
prosessori aikaa
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

virgo

nyt pikku pähkinä !

ideoita miten ohjelmoitaisiin hajotettavan blokin tunnistus rutiini ?

omani on testissä mutta jos jollain olis jokin viisaampi ratkaisu asiaa
sellainen otettaisiin mielellään vastaan
eli pelissähän kootaan neliö tai suorakaiteinen blokki joka sitten hajoitetaan kun sellainen saadaan aikaiseksi
esim.
******
******
******

elikä ongelma
sanotaan vaikka että blokki on yhden merkin vajaa
esim.
******
******
****  *

saat osuman tähän tyhjään kohtaan jolloin siitä syntyy ehjä blokki
jokaisen osuman jälkeenhän tehdään tarkastus onko blokki ehjä
oma rutiinini ottaa talteen osumakohdan ja laskee ensin vasemmalle päin
montako merkkiä sinne päin on tämän jälkeen lasketaan osumakohdasta oikealle puolelle
jäävät merkit ja laskenta loppuu kun löydetään Space merkki chr$(32)
tämän jälkeen rutiini palaa vasempaan reunaan ja lähtee sieltä tarkistamaan
ettei yhtä merkki riviä alempana ole muita merkkejä kuin tuo Space
jos on blokki ei ole valmis hajoitettavaksi

jos muita merkkejä ei löydy palataan jompaan kumpaan reunaan ja lasketaan ylöspäin
kunnes blokin yläreuna tulee vastaan
tämän jälkeen blokki on valmis hajoitettavaksi

nyt ideoita miten tämä muilla tavoilla toteutettaisiin
basic kelpaa ja pelkkä ideakin käy
jollain näppärällä laskennallahan tuo varmasti onnistuisi kätevämmin
ideoita ?!?
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

romppainen

Sen enempää ohjelmointipuolta tuntematta ensimmäisenä vaihtoehtona tulisi mieleen käsitellä blokkeja objekteina joille määritellään korkeus x leveys ja tarkistamalla ettei määreiden sisäpuolella ole tyhjää merkkiä, jos puolestaan objektin ulkopuolelle ammutaan pala kasvatetaan kohteen kokoa lisäämällä tilanteen mukaan jompaan kumpaan määreeseen +1 eli käytännössä rivi lisää.

virgo

Itse asiassa
kenttä editorissa määritellään blokin x ja y mitat
Osuma rutiinin taas tarkistaa vain blokin ulko mitat
koska joissain tapauksissa saattaa muodostua blokkeja isompia kokonaisuuksia
esim.
0000000
0 4444 0
0 4    4  0

Jos osuma tulee 4ten väliin 0 ja 4 muodostavat
kokonaisen blokin blokin sisä osia on turha tarkistella koska onttoa blokkia ei pitäisi muodostua missään tilanteessa paitsi kenttä suunnitelijan virheestä
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

virgo

kun en saanut videota tehtyä niin laitetaan real thing
kun tätä olen emulla vääntänyt niin joikkari komennot on
jäänyt kokeilematta eli luultavasti liikkuminen oikea vasen futaa
mutta ampumsesta en tiedän onko siellä toimivaa koodia takana xD

tämä nyt on vain pelkkä vieritys esimerkki mainos.
juu ei ole edistynyt kuvan ottamisen jälkeen
kenttä editori on enemmän työn alla nyt

miten käynnistät

load "main",8,1

ja sitten Sys 4096
pitäs lähtee futaamaan...
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

Jarskimo

Kyllähän tuo peliltä rupeaa näyttämään, täytyy kyllä sanoa että hienoa työtä  8)

Antti

Joo, kyllä siinä on hyvä alku  :)

virgo


hieman pään vainaa aiheuttaa edelleen Blokien kokoaminen xD
selivitystä filosofiasta... asiasta on parempi puhua niin moni asia aukeaa ihan uudella tavalla
(ohjelmoijan terapiaa puhua ongelmista) xD

Blok malli


HHHHHHHH
H      H
H      H


tässä tyypillinen blokki onhan tätä jo selitetty mutta vielä kerran
blokki on 8x3 kokoinen koska blokkia vieritetään ylhäältä alas
pitää se purkaa vieritykseen päivastaisessa järjestyksessä alhaalta ylös päin
blokilla on 4 kordinaattia ensimmäiset kaksi kertovat x,y paikan itse pelikentällä
blokissa tämä piste sijaitsee vasemmassa alanurkassa seuraavat kaksi kertovat minkä kokoinen blokki on
tämän pohjalta vieritys osaa rakentaa blokin oikealle kohtaa ja oikean kokoisena
voi olla että paikka kordinaatin y joudun muuttamaan 16 bittiseksi koska muuten peli kentästä saattaa tulla
liian lyhyt xD samalla kenttään pitää lisätä yksi tavu 2 jakoisuuden vuoksi ehkä siihen saadaan blokin uniikki väri :p
aikaisemmin ehdotettiin valmiin ohjelman käyttämistä kenttien tekemisessä
olisihan se huomattavasti helpompaa tehdä valmis grafiikka pohja jota vierittää
ongelma siinä vain on se että se myös syö rutkasti muistia
esim. esimerkki kappaleemme on tuon 8x3 sen vie muistissa tilaa 24 tavua + 4-6 kordinaatti tavua =28-30
mutta pohjalla kentän leveydestä riippuen 20x3=60 tavua
oma tekniikkani ei syö tyhjiltä alueilta muistia ollenkaan mutta pohja vie jokaista riviä koden 20 tavua
255 rivinen pelikenttä vie siis 255*20=5100 eli melkein 5kiloa muistia mikä tarkoittaisi 60k käytöllä 12 kenttää
ohjelmalle, musiikille ja grafiikalle jäisi siis alle 4 kiloa ja siitäkin osa olisi nolla sivua jotai ei voi käyttää kovin vapaasti
yritän säästää muistia ja kello jaksoja koska ne tulevat tarpeeseen
ohjelmastahan tulee yksi osainen ja samplet varsinkin 8bit samplet vievät tuhottomasti muistia
tausta animaatio mitä olen ajattelut vie kello jaksoja paljon...

toinen hankala tekiä on itse ammus koska vieritys liikkuu koko ajan ja näyttö on tubla bufferoitu
ammuksen siirtäminen tässä ympäristössä vastavirtaan on kohtuu haasteellista en erityisemmin pidä Spriteistä
koska ne sotkevat kätevästi ajoituksia muistanko oikein jokainen sprite syö rasteri
kello jaksoja yhden kello jakson verran badline painajainen 8 spriteä ja badlinen argh
no olen korvannut ammuksen siis spritellä koska se helpottaa pähkäilyä tässä vaiheessa
mutta koska olen suunitellut peliin armottomat ase arsenaalit joudun ehkä vielä palaamaan tuohon vieritys ongelmaan
tulevaisuudessa jos Spriteillä osottautuu ongelmalliseksi toteuttaa mitä olen ajatellut
ruutu on kyllä nyt jaettu kahteen osaa fight ja pelaaja alueeseen molemmilla on omat 8 spriteä eli max 16kpl
tätäkin voidaan vielä lisätä huomattavasti siksi yritän pitää pelialueen keskeytyksemättömänä
ja kuten aikaisemmin sanoin prossa kuorma on minimissään kuten varmaan tuosta demosta huomasitte
sitä ei ole vielä käytetty paljon tausta animaatio tarvitsee myös runsaasti kello jaksoja

projekti jatkuu kaiken muun kokeilun ohella...
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

virgo

tilanne päivitys :

ensimmäiset tubla sidi musat saapuneet vaikuttaa hyvältä...

kenttä editorin valmistus ja kenttien suunnittelu ulkoistettu
odotellaan tulokia

peli moottori palikoiden osalta jumissa
jatketaan muita osia pelin tekemisessä aseistus tms.

suunitelmissa ulkoistaa alkuruudun hi score ruudut ym. demo porukalle
ulkoistukset nopeuttavat itse pelin valmistumista  xD
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

virgo

väli uutisia peli hetkellisesti seisakissa muuton ja remontin viedessä kaiken liukenevan ajan
joten päivityksiä ei asian suhteen ole ihan hetkeen tulossa ;(
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500

Jarskimo

Toivotaan että ehdit tehdä tätä peliä jossain vaiheessa. Ja minä kyllä ostaisin jos tästä tehtäisiin esimerkiksi kasettiversio  8)

virgo

tuskimpa tästä maksullista versiota tulee ikinä ellei joku muu ala sillä rahastamaan...
kassu version vois ihan omaksi ilokseen tehdä alkulataus kuvat ja musiikin
oli se vaan sen verran extraa levy versioihin joissa tuota ominaisuutta ei juurikaan ollut
mutta varmasti levy versioon tulee lataus musat ja kuvat... sen voin taata
Genetic-PET C64 BBS:
g-point.tunk.org port 1025

Genetic-point Amiga BBS:
g-point.tunk.org port 500