Miksi viestisi haistahtaa pahasti vittuilulta?esa94 wrote:Arvion ulkoasu on varsin tylsä ja kaavoihin kangistuneen oloinen, kommentit ovat välillä liian lyhyitä vaatimaan omat osionsa. Väliotsikot ovat myös hieman hämmentäviä: Pelimoottorin irrottaminen omaksi kokonaisuudekseen kontrolleista on mielenkiintoinen ratkaisu ottaen huomioon että vaikka pelimoottori olisikin olemassa, sen alla olisivat juurikin kontrollien ja esimerkiksi grafiikan piirtämisen helpompi käsittely.Combatti wrote:Grafiikka
Pelin grafiikka oli melko matalaa tasoa. Avaruusalukset näyttivät melko epäuskottavilta avaruusaluksiksi. Avaruustausta taas ei kovin avaruusmaiselta näyttänyt, se tietynlainen syvyysvaikutelma puuttui. Panoksetkin ovat vain jumalattoman kokoisia rumia oransseja palloja? Koskaa grafiikkaa oli vähän, en voi enempää siitä sanoa. Grafiikko ei tosiaankaan olisi pahitteeksi.
Grafiikan arvosana kouluarvosana-asteikolla: 5
Äänimaailma
Taustamusiikki oli hienoa, mutta pelistä puuttui kokonaan ääniefektit??? Selittelenpä tässä sitten taustamusiikista, pidin sen satunnaisuudesta, ettei se ollut sellaista, että toistetaan kokoajan jotain lyhyttä äänijaksoa. Mutta tässäkin äänenpakkausmenetelmä on Ogg Vorbis.. Minusta taustamusiikkiin kannattaa laitta Flac äänenpakkausmenetelmäksi, ja Ogg Vorbis ääniefekteihin.
Äänimaailman arvosana kouluarvosana-asteikolla: 5
Kontrollit
Pelin kontrollit olivat itseasiassa pelin paras asia. Ne olivat selkeät, yksinkertaisesti pelkät nuolinäppäimeet ja välilyönti, ei muuta tällä kertaa. Täydellistä
Kontrollien arvosana kouluarvosana-asteikolla: 10
Realistisuus
Realistisuutta ei pelissä ollut kyllä juuri ollenkaan. Avaruudessa on tietty fysiikka, ett sinä sielä avaruusaluksella lentele noin vain. Latexi95:llä taisi olla fysiikkamoottori, joka sisälsi avaruusfysiikat? Vai muistanko väärin? Ja tausta, eli tähdet näyttivät kuolleilta. Tähtienkin kirkkaus muuttuu välillä, mutta tässäpä ne eivät tee sitä. Jännää.
Realistisuuden arvosana kouluarvosana-asteikolla: 4
Pelimoottori
Alus pääsi ruudun rajojen yli, eikä kamera reagoinnut mitenkään.. Ja mainitsemani fysiikkamoottori puuttui täysin. Alus osoitti vain yhteen suuntaan, eh? Nyt jäi tämä osio alle rivin pituiseksi, mutta ei tässä paljoa kehuttavaa ollut..
Pelimoottorin arvosana kouluarvosana-asteikolla: 4
Pelattavuus
Peli oli aivan liian helppo. Elämäpisteitä oli liikaa ja vihollisalukset liian hitaita. Vihollisalukset tuhoutuivat tuosta vain. Asiaa ei parantanut elämien mahdoton määrä, viholliset ovat muutenkin ylihelppoja tuhota ja sitten vielä älytön määrä elämäpisteitä? Ei näin. Sinänsähän tämä ihan mukavaa ajantappoa oli, mutta tylsä peli silti.
Pelattavuuden arvosana kouluarvosana-asteikolla: 4
Pelin keskiarvo oli 5
Yhteenveto
Mukavaa ajantappoa, mutta muuten tylsä ja melko olematon peli. Fysiikkamoottorista ei tietoakaan, grafiikatkin melkoista Microsoft Paint - tasoa. Ääniefektejä ei ollenkaan. Suoraan sanottuna paska peli.
Arvostelijalla on selvästi jonkinlainen tarve ilmaista mielipitseensä numeroin kuitenkaan kertomatta mihin skaalat perustuvat. Numeroarvosanojen tulisi olla määritelty objektiivisesti siten, että tiettyjen ominaisuuksien lisääminen nostaa niitä aivan tietyn verran, ja kullekin osiolle tulisi määritellä hylätty taso ja kiitettävä taso jonka väliltä arvosanat voisi laskea joko normaalijakauman avulla tai esimerkiksi lineaarisesti.
Huomiota kiinnittivät arvostelijan kysyvät lauseet jotka antavat ymmärtää ettei hän ole aivan perillä siitä mitä on itse sanomassa. Asiasisältöä löytyy mutta se on kovin epätarkkaa ja jotkin tekniset kommentit ovat selvästi mielipidekysymyksiä. Esimerkkinä tästä äänien pakkaus: Vorbis-pakattu ääni on tarpeeksi suurilla näytteenottotaajuuksilla lähes ellei täysin ekvivalentti pakkaamattomaan tai häviöttömästi pakattuun ääneen siten, ettei eroa pysty ihmiskorvalla havaitsemaan. Erityisesti äänimaailman arviossa arveluttaa myös se, kuinka arvostelija mainitsee pitävänsä taustamusiikista mutta antaa silti vain välttävän kouluarvosanan ilman järkeviä perusteluja.
Kontrolleja ei sen sijaan arvioida ollenkaan. Arvostelijan mukaan ne ovat selkeät ja yksinkertaiset. Jos tämän tulkitsee niin, ettei hallinnassa ole moittimista lainkaan, on kyseessä ainoa kohta jonka arvosana on täysin perusteltu.
Realistisuuden kommenteissa mainitaan ettei "avaruusaluksella voi lennellä noin vain", mutta toisaalta ei ehdoteta mitään korjausta tähän. Arvostelija myös unohtaa mainita kuinka epärealistista ylipäätään on, että kuvatunlainen avaruusalus lainkaan olisi olemassa, saati sitten avaruudessa ja vieläpä taistelemassa vihamielisien olentojen vastaavia aluksia vastaan. Kommentti tähtien kirkkaudesta on huonosti peiteltyä sarkasmia eikä kuuluisi arvosteluun lainkaan.
Pelin vaikeustasolla taas ei ole mitään tekemistä pelattavuuden kanssa ellei vaikeustasoa ole keinotekoisesti muutettu muuttamalla pelattavuusominaisuuksia kuten esimerkiksi ohjauksen nopeutta tahi tottelevaisuutta helpompaan tai vaikeampaan suuntaan. Vaikeustason mataluus on myös subjektiivinen kriteeri ja "Ei näin" sikäli epäoikeutettu kommentti. Kappaleessa esiintyvät myös jo aiemmin mainitut kysymysmuotoiset lauseet.
Yhteenvedossa todetaan pelin kuitenkin olevan mukavaa ajantappoa. Jotta peliä voidaan kuvailla mukavaksi tulisi siinä olla joitain hyviä ominaisuuksia, mutta selvästikään kouluarvosanojen perusteella näin ei ole. Arvostelu on todennäköisesti tarkoituksellisen subjektiivinen mutta kaatuu vielä lopussa kuitenkin ristiriitaisuuteen edellämainitun mukavuuskysymyksen suhteen. Välttävän arvosanan tulisi ilmaista pelin olevan vain juuri ja juuri pelikelpoinen, hädin tuskin toimiva tekele. Fysiikkamoottorin puute on hyväksyttävä kommentti, grafiikan tason ja koko pelikokonaisuuden loukkaaminen eivät.
Ylipäätään arvostelu vaikuttaa väkisin väännetyltä olemassaolevaan muottiin sen sijaan että olisi käsitelty nimenomaan tämän pelin hyviä ja huonoja ominaisuuksia. Kouluarvosanojen ottaminen mukaan ilman selviä arvostelukriteerejä sekä täysin arvostelun tyylistä poikkeavat maininnat kuten "paska peli" ja muut pienet ongelmat toteutuksessa tekevät arvostelusta ikävän, joskaan ei suoranaisesti kivuliaan lukea.
Allekirjoittanut suosittelee arvostelijaa tutustumaan paremmin muun muassa asialliseen tyyliin, äänen pakkausmenetelmien eroon ja niiden suhteeseen käytännön äänenlaatuun sekä haluamansalaisen fysiikkamoottorin toteutukseen ja teoriaan paremmin ymmärtääkseen tässä pelissä tehdyt ratkaisut. Suositukseen sisältyy myös kehotus pyrkiä hieman objektiivisempaan kirjoitustapaan sekä selvään arvosteluasteikkoon kun halutaan arvostella pelejä kouluarvosanoin, taikka vähemmän tiukkaan ja kaavamaiseen rakenteeseen kun arvostelu on subjektiivinen.
SideX
Re: SideX
~Yhteiskuntaan kyllästynyt koodari.
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: SideX
WUT, miten mun nimeni voi kirjoittaa väärin?Combatti wrote:Höpötystä...
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
Re: SideX
Vaikeaa ei olisi ollut, vaan olisiko ollut ensisijaisen tärkeää? Ei olisi.Combatti wrote:Olisiko muka ollut niin vaikeaa tehdä tällainen sydeemi, ettei avaruusalus mene yli rajojen:
Koska se on sitä. Siksi.Combatti wrote:Miksi viestisi haistahtaa pahasti vittuilulta?
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: SideX
Anteeksi pettis että otan ohjat käsiini projektini ketjussa, voisitteko jatkaa nahisteluanne ircissä, irc-kanavan nimi #sidex
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
Re: SideX
Nosiis, mua ärsyttää, jos pelimoottori on niin alkeellinen, että pelihahmo lentää yli rajojen tost vaa. Ei ehk ensijaisen tärkeää, mutta melko mukava ois ollu.Chaosworm wrote: Vaikeaa ei olisi ollut, vaan olisiko ollut ensisijaisen tärkeää? Ei olisi.
~Yhteiskuntaan kyllästynyt koodari.
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: SideX
Sitäpaitsi, mitä sinä tiedät scifi-kulttuurista, jos olisin tehnyt raketit, olisi ottanut 100 rakettia tuhota yksi vihu, koska vain blasma-pallo voi vahingoittaa nouta ns. kamikaze-vihuja niin että ne kuoleeCombatti wrote:Nosiis, mua ärsyttää, jos pelimoottori on niin alkeellinen, että pelihahmo lentää yli rajojen tost vaa. Ei ehk ensijaisen tärkeää, mutta melko mukava ois ollu.Chaosworm wrote: Vaikeaa ei olisi ollut, vaan olisiko ollut ensisijaisen tärkeää? Ei olisi.
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
Re: SideX
Ehh? Miten scifi-kulttuuri liittyy pelimoottoriin? O.oskorpioni-cb wrote:Sitäpaitsi, mitä sinä tiedät scifi-kulttuurista, jos olisin tehnyt raketit, olisi ottanut 100 rakettia tuhota yksi vihu, koska vain blasma-pallo voi vahingoittaa nouta ns. kamikaze-vihuja niin että ne kuoleeCombatti wrote:Nosiis, mua ärsyttää, jos pelimoottori on niin alkeellinen, että pelihahmo lentää yli rajojen tost vaa. Ei ehk ensijaisen tärkeää, mutta melko mukava ois ollu.Chaosworm wrote: Vaikeaa ei olisi ollut, vaan olisiko ollut ensisijaisen tärkeää? Ei olisi.
~Yhteiskuntaan kyllästynyt koodari.
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: SideX
Nö kuule, miten luulet voittavasi alienit ohjuksilla, se on sama kuin yritäisit sammuttaa auringon katkaisijastaCombatti wrote: O.o
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
Re: SideX
Eipäs ole.Chaosworm wrote:Combatti wrote:Koska se on sitä. Siksi.Combatti wrote:Miksi viestisi haistahtaa pahasti vittuilulta?
:c
Mistä sitä tietää millasia sinun alienit on.skorpioni-cb wrote:Nö kuule, miten luulet voittavasi alienit ohjuksilla, se on sama kuin yritäisit sammuttaa auringon katkaisijastaCombatti wrote: O.o
Lähtökohtaisesti itse olettaisin että energia-aseita vastaan kehitetty panssarointi ja sähköinen tai sähkömagneettinen suojaus päästää kineettiset projektiilit läpi.
Re: SideX
Skorpparille pieni esimerkki piristämään aluksen liikkumista:
Noinkin helposti saa "parannettua" liikkumista, mutta tämäkin on tietysti makuasia Tuosta voi aika helposti muokata aluksen käyttäytymistä peliin sopivaksi
ps. alkaa mennä offtopic aika räikeäksi, että vinkkinä suosittelen harkitsemaan sen lopettamista
Code: Select all
object = LoadObject("media/car.bmp")
Repeat
If KeyDown(200) Then y_speed# = y_speed# + 0.01
If KeyDown(208) Then y_speed# = y_speed# - 0.01
If KeyDown(205) Then x_speed# = x_speed# + 0.01
If KeyDown(203) Then x_speed# = x_speed# - 0.01
If x_speed# < -1.00 Then x_speed# = -1.00
If x_speed# > 1.00 Then x_speed# = 1.00
If y_speed# < -1.00 Then y_speed# = -1.00
If y_speed# > 1.00 Then y_speed# = 1.00
If Not KeyDown(200) Or KeyDown(208) Then y_speed# = CurveValue(0.00,y_speed#,100)
If Not KeyDown(205) Or KeyDown(203) Then x_speed# = CurveValue(0.00,x_speed#,100)
TranslateObject object, x_speed#,y_speed#
DrawScreen
Until KeyHit(1)
ps. alkaa mennä offtopic aika räikeäksi, että vinkkinä suosittelen harkitsemaan sen lopettamista
EDIT:
Niin ja muutama hetki sitten lähetin "Vapaasti käytettävät kuvat"-ketjuun pari avaruusalusta, joita voit hyödyntää pelissäsi, vaikkeivat mitenkään erityisen kauniita ole
Last edited by MrMonday on Sat Jun 30, 2012 9:03 pm, edited 1 time in total.
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: SideX
Minä ajattelen näin että alienit luulee että käytetään ohjuksia, koska ollaan niin primitiivisiä, sen takia laitoin sankarin käyttämään hallituksen salaista energia-projektia ammuksinaesa94 wrote:Tekstiä
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: SideX
Vähän nopeutin liikkumista, liikkui vähän hutaasti makuuni, ja sain jo graafikon, joka luuli että tein minecraft-modia, hän teki uutta grafiikkaa, kuten aluksiaMrMonday wrote:EDIT:Niin ja muutama hetki sitten lähetin "Vapaasti käytettävät kuvat"-ketjuun pari avaruusalusta, joita voit hyödyntää pelissäsi, vaikkeivat mitenkään erityisen kauniita ole
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: SideX
Tyylikäs tuplaposti, mutta ei voi mitään:
Uusin snapshot on julkaistu, uudet grafiikat, uudet fysiikat, uudet äänet, uudet kaikki, mukana uusi hyperavaruus-ajo, levelit, ja vaikeutuvuus suhteessa leveleihin, anyways tässä:
Uusin snapshot on julkaistu, uudet grafiikat, uudet fysiikat, uudet äänet, uudet kaikki, mukana uusi hyperavaruus-ajo, levelit, ja vaikeutuvuus suhteessa leveleihin, anyways tässä:
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
Re: SideX
Laitatko seuraavaan versioon fps:n näkyviin, tuntuu että tällä koneella peli lagaa aivan hirveästi (vaikka ei mitään erityistä syytä siihen). Lisäksi ainakin ennen pelin alkuvalikon esiintulemista näkyy jotain outoa pikselisekamelskaa, kunnes se valikko tulee esiin. Uskon että ongelma on cbe:ssä (tai oma kone on niin kuraa ).
Koneessa siis Windows XP, muisti aina täynnä ja surkea prossu (intel centrino), jos tuo tieto auttaa ketään. (onneksi uusi kone aivan kohta...)
Koneessa siis Windows XP, muisti aina täynnä ja surkea prossu (intel centrino), jos tuo tieto auttaa ketään. (onneksi uusi kone aivan kohta...)
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: SideX
Pikainen patchi, nyt näkyy myös fps, aluksella on rajat, ja voit mennä godmodeen painamalla g-näppäintä (Huom. godmode imee pisteitä 1 kpl per ruutupäivitys, eli ne voi mennä aika nopeasti pois) Jos joudut nollan alapuolelle pisteissä, sinä saat viestin asiasta, koska kun on -100 pistettä, ei enään vihut spawnaa.
Anyways, korvaa Peli-exe tällä Patch-exellä(olettaen että olet purkanut pelin johonkin) O_O
Anyways, korvaa Peli-exe tällä Patch-exellä(olettaen että olet purkanut pelin johonkin) O_O
- Attachments
-
- Patch.rar
- (773.08 KiB) Downloaded 403 times
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
Re: SideX
Taitaa johtua ihan sinun koneesta. Itselläni peli toimi moitteettomasti seuraavilla spekseillä:Peltsi wrote:Laitatko seuraavaan versioon fps:n näkyviin, tuntuu että tällä koneella peli lagaa aivan hirveästi (vaikka ei mitään erityistä syytä siihen). Lisäksi ainakin ennen pelin alkuvalikon esiintulemista näkyy jotain outoa pikselisekamelskaa, kunnes se valikko tulee esiin. Uskon että ongelma on cbe:ssä (tai oma kone on niin kuraa ).
Koneessa siis Windows XP, muisti aina täynnä ja surkea prossu (intel centrino), jos tuo tieto auttaa ketään. (onneksi uusi kone aivan kohta...)
Intel Pentium4 B960@2.2ghz 2-core
Intel HD 3000 Family
4GB RAM
320GB HDD
Kyseessä siis ohjelmointikoneeni, jolla pyörivät just nämä Coolbasicin 2D-pelit Ei ehkä sovellu rankempien ohjelmointikielien(C++,Java..) ohjelmien ajuun, jos on raskaita 3D-ominaisuuksia. Pienellä optimoinnilla(Prosessien sulku, reso pieneks jne) saa muutaman nykypelinkin pyörimään, melko matalilla grafiikka-asetuksilla vain
Koska ensimmäinen arvosteluni(???) aiheutti sellaisen metelin, niin annanpa nyt sitä palautetta--
Grafiikka
Pelin graf.... Eikun siis
Peli oli nyt paljon mukavampi pelata. Fysiikkamoottori toimi tarpeeksi hyvin minun makuuni. Nyt peli oli mielenkiintoisempi, kuin ensimmäinen versio. Ja hyvä, että teit patchinkin, jossa juuri se ominaisuus, josta olisin tästäkin viestistä vinkunut: Pelimoottori estää ukkoa pääsemästä rajojen ulkopuolelle. Mutta pelissä oli vieläkin se sietämätön helppous. Godmodea pelaessa kyllä oli kuset housussa... Eli helppoutta voisit vähentää, vaikkapa ampuvilla vihollisilla? Jatka vain tätä hienoa projektia.
EDIT:
Perun sanani helppoudesta, nyt meni kuset housuun, ku pääsin 3. levelille
~Yhteiskuntaan kyllästynyt koodari.
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: SideX
Juu-uh spawni-rateja nostamalla voit tehä siitä todella hankalaa, jos pääset levelille 50(eli jos olet chuck norris) siellä vasta pisteitä satelee, mutta niitä menettää samaa tahtia, leveli 50 onkin viimeinen leveli mihin pääsee, koska suorituskykCombatti wrote:EDIT:Perun sanani helppoudesta, nyt meni kuset housuun, ku pääsin 3. levelille
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: SideX
Pientä lisämakua tulevasta :
- Uusia vihollistyyppejä: Esimerkiksi pelaajaan tähtäävä ohjus, joka vaatii 2 energiapanosta, mutta osuessaa tekee 100 damagee
Uusia aseita, kuten 3 vihollista yhdessä elämässä tappavat homing missilet, huom. sama A.I. kuin vihollis-ohjuksissa
Toivottavasti se Online-toplista, jossei muuta, niin ainakin tulen käyttämään ihan hirveästi aikaa PHP:n kanssa
Ehkä ennen mainmenua tuleva Introvideo
Ja paljon paljon muuta
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: SideX
Tyylikäs tuplapostaus joka sisältää projektini kannalta salaista tietoa:
Joo, aina kun mä nykyään ammun projektiilin(oli energiapallo tai hakeutuva ohjus ) niin tulee hemmetinmoinen lagi, musiikeista tulee kauheeta korvanraiskausta, onkohan ne itseohjautuvat ohjukset liikaa jopa cbE:n laskutehoille, tässä koodit:
Ja oheisessa paketissa on uudistuneet mediat ;D
Joo, aina kun mä nykyään ammun projektiilin(oli energiapallo tai hakeutuva ohjus ) niin tulee hemmetinmoinen lagi, musiikeista tulee kauheeta korvanraiskausta, onkohan ne itseohjautuvat ohjukset liikaa jopa cbE:n laskutehoille, tässä koodit:
Code: Select all
Include "CONSTANTS.CB"
Include "lib/customfunctions.cb"
Type Enemy
Field object
Field hp
Field EnemyType
EndType
Type BULLET
Field object
Field BulletType
Field hp
EndType
Type ORB
Field Obj
Field OrbType
EndType
Function color3ToPutPixel(r As Integer, g As Integer, b As Integer)
Return (r Shl 16) + (g Shl 8) + b
EndFunction
menu:
Cls
//Energia-hassutus, käynnistyykö serveri vai client
SCREEN 640,360
If GetWord(CommandLine(),1="-mode")Then
//Internet not implemented yet
Else
weapontype = 0
back = LoadImage("Media/mainMenu.png")
menuMusic = PlaySound ("Media/menu.xm")
Repeat
If Not SoundPlaying(menuMusic) Then menuMusic = PlaySound ("Media/menu.xm")
DrawImage back,0,0
If button(0,200,100,100,"Start game") Then
StopSound menuMusic
Gosub mainGame
EndIf
DrawScreen
Until KeyHit(cbkeyreturn)
EndIf
Function Button(x As integer,y As integer,w As integer,h As integer,t As String,s As integer = 5)
If MouseX()>x-1 And MouseY()>y-1 And MouseX()<x+w+1 And MouseY()<y+h+1 Then
If MouseDown(1) Then Color 200,200,200 Else Color 190,190,190
If MouseUp(1) Then Return True
Else
Color 220,220,220
EndIf
Box x+s,y,w-(s*2),h
Box x,y+s,w,h-(s*2)
Circle x,y,s*2
Circle x+w-s*2,y,s*2
Circle x+w-s*2,y+h-s*2,s*2
Circle x,y+h-s*2,s*2
Color cbblack
CenterText x+w/2,y+h/2-TextHeight(t)/2,t$
EndFunction
mainGame:
SAFEEXIT OFF
Randomize Timer()
FrameLimit 1000
SCREEN 640,360
SSvalue =0
level=0
reload=0
Smooth2D ON
gameFont = LoadFont("Media/font.ttf",18)
explotion = LoadSound ("media\Efects-music\Large explosion 4.wav")
SetFont gamefont
godmode=0
x_speed# = 0
y_speed# = 0
points=0
r As Integer = 250
g As Integer = 0
b As Integer = 0
sparkle = LoadImage("Media/sparkle.png")
godSparkle = MakeEmitter(sparkle,10)
ShowObject godSparkle,OFF
masterBullet = LoadObject("Media/Energyorb.png")
ShowObject masterBullet,OFF
redOrb = LoadObjectWithMask("Media/Energyorb.png",177,177,177,255,0,0)
ShowObject redOrb,OFF
blueOrb = LoadObjectWithMask("Media/Energyorb.png",177,177,177,255,0,0)
ShowObject blueOrb,OFF
redOrb = LoadObjectWithMask("Media/Energyorb.png",177,177,177,255,0,0)
ShowObject redOrb,OFF
player = LoadObjectWithMask("Media/ship.png",177,177,177,255,0,0)
masterenemy = LoadObjectWithMask("Media/ship_enemy.png",177,177,177,128,168,4)
ShowObject masterenemy,OFF
masterMissle = LoadObjectWithMask("Media/missle.png",177,177,177,128,168,4)
masterAmmoMissle = LoadObjectWithMask("Media/ammomissle.png",177,177,177,255,0,0)
ShowObject masterAmmoMissle,OFF
ShowObject masterMissle,OFF
PositionObject player,-250,0
uberIMG = LoadImage("Media/über.png")
bgIMG = LoadImage("Media/backround.png")
backround = MakeObjectFloor()
PositionObject backround,0,0,-100
PaintObject backround,bgIMG
hp#=250.0
soundChanel = PlaySound ("Media/music.ogg")
Repeat
If Not SoundPlaying(soundChanel) Then soundChanel = PlaySound("Media/music.ogg")
CloneObjectPosition godSparkle,player
ParticleMovement godSparkle,-5,0,0.97
ParticleEmission godSparkle,1,0,180
Gosub moving
Gosub createEnemy
Gosub updateWorld
If godMode Then
GhostObject player,50
ParticleEmission godSparkle,1,50,180
points = points - 1
Else
GhostObject player,100
EndIf
Color 255,255,255
DrawGame
Text 0,0,"HP: "+hp+" Points: "+points+" Level: "+level+" FPS: "+FPS()
MoveObject backround,-50-level
level = points/100
If points/100 > 50 Then level = 50
If reload > 0 Then reload = reload - 1
If hp =< 0 Then Goto umad
If level => 10 Then
PaintObject backround,uberIMG
Else
PaintObject backround,bgIMG
EndIf
If points < 0 Then Text 0,3+TextHeight("A"),"Warning! You'r points are dangerously down D:"
If cbeObjectSX(player) < 0 Then ScreenPositionObject player,0,cbeObjectSY(player)
If cbeObjectSX(player) > 640 Then ScreenPositionObject player,ScreenWidth()-ObjectSizeX(player),cbeObjectSY(player)
If cbeObjectSY(player) < 0 Then ScreenPositionObject player,cbeObjectSX(player),0
If cbeObjectSY(player) > 640 Then ScreenPositionObject player,cbeObjectSX(player),ScreenHeight()-ObjectSizeY(player)
weapontype = weapontype+MouseMoveZ()
If weapontype < 0 Then weapontype=AMMO_TYPE_HOMINGMISSLE
If weapontype > AMMO_TYPE_HOMINGMISSLE Then weapontype=0
If KeyHit(59) Then
ScreenShot "ScreenShot/SCREEN-"+SSvalue+".bmp"
EndIf
DrawScreen
Forever
Return
Function changeImageColor(img,oldr,oldg,oldb,newr,newg,newb)
Lock Image(img)
DrawToImage img
For x=0 To ImageWidth(img)
For y=0 To ImageHeight(img)
PickImageColor2 img,x,y
If getRGB(RED)=oldr And getRGB(GREEN)=oldg And getRGB(BLUE)=oldb Then
PutPixel2 x,y,color3ToPutPixel(newr, newg, newb),Image(img)
EndIf
Next y
Next x
DrawToScreen
Unlock Image(img)
EndFunction
Function LoadObjectWithMask(fileName As String, maskR, maskG, maskB, vR, vG, vB)
tempIMG = LoadImage(filename)
temp = MakeObject()
changeImageColor(tempIMG,maskR,maskG,maskB,vR,vG,vB)
PaintObject temp,-tempIMG
DeleteImage tempIMG
Return temp
EndFunction
Function laskeProsentit#(määrä#,maxMäärä#)
Return määrä*100/maxMäärä
EndFunction
moving:
If KeyDown(200) Then y_speed# = y_speed# + 1.0
If KeyDown(208) Then y_speed# = y_speed# - 1.0
If KeyDown(205) Then x_speed# = x_speed# + 1.0
If KeyDown(203) Then x_speed# = x_speed# - 1.0
If x_speed# < -10.00 Then x_speed# = -10.00
If x_speed# > 10.00 Then x_speed# = 10.00
If y_speed# < -10.00 Then y_speed# = -10.00
If y_speed# > 10.00 Then y_speed# = 10.00
If Not KeyDown(200) Or KeyDown(208) Then y_speed# = CurveValue(0.00,y_speed#,100)
If Not KeyDown(205) Or KeyDown(203) Then x_speed# = CurveValue(0.00,x_speed#,100)
If KeyDown(cbkeyspace) And reload=0 Then Gosub createBullet
If KeyHit(cbkeyg) Then godMode = Not Godmode
TranslateObject player,x_speed,y_speed
Return
createEnemy:
If(Rand(100)<1+level) Then
newEnemy.Enemy = New(Enemy)
newEnemy\object = CloneObject(masterEnemy)
PositionObject newEnemy\object,250,Rnd(-190,190)
ObjectInteger newEnemy\object,ConvertToInteger(newEnemy)
newEnemy\EnemyType = ENEMY_TYPE_KAMIKAZE
newEnemy\hp = 100
SetupCollision newEnemy\object,player,2,2,2
EndIf
If level => 5 Then
If Rand(100)<1 Then
newEnemy.Enemy = New(Enemy)
newEnemy\object = CloneObject(masterMissle)
PositionObject newEnemy\object,250,Rnd(-190,190)
ObjectInteger newEnemy\object,ConvertToInteger(newEnemy)
newEnemy\EnemyType = ENEMY_TYPE_MISSLE
newEnemy\hp = 200
SetupCollision newEnemy\object,player,2,2,2
EndIf
EndIf
Return
updateWorld:
For EnemyUnit.Enemy = Each Enemy
If EnemyUnit\hp > 0 Then
If EnemyUnit\EnemyType = ENEMY_TYPE_MISSLE Then
PointObject EnemyUnit\object,player
MoveObject EnemyUnit\object, 10
Else
MoveObject EnemyUnit\object,-5
EndIf
If ObjectsOverlap(EnemyUnit\object,player,1) Then
If EnemyUnit\EnemyType = ENEMY_TYPE_MISSILE Then
EnemyUnit\hp = 0
If Not godmode Then hp=hp-100
Else
EnemyUnit\hp = 0
If Not godmode Then hp=hp-100
EndIf
EndIf
If ObjectX(EnemyUnit\object) = -250 Then
points=points-10
EnemyUnit\hp = 0
EndIf
For ammo.BULLET = Each BULLET
If ObjectsOverlap(ammo\object,EnemyUnit\object,2) Then
If ammo\BulletType=AMMO_HOMINGMISSLE Then
EnemyUnit\hp=EnemyUnit\hp-200
points = points + 10
DeleteObject ammo\object
Delete ammo
Else
EnemyUnit\hp=EnemyUnit\hp-100
points = points + 10
DeleteObject ammo\object
Delete ammo
EndIf
EndIf
Next ammo
Else
PlaySound explotion
DeleteObject EnemyUnit\object
Delete EnemyUnit
EndIf
Next EnemyUnit
For ammo.BULLET = Each BULLET
If ammo\BulletType = AMMO_TYPE_HOMINGMISSLE Then
For vihu.Enemy = Each Enemy
PointObject ammo\object,vihu\object
MoveObject ammo\object,10
Next vihu
Else
MoveObject ammo\object,5
EndIf
Next ammo
Return
createBullet:
If weapontype=AMMO_TYPE_ENERGYAMMO Then
reload = 0
newBullet.BULLET = New(BULLET)
newBullet\object = CloneObject(masterBullet)
ObjectInteger newBullet\object,ConvertToInteger(newBullet)
CloneObjectPosition newBullet\object,player
MoveObject newBullet\object,40
newBullet\hp = 1
reload = reload + 15
ElseIf weapontype=AMMO_TYPE_HOMINGMISSLE
reload = 5
newBullet.BULLET = New(BULLET)
newBullet\object = CloneObject(masterAmmoMissle)
ObjectInteger newBullet\object,ConvertToInteger(newBullet)
CloneObjectPosition newBullet\object,player
MoveObject newBullet\object,40
newBullet\BulletType = AMMO_TYPE_HOMINGMISSLE
newBullet\hp = 150
reload = reload + 100
EndIf
Return
umad:
DeleteObject backround
For en.Enemy = Each Enemy
DeleteObject en\object
Delete en
Next en
For bul.BULLET = Each BULLET
DeleteObject bul\object
Delete bul
Next bul
DeleteObject player
StopSound soundChanel
Cls
itsover = PlaySound("Media/itsover.xm")
Repeat
If Not SoundPlaying(itsover) Then itsover = PlaySound("Media/itsover.xm")
Color 255,255,255
Text 0,0,"You lost the game, loser"
Color 0,0,0
If button(50,50,200,50,"Main menu ->") Then
StopSound itsover
Goto menu
EndIf
DrawScreen
Forever
- Attachments
-
- Sidex.rar
- (2.78 MiB) Downloaded 336 times
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.