Skip to content

Commit

Permalink
Release version 2.03
Browse files Browse the repository at this point in the history
  • Loading branch information
Hartrik committed Jul 3, 2016
1 parent ea2e79c commit 6725dc3
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 20 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Plátno je možné uložit jako:

- **soubor s příponou .sgs** – ukládání je řešeno formou serializace. Toto řešení s sebou ovšem nese nevýhody, jako větší paměťovou náročnost a občasnou nekompatibilitu mezi jednotlivými verzemi. Výhodou je, že je plátno zachováno přesně ve stavu, v jakém bylo uloženo.

- **soubor s příponou .sgb** – ukládají se pouze ID štětců, kterými byly jednotlivé elementy naneseny – vzniká tak jakási šablona, podle které se elementy příště nanesou. Neuchovává žádné stavy, jako je teplota, a nepodporuje některé speciální elementy (zdroje, bakterie). Kompatibilita s dalšími verzemi je zaručena.
- **soubor s příponou .sgb** – ukládají se pouze ID štětců, kterými byly jednotlivé elementy naneseny – vzniká tak jakási šablona, podle které se elementy příště nanesou. Kompatibilita s dalšími verzemi je zaručena.

## Scriptování

Expand All @@ -48,7 +48,7 @@ Nechte se inspirovat [ukázkovými scripty](/scripts).

## Výkon

Plátno je rozdělené do tzv. chunků – čtvercových oblastí o rozměrech 100×100 bodů. Ty umožňují rozlišit oblasti, ve kterých se nic nehýbe / neděje a tyto oblasti jsou poté uspány a tak dochází k šetření výkonu. Cílem je tedy mít **co nejméně aktivních chunků**.
Plátno je rozdělené do tzv. chunků – čtvercových oblastí o rozměrech obvykle 20×20 bodů. Ty umožňují rozlišit oblasti, ve kterých se nic nehýbe / neděje a tyto oblasti jsou poté uspány a tak dochází k šetření výkonu. Cílem je tedy mít **co nejméně aktivních chunků**.

Díky tomuto rozdělení je možné mít např. obrovskou plochu písku, která v klidovém stavu nevyžaduje téměř žádný výkon.

Expand Down
2 changes: 1 addition & 1 deletion nbproject/project.properties
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ javadoc.splitindex=true
javadoc.use=true
javadoc.version=true
javadoc.windowtitle=
javafx.application.implementation.version=2.02 Beta
javafx.application.implementation.version=2.03 Beta
javafx.binarycss=false
javafx.classpath.extension=\
${java.home}/lib/javaws.jar:\
Expand Down
11 changes: 5 additions & 6 deletions src/cz/hartrik/sg2/app/module/dialog/about/informations.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
<body>
<h2>Sand Game 2</h2>

<span>Verze: 2.02 Beta (2015-04-08)</span>
<p>&copy; 2015 Patrik Harag <br> <code>[email protected]</code></p>
<span>Verze: 2.03 Beta (2016-07-03)</span>
<p>&copy; 2016 Patrik Harag <br> <code>[email protected]</code></p>
<hr>

<p><strong>Sand Game 2</strong> je tvořivá hra typu <em>falling-sand</em>, ve
Expand Down Expand Up @@ -85,9 +85,8 @@ <h3>Ukládání a načítání</h3>

<li><strong>soubor s příponou .sgb</strong> – ukládají se pouze ID
štětců, kterými byly jednotlivé elementy naneseny – vzniká tak jakási
šablona, podle které se elementy příště nanesou. Neuchovává žádné
stavy, jako je teplota, a nepodporuje některé speciální elementy (zdroje,
bakterie). Kompatibilita s dalšími verzemi je zaručena.</li>
šablona, podle které se elementy příště nanesou.
Kompatibilita s dalšími verzemi je zaručena.</li>
</ul>

<h3>Scriptování</h3>
Expand All @@ -106,7 +105,7 @@ <h3>Scriptování</h3>
<h3>Výkon</h3>

