9. srpna 2015

Particle Type Editor 1.1.0.25


 

 

Particle Type Editor  1.1.0.25 alpha

Tato verze získala zásadní změnu skinu, byly opraveny rozličné chyby a přidána drobná vylepšení. Protože pořád chybí vytváření particle z externích obrázků, jde pořád ještě o alpha stádium. Doufám ale , že brzy budu moci oznámit první betu.

 v pohybu na YouTube




Změny GUI:

Díky skvělým radám Jindřicha Pavláska ( Likandro ) prošel vzhled uživatelského rozhraní téměř neuvěřitelnou proměnou. Jako programátor bych byl samosebou líný dělat jakýkoli "nadbytečný" grafický cukr do funkcionálně zaměřené aplikace. Nicméně, když jsem viděl Jindřichův náhled na to, jak by si věci představoval on, trochu jsem se zastyděl a nějakou práci do toho dal. Zdaleka asi ne tolik, jak by možná věci řešil do detailu Jindřich, ale i tak si myslím, že editor dostal jak se říká "šmrnc".
Nakonec, posuďte sami:



Pár užitečných klávesových zkratek:
TAB - zmizí panely
* - zmizí ukazatel fps
R - restart
Home - všechna nastavení do defaultní hodnoty ( pozor, není to ta, z které program startuje, protože pokud je vše v pořádku, tak se po startu načítá částice "Snowflakes.ini" )

Preview částice

to jsou ty dvě, které srší od začátku uprostřed obrazovky. Statická se jmenuje A a pohyblivá se jmenuje B. V této verzi je lze přemístit nebo skrýt.
SPACE - přepíná tam a zpět viditelnost obou Preview částic
CTRL + SPACE - přepíná pouze viditelnost částice B.
držením A a klinutím levé myši lze přemístit částici A
držením B a klinutím levé myši lze přemístit částici B
( Home nastavuje defaultní polohu oběma částicím )

Na co se lze těšit v budoucích verzích?
- částice ze sprite
- přímé nastavení čísly v Color Dialogu
- obsah do info řádky ( jiný než Lorem Ipsum :-) ) 





6. srpna 2015

Částicový masakr III

Částicový masakr III

 

Alfa 007 released !  ( Code Garage/Particle Exporter/ v007 )

Konečně se podařilo dokopat do spustitelné podoby alespoň editor typových částic. Ten bude součástí setu dvou nebo více editorů spojených do komplexního tvořiče efektů. Ale zatím je hotov jen první editor nazvaný PTE ( Particle Type Editor ). Z PTE se ukládá nastavení základního efektu ( soubor ini ), který obsahuje popis jedné primární částice a dvou sekundárních. K zobrazení libovolného efektu slouží game makerovský objekt, který lze kdykoli vyexportovat z PTE. Objekt umí načíst nastavení ( ini ) a zobrazuje daný efekt. Když si dáte objekt do své hry a budete s objektem rejdit po obrazovce, bude se vykreslovaný efekt pohybovat s ním ( jen je třeba  v Create Eventu nastavit follow_mouse místo defaultního true na false, jinak bude efekt běhat za myší ).

Postup přenesení efektu do vlastní hry je vidět na videu ( v českých titulcích jsou skromné komenty ).


Pokud exportujete víc částicových efektů do jedné hry, nemusíte ukládat script pack - je pořád stejný. I objekt můžete mít teoreticky jen jeden a načítat do něj různé efekty třeba po stisku klávesnice nebo podle událostí ve hře. To už ale vyžaduje nějaké ty znalosti.

INI soubory s nastavením můžete volně editovat ručně. Jediné, co asi hrozí je, že se efekt neukáže.
V editoru PTE jsou tlačítka označena podobně jako vlastnosti částic v Game Makeru, takže je snadné později porozumět jakémukoli částicovému kódu v GML..

Sekundární částice se v editoru přidají tak, že se uloží nějaká primární a ta se načte jako STEP nebo DEATH. Vzhledem k tomu, že STEP se vytvoří cca 60x za vteřinu z každé primární částice, dávejte density okolo -120 ( což znamená, že se budou tvořit 120x méně často - 1x za 2s ). Pravděpodobnost výskytu dávejte tak, aby se efekt necukal a GM stíhal. DEATH se tvoří vždy, když primární částice zanikne. Tam může být density nízké kladné číslo a probability opět podle cukatury.

I když je editor PTE jen základem budoucího systému tvorby efektů, tak už je v něm možné vytvořit úžasné kousky. Skladba dat v INI se už pravděpodobně nebude měnit, takže data budou kompatibilní i s vyššími verzemi. Lze tedy už teď vytvářet a ukládat všemožné nádherné efektíky.

