NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Sand Game 2

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
Aktivity
Avatar
Hartrik
Tvůrce
Avatar
Hartrik:1.3.2014 17:58

Ahoj, právě dělám na nástupci http://www.itnetwork.cz/…ra-sand-game . Zatím jsem program pojmenoval jako Sand Game 2.

Tentokrát je panel rozdělený do oblastí 100x100 bodů, a procházejí a vykreslují se pouze ty aktivní. O dost se mi tím ztížila práce, ale díky tomu je možné si hrát na mnohem větší ploše a šetřit výkon procesoru.

Při vkládání elementů do uspaných oblastí se občas nevykreslí (ale jsou tam) - to opravím v příští verzi. Další elementy snad přidám brzy.

Můžete napsat jestli vám to běží plynule a na jakém HW.

Odkaz:
https://db.tt/D8IHFV5w (Dropbox)

 
Odpovědět
+11
1.3.2014 17:58
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Hartrik
Honza Bittner:1.3.2014 18:14

Moc hezké...

Když tam dám hodně moc písku, který padá, tak to docela dost bliká...

Když si vyplnim vše pískem a pak odmažu část doleška, tak to vypadá jako když jde bílá nahoru...

Nebylo by lepší zamezit překreslování písku? (když máš část obrazovky písku tak abys to nemohl přečmárat)

Nahoru Odpovědět
+2
1.3.2014 18:14
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Odpovídá na Hartrik
Josef Kuchař - Pepa489:1.3.2014 19:53

Menší záseky při dávání zdi
Procesor: Intel core i5
Ram: 4GB

Typ: výkon můžeš porovnat s http://powdertoy.co.uk/

Nahoru Odpovědět
+1
1.3.2014 19:53
2x piš, jednou debuguj
Avatar
Odpovídá na Hartrik
Josef Kuchař - Pepa489:1.3.2014 20:13

Aktivních chunků 110 ze 70 :D

Nahoru Odpovědět
+1
1.3.2014 20:13
2x piš, jednou debuguj
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Honza Bittner
Hartrik:1.3.2014 21:41

Když tam bude hodně písku, tak se to bude sekat (a možná i blikat, záleží na HW) vždy. S tím už asi nic moc neudělám, víc optimalizovat už to nejde. Jedině pokud bych vymyslel jak to účinně paralelizovat. Takže teď jedinou možností je zmenšit oblast na 300x300 aby uživatel nerozsypal příliš mnoho písku naráz ;)

Ano, bílá (vzduch) jde nahoru a stejně by to vypadalo i s jiným elementem, který by byl lehčí než písek.

Překreslování stejným elementem později zakážu.

 
Nahoru Odpovědět
1.3.2014 21:41
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Josef Kuchař - Pepa489
Hartrik:1.3.2014 21:42

Chybné počty s chunky jsem opravil, pomohlo klíčové slovo synchronized. Je zajímavé, že když jsem to testoval v NetBeans, tak to neblblo.

 
Nahoru Odpovědět
1.3.2014 21:42
Avatar
Odpovídá na Hartrik
Zdeněk Pavlátka:2.3.2014 7:00

Nádhera. :O Trochu se to seká, když oblast vyplníš např. pískem a dole začneš mazat. Jinak to běhá celkem pěkně. :)
Můžu se zeptat přes co děláš vykreslování, že to dokáže takhle rychle kreslit pixely?

Nahoru Odpovědět
2.3.2014 7:00
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Hartrik
Zdeněk Pavlátka:2.3.2014 7:03

Při vyplnění oblasti zdí začne Snímková frekvence skákat kolem 900, ale celé se to seká a odhaduju to tak na 10 FPS 8| .

Nahoru Odpovědět
2.3.2014 7:03
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Zdeněk Pavlátka:2.3.2014 7:07

U těch "500 - 900" FPS se sekají jen úpravy v horní polovině 8|

Nahoru Odpovědět
2.3.2014 7:07
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Lukáš Hornych
Tvůrce
Avatar
Lukáš Hornych:2.3.2014 8:30

Mě to jede v pohodě bez nějakých záseků.
Projekt to je pěkný, ale pokud to má být na zabavení, že si něco postavíš tak bys tam časem mohl přidat třeba nějaký míče a další různý věci.
Ram: 6Gb
Procesor: Intel Pentium Dual-Core 2,93 Ghz

 
Nahoru Odpovědět
2.3.2014 8:30
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Hartrik:2.3.2014 14:29