<p>Plátno je rozdělené do tzv. chunků – čtvercových oblastí o
rozměrech 100×100 bodů. Ty umožňují rozlišit oblasti, ve kterých se nic
rozměrech obvykle 20×20 bodů. Ty umožňují rozlišit oblasti, ve kterých se nic
nehýbe / neděje a tyto oblasti jsou poté uspány a tak dochází k šetření
výkonu. Cílem je tedy mít <strong>co nejméně aktivních
chunků</strong>.</p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@
<head>
<title>O programu / Historie verzí - Beta</title>
<meta charset="UTF-8">

<style>
body {
font-family: sans-serif;
font-size: 12px;
line-height: 18px;
}

.history-table {
width: 100%;
}

.history-table, .history-table th, .history-table td {
border: 1px solid #C0C0C0;
padding: 5px 15px 5px 15px;
Expand Down Expand Up @@ -70,7 +70,7 @@ <h3>Historie verzí - Beta</h3>
&emsp;&bull; teleport<br>
</td>
</tr>

<tr>
<td>2.02&nbsp;Beta</td>
<td>2015&#8209;04&#8209;08</td>
Expand All @@ -89,6 +89,30 @@ <h3>Historie verzí - Beta</h3>
&emsp;&bull; třída <code>Elements</code><br>
</td>
</tr>

<tr>
<td>2.03&nbsp;Beta</td>
<td>2016&#8209;07&#8209;03</td>
<td>
&bull; přidán element: napalm<br>
&bull; přepracován systém přenosu tepla<br>
&emsp;&bull; zvýšen výkon, snížena paměťová náročnost<br>
&emsp;&bull; skoro všechny elementy nyní vedou teplo<br>
&bull; přidána možnost zobrazit teplotu (heatmap)<br>
&bull; přidána možnost změnit velikost chunků<br>
&emsp;&bull; výchozí velikost se zároveň změnila na 20×20 bodů<br>
&bull; vylepšen engine<br>
&bull; vylepšen formát ukládání<br>
&emsp;&bull; formát <code>.sgb</code> podporuje teplotu a další efekty<br>
&emsp;&bull; sjednocení formátů <code>.sgb</code> a <code>.sgs</code><br>
&bull; nanášení elementů při držení tlačítka myši<br>
&bull; tlačítko start/stop reflektuje aktuální stav, stejně tak některé ukazatele<br>
&bull; opravy chyb<br>
&emsp;&bull; odebrány šedé šmouhy, které zůstávaly po motion blur<br>
&emsp;&bull; opraveno blikání způsobené špatnou synchronizací<br>
&emsp;&bull; opraveno blikání, které způsobovalo motion blur, když počet cyklů byl nižší než FPS<br>
</td>
</tr>
</tbody>
</table>
</body>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@ public MenuItem[] createMenuItems(Frame stage, FrameController controller,
MenuItem iSandTest = new MenuItem("Test výkonu - písek");
iSandTest.setOnAction((e) -> manager.run(SERVICE_TEST_SAND_FALL));

MenuItem iBenchmark = new MenuItem("Test výkonu - benchmark");
iBenchmark.setOnAction((e) -> manager.run(SERVICE_TEST_BENCHMARK));
// MenuItem iBenchmark = new MenuItem("Test výkonu - benchmark");
// iBenchmark.setOnAction((e) -> manager.run(SERVICE_TEST_BENCHMARK));

return new MenuItem[] { iSandTest, iBenchmark };
return new MenuItem[] { iSandTest, /*iBenchmark*/ };
}

}
9 changes: 5 additions & 4 deletions src/cz/hartrik/sg2/app/sandbox/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,14 @@
/**
* Vstupní třída.
*
* @version 2015-02-20
* @version 2016-06-19
* @author Patrik Harag
*/
public class Main extends Application {

public static final String APP_NAME = "Sand Game 2 (2.02 Beta)";
public static final String APP_VERSION = "2.02 Beta";
public static final String APP_NAME = "Sand Game 2";
public static final String APP_VERSION = "2.03 Beta";
public static final String APP_TITLE = APP_NAME + " (" + APP_VERSION + ")";
public static final String ICON = "icon - sg2.png";

private static Frame frame;
Expand All @@ -40,7 +41,7 @@ public void start(Stage stage) throws Exception {
}

public static void showFileName(Path path) {
frame.setTitle(Main.APP_NAME +
frame.setTitle(Main.APP_TITLE +
(path == null ? "" : " / " + path.getFileName()));
}

Expand Down

0 comments on commit 6725dc3

Please sign in to comment.