Pokud někdo vytvoří pěkný efekt, klidně ho postněte v komentu jako link. Já i kdokoli další se tak může podívat, co jste vytvořili.

2. srpna 2015

Y:ball

Y:ball

Toto je resuscitace jedné mojí staré hry, která nešla tak docela bezbolestně převést do GM:Studia, tak mi ležela v adresáři ladem. Dneska jsem chtěl zkusit odmazat nejstarší kousky a po pěti nějakých tvrdě smazaných bez prohlížení ( test, demo, pokus a podobně ), jsem natrefil na na Y:ball.

Řekl jsem si, že jsem už natolik pokročilý v GML, že mě nějaký error nezarazí a pustil se směle do toho. Game Maker na mě zkoušel věci jako "cannot find instance0 - details in compiler window", přičemž compiler window obsahoval zas jen "cannot find instance0", zato mockrát za sebou. Nakonec jsem tuto zákeřnost odstranil přejmenováním objektu a vynuceným uložením místnosti. ( přidat objekt, odebrat objekt, zavřít ). Protože přenosem do GMS přestaly fungovat i některé designové věci a save/load, odčinil jsem to dolní lištou a (S/L) klávesovými zkratkami.

O co ve hře jde?

Hrdinou této akčně-logické postřehovky je žlutý míč, který se umí kutálet jen dopředu a dozadu konstantní rychlostí. Čeká na něj spousta nástrah poměrně svižně se pohybujících, do kterých nesmí narazit, jinak se začíná od začátku. Je nutné dokonalé načasování a bez Save/Load zatím nikdo do cíle nedošel. Ani já. :-)

Starší podobu vyrobenou v GM8 už jsem zveřejnil dříve, ale na některých slabších počítačích byla nehratelně pomalá. Teoreticky by tento rebuil kompilovaný v GM:Studiu 1.9 měl být výkonově za vodou.



Ke stažení je klasicky v mojí CodeGarage pod názvem Y_ball.

30. července 2015

Sen oranžového pavouka

Díky článku na živě.cz jsem našel server http://deepdreamer.io/ a vyzkoušel ho na své fotce oranžového pavouka. Server se chová podobně jako některé filtry na detekci hran, jen s tím rozdílem, že výsledný obraz složí z obrazových dat své vlastní databáze. Pracuje podle toho, jak se mu části obrazu jevily podobné s jeho daty a to na principu označovaném jako neuronová síť. Výsledky vypadají pozoruhodně, protože lidské vnímání používá velmi podobný postup. Takže i když obrazy většinou kýčovitě hýří barvami a jsou trochu jako nějaká drogová halucinace, nejde od nich snadno odtrhnout oči. :-)

Moje vstupní fotka pavouka:













Za cca 24h by měla přijít hotová úprava mailem. Potom ji sem samozřejmě přidám taky. :-)

Vzhledem k tomu, že podstatný obsah na fotce je malý vzhledem k celkové velikosti fotky, bude mít algoritmus těžkou práci. Z malých detailů bude muset něco vykouzlit do celé plochy. Uvidíme. Jsem napnutý
jak malé trenky.

EDIT:  1.8.2015 - zjevně to trvá bůhvíjak dlouho, stále nic nepřišlo

EDIT:  3.8.2015 - asi nefunguje - stále nic nepřišlo!

EDIT: 5.8.2015   FINÁLKA - DNESKA TO DORAZILO S OMLUVOU ZA ZPOŽDĚNÍ
http://deepdreamer.io/insanity/BfSNVc1hqdg
















6.8. odeslány dva další obrázky ze zpracování
















 6.8.2015 Došlo zpracování ruky. Docela ujde. To liškoprase mě pobavilo.



29. července 2015

Animovaná kostka - Creative Commons BY

Dneska jsem vyrobil věc, která může být užitečná při tvorbě her, webových stránek, článků o nich a vůbec všelijak. Hod klasickou šestistěnnou kostkou může být simulován různě. Od hloupě vypadajícího čísla až po animaci rukou s třepáním kostek v kelímku. Viděl jsem pěkné i škaredé. Teď může každý mít alespoň středně slušnou animaci s 67 snímky pro každý typ hodu čili 1,2,3,4,5,6 plus jednu sadu prázdné kostky pro vlastní pokusy. Pixelová velikost je přibližně 100x100 plus mínus něco málo podle toho, jakou hranou se kostka otáčí. Každá animace je trochu jiná. Ořez je nastaven na dotek, takže spotřeba paměti ve hrách bude celkem rozumná. Doporučeno 60 FPS.

K dispozici je Gamemakerovský sprite ( kompatibilní s GM8 i GMS1.n ), dále PNG sheets a vzorové exe, kde lze animaci předem vidět.
( ovládá se SPACE nebo LMB )
 







