SideX

Jaa meneillään olevat projektisi tai valmiit pelit muun yhteisön kanssa täällä.
User avatar
Combatti
Active Member
Posts: 101
Joined: Fri Jun 29, 2012 6:23 pm
Location: Kuhmo

Re: SideX

Post by Combatti »

esa94 wrote:
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.
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.

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.
Miksi viestisi haistahtaa pahasti vittuilulta?
~Yhteiskuntaan kyllästynyt koodari.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: SideX

Post by skorpioni-cb »

Combatti wrote:Höpötystä...
WUT, miten mun nimeni voi kirjoittaa väärin?
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.
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: SideX

Post by Awaclus »

Combatti wrote:Olisiko muka ollut niin vaikeaa tehdä tällainen sydeemi, ettei avaruusalus mene yli rajojen:
Vaikeaa ei olisi ollut, vaan olisiko ollut ensisijaisen tärkeää? Ei olisi.
Combatti wrote:Miksi viestisi haistahtaa pahasti vittuilulta?
Koska se on sitä. Siksi.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: SideX

Post by skorpioni-cb »

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.
User avatar
Combatti
Active Member
Posts: 101
Joined: Fri Jun 29, 2012 6:23 pm
Location: Kuhmo

Re: SideX

Post by Combatti »

Chaosworm wrote: Vaikeaa ei olisi ollut, vaan olisiko ollut ensisijaisen tärkeää? Ei olisi.
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.
~Yhteiskuntaan kyllästynyt koodari.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: SideX

Post by skorpioni-cb »

Combatti wrote:
Chaosworm wrote: Vaikeaa ei olisi ollut, vaan olisiko ollut ensisijaisen tärkeää? Ei olisi.
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.
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 kuolee
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.
User avatar
Combatti
Active Member
Posts: 101
Joined: Fri Jun 29, 2012 6:23 pm
Location: Kuhmo

Re: SideX

Post by Combatti »

skorpioni-cb wrote:
Combatti wrote:
Chaosworm wrote: Vaikeaa ei olisi ollut, vaan olisiko ollut ensisijaisen tärkeää? Ei olisi.
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.
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 kuolee
Ehh? Miten scifi-kulttuuri liittyy pelimoottoriin? O.o
~Yhteiskuntaan kyllästynyt koodari.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: SideX

Post by skorpioni-cb »

Combatti wrote: O.o
Nö kuule, miten luulet voittavasi alienit ohjuksilla, se on sama kuin yritäisit sammuttaa auringon katkaisijasta
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.
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: SideX

Post by esa94 »

Chaosworm wrote:
Combatti wrote:
Combatti wrote:Miksi viestisi haistahtaa pahasti vittuilulta?
Koska se on sitä. Siksi.
Eipäs ole.

:c
skorpioni-cb wrote:
Combatti wrote: O.o
Nö kuule, miten luulet voittavasi alienit ohjuksilla, se on sama kuin yritäisit sammuttaa auringon katkaisijasta
Mistä sitä tietää millasia sinun alienit on.

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.
MrMonday
Advanced Member
Posts: 378
Joined: Fri Oct 10, 2008 2:35 pm

Re: SideX

Post by MrMonday »

Skorpparille pieni esimerkki piristämään aluksen liikkumista:

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)
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 :?
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 :P

Last edited by MrMonday on Sat Jun 30, 2012 9:03 pm, edited 1 time in total.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: SideX

Post by skorpioni-cb »

esa94 wrote:Tekstiä
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 ammuksina
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.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: SideX

Post by skorpioni-cb »

MrMonday 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 :P

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 aluksia :lol:
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.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: SideX

Post by skorpioni-cb »

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ä:
Sidex.zip
(3.83 MiB) Downloaded 463 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.
MrMonday
Advanced Member
Posts: 378
Joined: Fri Oct 10, 2008 2:35 pm

Re: SideX

Post by MrMonday »

Näyttää jo hieman paremmalta, mutta kannattaa tosiaan laittaa alukselle rajat, sillä sitten kun mennään ruudun ulkopuolelle, niin on aika vaikeaa lähteä ohjaamaan alusta takaisin :D
User avatar
Peltsi
Active Member
Posts: 121
Joined: Thu Sep 30, 2010 12:16 pm

Re: SideX

Post by Peltsi »

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 :D).

Koneessa siis Windows XP, muisti aina täynnä ja surkea prossu (intel centrino), jos tuo tieto auttaa ketään. (onneksi uusi kone aivan kohta...)
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: SideX

Post by skorpioni-cb »

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
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.
User avatar
Combatti
Active Member
Posts: 101
Joined: Fri Jun 29, 2012 6:23 pm
Location: Kuhmo

Re: SideX

Post by Combatti »

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 :D).

Koneessa siis Windows XP, muisti aina täynnä ja surkea prossu (intel centrino), jos tuo tieto auttaa ketään. (onneksi uusi kone aivan kohta...)
Taitaa johtua ihan sinun koneesta. Itselläni peli toimi moitteettomasti seuraavilla spekseillä:

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... :D 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.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: SideX

Post by skorpioni-cb »

Combatti wrote:
EDIT:

Perun sanani helppoudesta, nyt meni kuset housuun, ku pääsin 3. levelille

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 suorituskyk ;)
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.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: SideX

Post by skorpioni-cb »

Pientä lisämakua tulevasta ;) :
  1. Uusia vihollistyyppejä: Esimerkiksi pelaajaan tähtäävä ohjus, joka vaatii 2 energiapanosta, mutta osuessaa tekee 100 damagee :twisted:
    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
No joo, tuo voi näyttää chuck norrisin iltarutiinilta, mutta katotaan nyt mitä tulee :D
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.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: SideX

Post by skorpioni-cb »

Tyylikäs tuplapostaus joka sisältää projektini kannalta salaista tietoa:

Joo, aina kun mä nykyään ammun projektiilin(oli energiapallo tai hakeutuva ohjus :D) 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 
Ja oheisessa paketissa on uudistuneet mediat ;D
Attachments
Sidex.rar
(2.78 MiB) Downloaded 335 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.
Post Reply