Vykreslování se provádí tak, že mám jednorozměrné bytové pole (šířka * výška * 4), kde jeden bajt je jedna složka barvy. Při každém cyklu se aktualizují jen změněné chunky. Pokud byl změněn alespoň jeden chunk, tak se tím polem aktualizuje obrázek (metodou setPixels objektu http://docs.oracle.com/…lWriter.html).

Při vkládání elementů do uspaných oblastí se občas nevykreslí (ale jsou tam) - to opravím v příští verzi.

... Snímková frekvence asi přejmenuji na cyklů za sekundu. Je to trochu zavádějící.

 
Nahoru Odpovědět
+1
2.3.2014 14:29
Avatar
Hartrik
Tvůrce
Avatar
Hartrik:3.3.2014 17:47

Nová verze

  • zakázáno překreslování stejným elementem
  • vyřešeno kreslení do uspaných oblastí
  • opraveny již zmíněné chybné počty s chunky

Dále hlavně změny v kódu, které se moc neprojeví. Příště už budu přidávat novou funkcionalitu.

https://db.tt/4xlhcJnh (Dropbox)

 
Nahoru Odpovědět
3.3.2014 17:47
Avatar
Hartrik
Tvůrce
Avatar
Hartrik:9.3.2014 17:59

Nová verze

  • dialog pro změnu rozměrů plátna
  • výběr "štětce" pro každé tlačítko myši zvlášť
  • přidány elementy: voda, prázdnota (stejné vlastnosti jako vzduch, jen černá barva) a několik zdrojů

https://db.tt/1xPLJywx (Dropbox)

 
Nahoru Odpovědět
9.3.2014 17:59
Avatar
alfonz
Člen
Avatar
alfonz:9.3.2014 18:28

ta hra má budoucnost :D

Nahoru Odpovědět
+2
9.3.2014 18:28
lmao
Avatar

Člen
Avatar
:9.3.2014 19:25

Běží naprosto plynule, a je naprosto super :)
MacBook Pro Retina Late 2013 low + 8GB RAM

 
Nahoru Odpovědět
+1
9.3.2014 19:25
Avatar
Jan Vargovský
Tvůrce
Avatar
Jan Vargovský:9.3.2014 19:30

Když dám padat písek a pod tím je prazdnota, tak začně pomalu letět nahoru.

 
Nahoru Odpovědět
9.3.2014 19:30
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Jan Vargovský
Hartrik:9.3.2014 20:22

To je správně - těžší element si prohazuje místo s lehčím. Prázdnota je vzduch obarvený černou barvou. Je tam jen aby bylo možné pozorovat, jak se vzduch chová.

 
Nahoru Odpovědět
9.3.2014 20:22
Avatar
Hartrik
Tvůrce
Avatar
Hartrik:17.3.2014 19:38

Nová verze

  • přidána tráva: nasypete semena na půdu a postupně vyroste. Pokud jí zasypete nebo pod ní odeberete půdu, tak shnije a postupně se změní na půdu.
  • přidán element černá díra: odebírá okolní elementy
  • přidáno přiblížení (to bylo nejsložitější :) )
  • přidán test výkonu (já mám okolo 105 cyklů/s (ale pokud to spustím v NetBeans, tak z nějakého důvodu 230 cyklů/s); můžete se také pochlubit)

https://db.tt/fqU6GkJf (Dropbox)

 
Nahoru Odpovědět
+2
17.3.2014 19:38
Avatar
Odpovídá na Hartrik
Zdeněk Pavlátka:17.3.2014 19:58

Je to čím dál zajímavější :) vyzkouším hned jak budu moct :)

Nahoru Odpovědět
17.3.2014 19:58
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Hartrik
Zdeněk Pavlátka:24.3.2014 20:17

Je to super a běhá to celkem svižně :)
Mám pro tebe pár rad, co by se dalo zlepšit:

  • přidat ukládání / načítání
  • přidat ukládání screenů
  • odlišit divokou a klasickou trávu, teď vypadají úplně stejně

Přeji hodně štěstí v dalším vývoji. ;)

Nahoru Odpovědět
24.3.2014 20:17
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Hartrik:25.3.2014 15:07

S ukládáním a načítáním do budoucna počítám, v tuto chvíli ještě nemám ustálené API.
Nápad s ukládáním screenů se mi líbí, určitě to v brzké době přidám.
Obyčejnou trávu lehce zesvětlím. (BTW nevím, jestli jste na to přišli, ale divoká tráva se samovolně rozrůstá)

Díky za zpětnou vazbu. ;)

 
Nahoru Odpovědět
+1
25.3.2014 15:07
Avatar
Odpovídá na Hartrik
Zdeněk Pavlátka:25.3.2014 15:58

Toho rozrůstání jsem si nevšiml, já prostě vždycky zasypu semínky celou plochu :D

Nahoru Odpovědět
+2
25.3.2014 15:58
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Hartrik
Tvůrce
Avatar
Hartrik:28.3.2014 17:37