Vše je pod názvem Dice samozřejmě zaparkováno v mojí CodeGarage jako obvykle.
Kompletní zip má cca 13MB. Náhledový exe něco přes 6MB.

Licence Creative Commons BY umožňuje šíření i použití zdarma jen za cenu uvedení autora. Při dodržení této licence může kostku používat kdokoli.

27. července 2015

GML: Výběr objektů tažením

GML: Výběr objektů tažením

Do své Code Garage jsem dnes přidal vzorek kódu, který když člověk skutečně potřebuje, nikdy se mu do toho nechce. Proto se tomu každý ve svých programech vyhýbá jako muslim psímu exkrementu. :-)
Jde o výběr objektů tažením. Ve Windows běžná součást GUI, v Game Makeru totál opruz.

Základem je jediný objekt pojmenovaný fádně drag_selector. V jeho Create Eventu se dá nastavit, který typ objektů se má vybírat. ( pokud jakýkoliv, tak se použije all ) a taky lze omezit funkčnosr tažení na určitou oblast. ( např. aby se nevybíraly součásti GUI ).

Features:
-všesměrové tažení
-omezení oblasti
-omezení objektu výběru
-změna kurzoru
-kreslení rámečku tažením
-realtime změny výběru ( pokud jde o velké počty objektů, doporučuji tuto funkci odmazat jako první )

Použití ve vlastních hrách by mělo být bez potíží i pro úplné začátečníky. Prostě zkopírujeme objekt drag_selector do svého projektu a v Create Eventu nastavíme typ objektu, který má vybírat.Objekty takto vybrané získají proměnnou selected ( true - vybráno, false -nevybráno ). Pak lze jakoukoli akci provádět pomocí if selected = = true { nějaká_činnost }.

Pro objekty v pohybu se vybírá ty, které jsou aktuálně v obdélníku. Tzn. po puštění myši zůstanou vybrány i když nejsou v oblasti. Lze si to zkusit v SelectionDragMotion.exe.







24. července 2015

Částicový Masakr II

 Částicový Masakr II




Dnes světlo světa spatřila verze 0_0_2 a lze ji samosebou najít opět
v =Code Garage =. Původní koncept byl zcela překopán ( jak jinak), ale zato přibyly nějaké ty fičury. :-)

 Největší změnu představuje rozhodnutí oddělit editaci typů částic od editace částicového systému. Myšlenka je taková, že se v ParticleDefinitionEditoru nastaví základní částice, ta se uloží. V ParticleSystemEditoru se pak tyto uložené částice používají pro různé triky, ale základní vzhled částice už se nebude měnit. Např: si připravím částici dešťové kapky a pak v druhém editoru budu nastavovat, jak má pršet.


Předchozí verze dala základ ParticleDefinitionEditoru a tak GUI vypadá skoro stejně jako dřív. Vlevo akorát přibylo ovládání pro secondary particles typ Step. Ty vznikají z jiných částic během každého update particle systému ( u mě reálně shodné s eventem Step ) a tak je potřeba dávat zatraceně pozor, co se tam strčí, aby to nezavařilo počítač. Fakticky bych nezapínal cokoliv, co má kladnou hodnotu Density.

Pozn: Záporná hodnota Density znamená, že se secondary particle vytvoří jen každý Density-ntý krok, zatímco kladná vytvoří Density-krát částici během jednoho kroku.

Secondary particles se rekrutují z uložených běžných částic. Tzn. vpravo nastavíte částici, uložíte a vlevo ji pak lze načíst jako secondary. Před aktivací doporučuji změnit Density na -120, pokud není. U některých částic se dá dát třeba -30, ale byl bych opatrný.

Abych rozchodil secondary particles, zprovoznil jsem Save/Load. Zatím je na stejných tlačítkách jako Quicksave, jen se shiftem. Patrně to rozhodím na sólo tlačítka. Díky změně konceptu zbylo místo. :-)


Hotové features

Standardní GMS:
- density, size, shape, speed, direction, gravity, orientation, color 1 až 3, alpha 1 až 3, color mix, life, blend,
secondary particle Step

Nestandardní:
-probability        // pravděpodobnost emise v procentech počítaná pro každý Step

Připravované features

Standardní GMS:
- sprite shape, secondary particle Death

Nestandardní:
-surface crop      //vykreslování přes surface
-mangekyou       //osové zrcadlení

GUI:
- animation export ( PNG set )
- samostatný editor na systém emisí částic

Zrušené features

-remember on startup
Důvod: Měl jsem to a zjistil jsem, že hrozí kolaps, pokud si člověk nastaví příliš mnoho částic a ony se při startu pořád načítají - nelze z toho snadno ven. Navíc se to snadno obejde pomocí Quicksave.