Nová verze

  • přechod na Javu 8 - díky tomu, že tam něco změnili ve vykreslování se mi to začalo celé sekat a celkově podivně chovat. Tak jsem musel celý postup vykreslování předělat. Nakonec to dopadlo dobře a program pracuje o dost rychleji.
  • vytváření zdrojů na (skoro) libovolný element (např.: pravým na zdroj, levým na písek > pravým nanést na plátno > zdroj písku)
  • nové elementy: cement (nasypat, přidat vodu > beton), houba a vysušující prášek (sají vodu), skála, kamenná zeď a cihly (statické texturované elementy)
  • screenshot (uloží se do složky, ve které byl program spuštěn)

https://db.tt/VmKB6tqE (Dropbox)

 
Nahoru Odpovědět
+3
28.3.2014 17:37
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Hartrik
Honza Bittner:28.3.2014 17:56

Super, ještě přidat panáčky, zakomponovat to do sandbox hry... :D

Nahoru Odpovědět
+3
28.3.2014 17:56
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
alfonz
Člen
Avatar
alfonz:28.3.2014 20:16

Skvěle, udělej, že prášek bude ušit i cement a když se smíchá s vodou ztuhne a přestane padat.

E// Přismíchání vody a cementu vzniká vzduch.

Editováno 28.3.2014 20:18
Nahoru Odpovědět
28.3.2014 20:16
lmao
Avatar
Hartrik
Tvůrce
Avatar
Hartrik:2.4.2014 18:38

Nová verze

  • přidán oheň + několik hořlavých elementů
  • trochu upraveno tuhnutí cementu, elementu houba přidána textura

https://db.tt/O3yy8dC1 (DropBox)

V další verzi budu pracovat na reakci dalších elementů na žár (např. přeměna vody na páru) a poté přidám nějaké výbušniny.

Editováno 2.4.2014 18:39
 
Nahoru Odpovědět
+3
2.4.2014 18:38
Avatar
Hartrik
Tvůrce
Avatar
Hartrik:16.4.2014 20:21

Nová verze

  • upraven způsob rozsýpání písku
  • nový element - eliminátor, topné těleso, několik testovacích plynů
  • odpařování vody, u slané vody vzniká sůl
  • přidán obdélníkový kurzor pro přesnější nanášení
  • nástroje pro otáčení plátna a další
  • ukládání a načítání
  • kreslení tahem - konečně žádné vynechávání!
  • změny v UI

aplikace:
https://db.tt/eGTwyADC

ukázkové mapy:
https://dl.dropboxusercontent.com/…estilace.ser
https://dl.dropboxusercontent.com/…Elementy.ser
https://dl.dropboxusercontent.com/…BE%C3%AD.ser

 
Nahoru Odpovědět
+5
16.4.2014 20:21
Avatar
Odpovídá na Hartrik
Zdeněk Pavlátka:16.4.2014 20:37

Krása... Neví někdo, jestli jde Java 8 i na Windows Vista?

Nahoru Odpovědět
16.4.2014 20:37
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Hartrik:16.4.2014 21:03

Určitě jde

 
Nahoru Odpovědět
16.4.2014 21:03
Avatar
Odpovídá na Hartrik
Zdeněk Pavlátka:16.4.2014 21:05

Tak to si jí musim nainstalovat. Ta tvoje aplikace je čím dál úžasnější ;)

Nahoru Odpovědět
+1
16.4.2014 21:05
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Hartrik:16.4.2014 21:13

Jsem poctěn :)

 
Nahoru Odpovědět
16.4.2014 21:13
Avatar
DooM
Tvůrce
Avatar
DooM:17.4.2014 1:55

Na 2Ghz Single-Core, 1GB RAM to jelo na 5 - 9 FPS :D .. Chtělo by to trošku optimalizovat :)

Nahoru Odpovědět
17.4.2014 1:55
Klient: Nefunguje mi internet co s tím uděláte? Operátor: a co vidíte na monitoru? Klient: No signal...
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na DooM
Hartrik:17.4.2014 14:53

Na takovém HW se není čemu divit :)
Už mi došly nápady jak to zrychlit.
Pokud bys ale zmenšil plátno a myslel na to, aby bylo v jednu chvíli co nejméně aktivních chunků, tak by se to určitě dalo.

 
Nahoru Odpovědět
17.4.2014 14:53
Avatar
alfonz
Člen
Avatar
alfonz:27.4.2014 19:53

Úžasný by bylo kdyby jsi přidal výbušniny :D

Nahoru Odpovědět
+3
27.4.2014 19:53
lmao
Avatar
alfonz
Člen
Avatar
alfonz:28.4.2014 15:42

Když tak přidávám svůj výtvor vylepšené destilace.
https://www.dropbox.com/…stilace2.ser

Nahoru Odpovědět
28.4.2014 15:42
lmao
Avatar
Odpovídá na alfonz
Zdeněk Pavlátka:28.4.2014 15:54

Na co tam jsou ty černé díry?

Nahoru Odpovědět
28.4.2014 15:54
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
alfonz
Člen
Avatar
alfonz:28.4.2014 16:04

Na odpouštění měli by být zavřené.

Nahoru Odpovědět
+1
28.4.2014 16:04
lmao
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na alfonz
Hartrik:28.4.2014 20:13

Výbušniny budou hned, jak vymyslím, jak to provést.

 
Nahoru Odpovědět
+2
28.4.2014 20:13
Avatar
Ondrca
Tvůrce
Avatar
Odpovídá na Hartrik
Ondrca:28.4.2014 21:01

Je to opravdu suprová hra, tu musíš publikovat!

Nahoru Odpovědět
28.4.2014 21:01
Zase jsem o něco chytřejší
Avatar
Odpovídá na Hartrik
Neaktivní uživatel:30.4.2014 21:37

jak se ti voda když hoří přemění na plyn tak by se mohla slaná voda přeměnit na plyn a sůl. to by bylo cool

Nahoru Odpovědět
30.4.2014 21:37
Neaktivní uživatelský účet
Avatar
Matěj Kripner
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Matěj Kripner:1.5.2014 9:26

Přesně tak se to děje :)

 
Nahoru Odpovědět
+1
1.5.2014 9:26
Avatar
Michal Maršálek:1.5.2014 11:52

Naprosto úžasné. Uvítal bych možnost změny velikosti štětce a omezení maximální rychlosti FPS.

 
Nahoru Odpovědět
+1
1.5.2014 11:52
Avatar
tomisoka
Tvůrce
Avatar
tomisoka:1.5.2014 12:35

Velmi dobrá hra. Dobré by bylo přidat několik věcí:

  1. slaná voda + vysušující prášek > sůl
  2. rychlejší roztékání vody, po nanesení vody na jedno místo vznikají "hory" vody, které zůstávají i 1 minutu
  3. přidání elementů : láva, sklo
  4. a jak už bylo řečeno : změna velikosti štětce
 
Nahoru Odpovědět
+3
1.5.2014 12:35
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Michal Maršálek
Hartrik:1.5.2014 20:02

Obě dvě vlastnosti by měli být v další verzi. Omezování FPS počtu cyklů/s už mám hotové.

 
Nahoru Odpovědět
1.5.2014 20:02
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na tomisoka
Hartrik:1.5.2014 20:05
  1. přidáno; také bude urychlovat schnutí betonu
  2. jsem si toho vědom, ale zatím nevím jak to vyřešit. Logika roztékání navíc nesmí být moc složitá kvůli rychlosti.
  3. možná časem...
  4. v další verzi

Všem díky za zpětnou vazbu ;)

 
Nahoru Odpovědět
+1
1.5.2014 20:05
Avatar
Odpovídá na Hartrik
Michal Maršálek:2.5.2014 14:16

Ještě by byla dobrá možnost kreslit rovné čáry, nebo aspoň možnost změnit velikost štětce v obou směrech, což by umožnilo kreslit alespoň vodorovné či svislé rovné čáry.

 
Nahoru Odpovědět
+2
2.5.2014 14:16
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Michal Maršálek
Hartrik:2.5.2014 14:42

V dalších verzích se chystám přidat obojí, a vedle přímky ještě vyplněný obdélník.

 
Nahoru Odpovědět
+1
2.5.2014 14:42
Avatar
Ondrca
Tvůrce
Avatar
Odpovídá na Hartrik
Ondrca:2.5.2014 14:53

Hele, jak se používá zdroje ? (zdroj1234)

Nahoru Odpovědět
2.5.2014 14:53
Zase jsem o něco chytřejší
Avatar
Odpovídá na Ondrca
Michal Maršálek:2.5.2014 15:43

Na každé tlačítko myši si můžeš hodit jinou věc. Když použiješ zdroj jedním tlačítkem, tak se ti vytvoří zdroj toho, co máš na druhém tlačítku.

 
Nahoru Odpovědět
+1
2.5.2014 15:43
Avatar
Matěj Kripner
Tvůrce
Avatar
Matěj Kripner:3.5.2014 17:26

To je prostě úžasný :D Jenom bych ocenil něco jako tepelnou vodivost(ve hře je např. i tenká zeď 100% izolant).

 
Nahoru Odpovědět
3.5.2014 17:26
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 50 zpráv z 89.