<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Game Development on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/category/game-development/</link><description>Recent content in Game Development on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 01 Jan 2026 14:49:45 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/category/game-development/index.xml" rel="self" type="application/rss+xml"/><item><title>JavaFX Links of July 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-july-2024/</link><pubDate>Wed, 31 Jul 2024 17:54:43 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-july-2024/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of July 2024, published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during this month.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A message by &lt;strong&gt;Kevin Rushforth&lt;/strong&gt; on the &lt;a href="https://mail.openjdk.org/mailman/listinfo/openjfx-dev" target="_blank" rel="noopener noreferrer"&gt;[email protected]&lt;/a&gt;
 mailing list shows the Java/JavaFX release train is approaching the next station ;-): &amp;ldquo;Bump the version number of JavaFX to 24. I will integrate this to &lt;code&gt;master&lt;/code&gt; as part of forking the &lt;code&gt;jfx23&lt;/code&gt; stabilization branch, which is scheduled for Thursday, July 11, 2024 at 16:00 UTC.&amp;rdquo; We&amp;rsquo;re looking forward to the release of v23 in September!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techhub.social/@thejvmbender/112693990775120413" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Özkan Pakdil&lt;/strong&gt; is working on an opensource alternative for Postman&lt;/a&gt;
: &amp;ldquo;I am looking for people to test or join, it&amp;rsquo;s in beta phase, but I am sure http get is working.&amp;rdquo; You can &lt;a href="https://github.com/ozkanpakdil/swaggerific" target="_blank" rel="noopener noreferrer"&gt;find it on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;LogoRRR is now available for download in the &lt;a href="https://apps.microsoft.com/detail/xpdlk5t61gqwlt?cid=DevShareCLPCS&amp;amp;hl=en-us&amp;amp;gl=SE" target="_blank" rel="noopener noreferrer"&gt;Microsoft App Store&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/SeanMiPhillips/status/1808556671188545555" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; shared a screenshot&lt;/a&gt;
: &amp;ldquo;New automatic Clustering features available from main branch of the Trinity 3D Visual Explainable AI tool. You can configure and asynchronously run multiple clustering algorithms in 3D, including DBSCAN, HDBSCAN, KMeans++, KMedoids Affinity Propagation, and more.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/emad-hanif-00b4aa227_javafx-spring-rxjava-activity-7214316565842845697-Xk4M/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Emad Hanif&lt;/strong&gt; shared a long description and video of Barcodify&lt;/a&gt;
: &amp;ldquo;Built with JavaFX, Spring Core and RxJava. This application empowers users to personalize every aspect, from color schemes and font sizes to margins and bar dimensions, delivering a comprehensive package with an elegant design. It currently supports 8 types of linear barcodes &amp;mdash; Code39, Code128, Codabar, Interleaved 2 of 5, UPC-A, UPC-E, EAN-8, and EAN-13.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/crschnick/status/1806954732964966740" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; added native window styling to XPipe 10&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/xiongchun007/status/1808935782033600521" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Xiong Chun&lt;/strong&gt; shared progress in Datacollie&lt;/a&gt;
: &amp;ldquo;Tonight, the basic SQL query and result display of the SQL query window implemented. There are still many details to be improved in this module.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Igor Azarny&lt;/strong&gt; released v2.5.5 of &lt;a href="http://gitgui.org/" target="_blank" rel="noopener noreferrer"&gt;Gitember, a cross platform graphical user interface for GIT&lt;/a&gt;
. You can find the &lt;a href="https://github.com/iazarny/gitember" target="_blank" rel="noopener noreferrer"&gt;sources on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@jabref/112797436287631234" target="_blank" rel="noopener noreferrer"&gt;JabRef announced release 5.15&lt;/a&gt;
 with &lt;a href="https://blog.jabref.org/2024/07/16/JabRef5-15/" target="_blank" rel="noopener noreferrer"&gt;a blog post&lt;/a&gt;
, &amp;ldquo;with binaries for Intel macs and fixes for Snap users. This release comes with some nice improvements for TeXLaTeX users and experimental support for using bst styles as preview.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/WebFXProject/status/1815417115161121078" target="_blank" rel="noopener noreferrer"&gt;WebFX shared&lt;/a&gt;
 an app they are hosting at &lt;a href="https://meteo.webfx.dev" target="_blank" rel="noopener noreferrer"&gt;meteo.webfx.dev&lt;/a&gt;
: &amp;ldquo;It showcases some cool webfx features: Scene graph (no canvas), Charts, Dual CSS (javafx &amp;amp; web), I18n, Json, Web service, Java service, Local storage, Sound.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/PatrikKarlstrom/status/1816016154852299111" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt; shared screenshots&lt;/a&gt;
: &amp;ldquo;Bringing back the cron like scheduler to my JavaFX based rsync gui. Converting the old swing cron dialog was much less work than expected. JavaFX really do have nice things to offer!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Datacollie, the SQL UI by &lt;a href="https://x.com/xiongchun007/status/1816419820268605848" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Xiong Chun&lt;/strong&gt; looks more-and-more impressive&lt;/a&gt;
: &amp;ldquo;The paging model of the SQL query result is determined, and a toolbar is added to the result table.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/petkovicdev/status/1808533009831694720" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;5kovic&lt;/strong&gt; made Tetris&lt;/a&gt;
: &amp;ldquo;Music and background found on Google, links in comment section.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@maehem/112747959541918758" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark J Koch&lt;/strong&gt; is reverse engineering the &amp;ldquo;Game of the Year&amp;rdquo; from 1989&lt;/a&gt;
: &amp;ldquo;Screen grab of browsing the sprites extracted from the Neuromancer PC .DAT files. They are stored as indexed color, RLE and Huffman encoded blobs of data. I wrote some Java code to extract/decompress/decode them from the file and write them to a &amp;lsquo;cache&amp;rsquo; directory as PNG files. The game came on two floppies and is still one of my favorites and I play it in a DOS emulator from time to time.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/orango_mango/status/1812950078665204134" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; made a game in 24h for the indiedevgamejam&lt;/a&gt;
: &amp;ldquo;Escape and drive on the highway as long as you can. By driving on the 2 leftmost lanes you get double score as well as driving fast.&amp;rdquo; You can play it on &lt;a href="https://orangomango.itch.io/milkywayescape" target="_blank" rel="noopener noreferrer"&gt;orangomango.itch.io/milkywayescape&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1815390389974503934" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duke&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;A bunch of changes coming to Transit Theme&amp;hellip; One of them is that if you change it to Dark style it will also change the Window frame of where the theme is applied. (JavaFX always shows the Window frame in light color)&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;And Pedro published a new post: &lt;a href="https://pixelduke.com/2024/07/24/transit-version-2-0-released/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Transit Version 2.0 Released&amp;rdquo;&lt;/a&gt;
: &amp;ldquo;Styles work as User Agent Stylesheets like Modena (much easier to override) + True Dark Mode (Window frame also changes when set to Dark style).&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/dlemmermann/status/1816511301369331865" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared a screenshot of an implementation of the FlexGanttFX library&lt;/a&gt;
: &amp;ldquo;We use it in our energy CRM system to visualise the consumption data provided by the home-installed electricity smart meters of our customers. In addition, it shows the time when our backend services send a request to the meters to send their data and which time periods they requested.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; published a &lt;a href="https://www.youtube.com/watch?v=XhDQvkcYJ88" target="_blank" rel="noopener noreferrer"&gt;video in which he experiments with the Azul Zulu runtimes with JavaFX support, JBang, and SDKMAN on a Raspberry Pi&lt;/a&gt;
 and a lot of colored circles.
&lt;ul&gt;
&lt;li&gt;Based on this experiment, he published an additional blog and video with a demo application to compare the performance between &lt;a href="https://webtechie.be/post/2024-07-22-javafx-nodes-versus-canvas/" target="_blank" rel="noopener noreferrer"&gt;thousands of Nodes versus drawing the same number of elements on a Canvas&lt;/a&gt;
: &amp;ldquo;On a Mac Studio, performance drops after 15k Nodes, versus 150k with Canvas.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;YouTube Shorts by &lt;strong&gt;OrangoMango&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/shorts/2T3UNo5EVXg" target="_blank" rel="noopener noreferrer"&gt;Falling sand with JavaFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/shorts/iaOnGQj86lQ" target="_blank" rel="noopener noreferrer"&gt;Conway&amp;rsquo;s Game Of Life implementation in Java and JavaFX&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;On dev.to, &lt;a href="https://dev.to/paulike" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Paul Ngugi&lt;/strong&gt; is publishing a blog series of JavaFX tutorials&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/phidias51/status/1809962623448023389" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark Fortner&lt;/strong&gt; replies&lt;/a&gt;
 to a message by &lt;a href="https://x.com/justinfagnani/status/1809709077150462075" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Justin Fagnani&lt;/strong&gt; about Flutter&lt;/a&gt;
: &amp;ldquo;It&amp;rsquo;s always interesting watching people re-invent the future. JavaFX has all of the features that you describe. Scenegraphs, multilanguage support, compiles to WASM, CSS. I think it really boils down to one&amp;rsquo;s willingness to get out of one&amp;rsquo;s comfort stack.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A new &lt;a href="https://x.com/crschnick/status/1809740192514793762" target="_blank" rel="noopener noreferrer"&gt;video by &lt;strong&gt;Christopher Schnick&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;The JavaFX 22 platform preferences API in action with native window themes on Windows 11.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/crschnick/status/1814024272295178515" target="_blank" rel="noopener noreferrer"&gt;Christopher also reports&lt;/a&gt;
: &amp;ldquo;Seems like JavaFX applications run fine on Windows ARM systems through the x86_64 compatibility layer.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/hansolo_/status/1813616079769686335" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; shared a screenshot&lt;/a&gt;
 of a private project (&amp;ldquo;sorry not allowed to share&amp;hellip;&amp;rdquo;) which recreates the &lt;a href="https://www.qlocktwo.com/en-be/" target="_blank" rel="noopener noreferrer"&gt;QLOCKTWO&lt;/a&gt;
 in JavaFX.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/cbm64/status/1815503568897540159" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chris&lt;/strong&gt; is wondering&lt;/a&gt;
: &amp;ldquo;Why are large displays in public spaces, including electronic ordering screens windows based?! It should be JavaFX territory running lightweight Linux on an SOC device.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The overview of the Links Of The Week of June are &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-june-2024/"&gt;bundled on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;New content:
&lt;ul&gt;
&lt;li&gt;Learn &amp;gt; JavaFX: &lt;a href="https://www.jfx-central.com/learn-javafx/nodes-versus-canvas" target="_blank" rel="noopener noreferrer"&gt;Comparing Nodes versus
Canvas&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Learn &amp;gt; JavaFX on Raspberry Pi: &lt;a href="https://www.jfx-central.com/learn-raspberrypi/zulu-sdkman-jbang" target="_blank" rel="noopener noreferrer"&gt;Experiment with Azul Zulu, SDKMAN, and JBANG&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/dlemmermann/status/1816486634260463781" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared this message with a screenshot&lt;/a&gt;
: &amp;ldquo;We are working on a mobile-only version of jfx-central.com. The routing framework and the development &amp;rsquo;environment&amp;rsquo; provided by &lt;a href="https://x.com/jpro_one" target="_blank" rel="noopener noreferrer"&gt;@jpro_one&lt;/a&gt;
 and &lt;a href="https://x.com/FlorianKirmaier" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Florian Kirmaier&lt;/strong&gt;&lt;/a&gt;
 helps a lot. It even allows us to simulate different phone resolutions.&amp;rdquo; Check all the commits by &lt;a href="https://x.com/LeeWyatt_7788" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Li Wang Yang&lt;/strong&gt;&lt;/a&gt;
 in the &lt;a href="https://github.com/dlsc-software-consulting-gmbh/jfxcentral2/commits/develop/" target="_blank" rel="noopener noreferrer"&gt;public GitHub repository&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;</description></item><item><title>Book review: Learn JavaFX Game Development with FXGL 17</title><link>https://foojayio.github.io/website/today/book-review-learn-javafx-game-and-app-development-with-fxgl-17/</link><pubDate>Wed, 19 Oct 2022 07:20:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/book-review-learn-javafx-game-and-app-development-with-fxgl-17/</guid><description>&lt;p&gt;This summer, I read the book &lt;a href="https://entreprenerd.lowagie.com/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;&amp;ldquo;Entreprenerd&amp;rdquo;&lt;/strong&gt; by &lt;strong&gt;Bruno Lowagie&lt;/strong&gt;&lt;/a&gt;
. It tells the story of how he started with the &lt;a href="https://itextpdf.com/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;iText&lt;/strong&gt; PDF Java library&lt;/a&gt;
 and turned that into a company together with his wife, and eventually sold it with all problems related to most sales and acquisitions trajects&amp;hellip;&lt;/p&gt;
&lt;p&gt;In &amp;ldquo;Entreprenerd,&amp;rdquo; he also describes the process of writing two books about the iText library itself, as there were no good manuals available, and he wanted to liberate himself from the ever-returning same questions.&lt;/p&gt;</description></item><item><title>New Book: FXGL 17 -- Learn JavaFX Game and App Development</title><link>https://foojayio.github.io/website/today/new-book-fxgl-17-learn-javafx-game-and-app-development/</link><pubDate>Mon, 19 Sep 2022 11:39:12 +0000</pubDate><guid>https://foojayio.github.io/website/today/new-book-fxgl-17-learn-javafx-game-and-app-development/</guid><description>&lt;p&gt;This is an announcement of the FXGL 17 book. This book is for beginners in Java and/or JavaFX who wish to develop apps and games with FXGL, while improving Java and JavaFX skills.&lt;/p&gt;
&lt;p&gt;This book is also suitable for experienced developers who wish to learn how to use FXGL.&lt;/p&gt;
&lt;p&gt;Lastly, game developers familiar with Unity, Unreal Engine or Godot who wish to learn Java and JavaFX will find this book useful.&lt;/p&gt;</description></item><item><title>Wordish with JavaFX - Part 5</title><link>https://foojayio.github.io/website/today/wordish-with-javafx-part-5/</link><pubDate>Tue, 14 Jun 2022 07:25:37 +0000</pubDate><guid>https://foojayio.github.io/website/today/wordish-with-javafx-part-5/</guid><description>&lt;p&gt;Welcome to Part 5 and the final installment of this series.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-1/"&gt;Part 1&lt;/a&gt;
, we introduced the Wordish game with JavaFX and discussed the main UI layout.&lt;/li&gt;
&lt;li&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-2/"&gt;Part 2&lt;/a&gt;
, we discussed look and feel enhancements. We introduced specialized Label and Button controls that use pseudo-classes for advanced CSS styling. In addition, we covered incorporating third-party font libraries and customizing Scene Builder to leverage these features.&lt;/li&gt;
&lt;li&gt;Next, in &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-3/"&gt;Part 3&lt;/a&gt;
, we explored the controller code that maintains game state and responds to user input with appropriate updates to the UI.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-4/"&gt;Part 4&lt;/a&gt;
, &lt;strong&gt;What&amp;rsquo;s in a Word, Anyway?&lt;/strong&gt;, examines how we get our words and how we determine if a submitted word is valid.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And now in Part 5, we turn to JavaFX charts, showing how to customize charts with orientation and colors and how to add nodes to the chart scene graph.&lt;/p&gt;</description></item><item><title>Wordish with JavaFX - Part 4 : Foojay</title><link>https://foojayio.github.io/website/today/wordish-with-javafx-part-4/</link><pubDate>Tue, 07 Jun 2022 09:23:47 +0000</pubDate><guid>https://foojayio.github.io/website/today/wordish-with-javafx-part-4/</guid><description>&lt;p&gt;Welcome to Part 4 of this five part series.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-1/"&gt;Part 1&lt;/a&gt;
, we introduced the Wordish game with JavaFX and discussed the main UI layout.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-2/"&gt;Part 2&lt;/a&gt;
, we discussed look and feel enhancements.&lt;/p&gt;
&lt;p&gt;We introduced specialized Label and Button controls that use pseudo-classes for advanced CSS styling.&lt;/p&gt;
&lt;p&gt;We covered incorporating third-party font libraries and customizing Scene Builder to leverage these features.&lt;/p&gt;
&lt;p&gt;Next, in &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-3/"&gt;Part 3&lt;/a&gt;
, we explored the controller code that maintains game state and responds to user input with appropriate updates to the UI.&lt;/p&gt;</description></item><item><title>Wordish with JavaFX - Part 3</title><link>https://foojayio.github.io/website/today/wordish-with-javafx-part-3/</link><pubDate>Tue, 31 May 2022 07:23:02 +0000</pubDate><guid>https://foojayio.github.io/website/today/wordish-with-javafx-part-3/</guid><description>&lt;p&gt;Welcome to Part 3 of this five part series.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-1/"&gt;Part 1&lt;/a&gt;
, we introduced the Wordish game with JavaFX and discussed the main UI layout.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-2/"&gt;Part 2&lt;/a&gt;
, we discussed look and feel enhancements.&lt;/p&gt;
&lt;p&gt;We introduced specialized Label and Button controls that use pseudo-classes for advanced CSS styling.&lt;/p&gt;
&lt;p&gt;We covered incorporating third-party font libraries and customizing Scene Builder to leverage these features.&lt;/p&gt;
&lt;p&gt;Now in Part 3, we&amp;rsquo;ll examine the controller code. The controller code maintains game state and responds to user input with appropriate updates to the UI.&lt;/p&gt;</description></item><item><title>Wordish with JavaFX - Part 2</title><link>https://foojayio.github.io/website/today/wordish-with-javafx-part-2/</link><pubDate>Tue, 24 May 2022 07:50:54 +0000</pubDate><guid>https://foojayio.github.io/website/today/wordish-with-javafx-part-2/</guid><description>&lt;h2 id="h2-0-building-games-and-having-fun-with-java-and-javafx"&gt;Building Games and Having Fun with Java and JavaFX&lt;/h2&gt;
&lt;p&gt;Welcome to Part 2 of this five part series!&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-1/"&gt;Part 1&lt;/a&gt;
, we introduced the Wordish game with JavaFX and discussed the main UI layout.&lt;/p&gt;
&lt;p&gt;In this second part, we&amp;rsquo;ll discuss some important look and feel enhancements.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll show you specialized Label and Button controls and using pseudo-classes for advanced CSS styling.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll also cover incorporating third-party font libraries and customizing Scene Builder to leverage these features.&lt;/p&gt;</description></item><item><title>Wordish with JavaFX - Part 1</title><link>https://foojayio.github.io/website/today/wordish-with-javafx-part-1/</link><pubDate>Tue, 17 May 2022 10:13:21 +0000</pubDate><guid>https://foojayio.github.io/website/today/wordish-with-javafx-part-1/</guid><description>&lt;h2 id="h2-0-building-games-and-having-fun-with-java-and-javafx"&gt;Building Games and Having Fun with Java and JavaFX&lt;/h2&gt;
&lt;p&gt;Wordish is a JavaFX implementation of the game Wordle. It&amp;rsquo;s like Wordle. It is Wordle-ish. It&amp;rsquo;s Wordish.
&lt;img src="https://foojayio.github.io/website/today/wordish-with-javafx-part-1/playgame5-308x510.png" alt="" loading="lazy"&gt;
 Figure 1. Wordish main layout view&lt;/p&gt;
&lt;p&gt;Wordle is a daily online word game. You can play the official Wordle game here:&lt;a href="https://www.nytimes.com/games/wordle/index.html" target="_blank" rel="noopener noreferrer"&gt;https://www.nytimes.com/games/wordle/index.html&lt;/a&gt;
. If you haven&amp;rsquo;t played yet, go check it out.&lt;/p&gt;
&lt;p&gt;As I played Wordle, I realized how much fun it would be to create a JavaFX implementation. When you submit a word, each tile rotates to reveal how the individual letter matches &amp;ndash; or doesn&amp;rsquo;t match &amp;ndash; the target word. &lt;em&gt;(Ooh, animation!)&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Java Panama Polyglot (Swift) Part 2</title><link>https://foojayio.github.io/website/today/java-panama-polyglot-swift-part-2/</link><pubDate>Wed, 13 Apr 2022 15:34:59 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-panama-polyglot-swift-part-2/</guid><description>&lt;p&gt;Hello and welcome back to the &lt;strong&gt;Java Panama Polyglot&lt;/strong&gt; series where we will be presenting quick tutorials or recipes on how to access native libraries written in other languages.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/java-panama-polyglot-part1/"&gt;Part 1&lt;/a&gt;
 you got a chance to learn about how to use Java &lt;a href="https://jdk.java.net/panama/" target="_blank" rel="noopener noreferrer"&gt;Project Panama&lt;/a&gt;
&amp;rsquo;s (foreign function interface) abilities to access native libraries written in C++. Today, we will be looking at Java code being able to talk to Apple&amp;rsquo;s &lt;a href="https://developer.apple.com/swift/" target="_blank" rel="noopener noreferrer"&gt;Swift&lt;/a&gt;
 language.&lt;/p&gt;</description></item><item><title>FXGL Game Engine 17 Released</title><link>https://foojayio.github.io/website/today/fxgl-game-engine-17-released/</link><pubDate>Mon, 03 Jan 2022 10:43:05 +0000</pubDate><guid>https://foojayio.github.io/website/today/fxgl-game-engine-17-released/</guid><description>&lt;p&gt;&lt;a href="https://github.com/AlmasB/FXGL/releases/tag/17" target="_blank" rel="noopener noreferrer"&gt;Version 17&lt;/a&gt;
 of the FXGL game engine brings a number of improvements in many areas. Key changes include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FXGL source is now built with Java 17 and JavaFX 17.&lt;/li&gt;
&lt;li&gt;The changelog is now automatically generated from commits.&lt;/li&gt;
&lt;li&gt;Animated textures (sprite sheet animations) are now driven by the unified FXGL system, meaning you can use interpolators, play in reverse and many other supported features.&lt;/li&gt;
&lt;li&gt;3D skybox implementation.&lt;/li&gt;
&lt;li&gt;DialogueContext object for storing data that is local to the context in which the dialogue is being run.&lt;/li&gt;
&lt;li&gt;Improvements to avoid various crashes on the Raspberry Pi.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-0-auto-generated-changelog"&gt;Auto-generated Changelog&lt;/h2&gt;
&lt;p&gt;The full changelog is given below.&lt;/p&gt;</description></item><item><title>Project Panama for Newbies (Part 3)</title><link>https://foojayio.github.io/website/today/project-panama-for-newbies-part-3/</link><pubDate>Mon, 13 Sep 2021 08:53:47 +0000</pubDate><guid>https://foojayio.github.io/website/today/project-panama-for-newbies-part-3/</guid><description>&lt;p&gt;&lt;strong&gt;Updated December 31, 2025:&lt;/strong&gt; This article now features Java 25 and the Foreign Function &amp;amp; Memory (FFM) API, which has been a standard feature since JDK 22 (&lt;a href="https://openjdk.java.net/jeps/454" target="_blank" rel="noopener noreferrer"&gt;JEP-454&lt;/a&gt;
).&lt;/p&gt;
&lt;figure class="wp-block-image size-full is-resized is-style-default"&gt;
 &lt;img fetchpriority="high" decoding="async" width="218" height="407" src="panama_part3.png" alt="Panama for newbies Part 3" class="wp-image-46521" style="width:140px;height:230px"&gt;
 &lt;figcaption class="wp-element-caption"&gt;
 Panama for newbies Part 3
 &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="h2-0-introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Welcome to the third part of the series on Java&amp;rsquo;s Project Panama for newbies. Before jumping into this article, I want to congratulate you for getting this far, you deserve a virtual pat on the back!&lt;/p&gt;</description></item><item><title>Announcement: FXGL Game Engine 11.17 Release</title><link>https://foojayio.github.io/website/today/fxgl-game-engine-11-17-release/</link><pubDate>Tue, 20 Jul 2021 11:23:27 +0000</pubDate><guid>https://foojayio.github.io/website/today/fxgl-game-engine-11-17-release/</guid><description>&lt;p&gt;The &lt;a href="https://github.com/AlmasB/FXGL" target="_blank" rel="noopener noreferrer"&gt;FXGL game engine&lt;/a&gt;
 is now at 11.17. Most of the changes in this release focus on internal code quality and fixes.&lt;/p&gt;
&lt;p&gt;Major additions to note:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Added download file API to NetService. Using this API developers can download files from any URL. For example, if certain assets are stored remotely.&lt;/li&gt;
&lt;li&gt;Rotation and scale in 3D now support origin points (pivot points). This is a beneficial addition since some animations will need specific origin points for transformations to achieve the desired effect.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other minor changes include:&lt;/p&gt;</description></item><item><title>Java in Education: Combining Java with Raspberry Pi and the Pi4J Library</title><link>https://foojayio.github.io/website/today/java-in-education-combining-java-with-raspberry-pi-and-the-pi4j-library/</link><pubDate>Tue, 29 Jun 2021 07:40:55 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-in-education-combining-java-with-raspberry-pi-and-the-pi4j-library/</guid><description>&lt;blockquote&gt;
&lt;p&gt;The interviews in this post are &lt;a href="https://kiosk.entwickler.de/java-magazin/java-magazin-7-2021/java-pi4j-und-raspberry-pi-in-der-bildung/" target="_blank" rel="noopener noreferrer"&gt;part of an article published (in German) in Java Magazine&lt;/a&gt;
.
You can get a 25% discount for a new kiosk subscription with the following code: delporte_kiosk25&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Although a lot of universities and high schools focus on Python and C# in their program, there are luckily a lot of others who go &amp;ldquo;full Java&amp;rdquo;. Don&amp;rsquo;t get me wrong, I definitely don&amp;rsquo;t want to start a &amp;ldquo;programming-languages-war&amp;rdquo;, but Java is the language I used myself more than any other for the last 10 years. Setting up a new project or building a proof-of-concept for a new idea, is a matter of hours. And there is always a solution for the problem I need to solve. This is probably true for each developer who has enough experience in the language used the most. But having used and experimented with many other languages, I still keep returning to my &amp;ldquo;one true love&amp;rdquo;, being Java, as it always delivers the result I&amp;rsquo;m aiming for, with the right amount of code to be readable, understandable, and testable!&lt;/p&gt;</description></item><item><title>Creating Mobile Apps with JavaFX - Part 3</title><link>https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-3/</link><pubDate>Fri, 25 Jun 2021 09:04:04 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-3/</guid><description>&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx---part-1/"&gt;Part 1&lt;/a&gt;
, we introduced a mobile app game, TiltMaze, written completely in JavaFX, which you can download from either the &lt;a href="https://apps.apple.com/app/id1566464439" target="_blank" rel="noopener noreferrer"&gt;Apple App Store&lt;/a&gt;
 or &lt;a href="https://play.google.com/store/apps/details?id=com.asgteach.accelerometer.TiltMaze" target="_blank" rel="noopener noreferrer"&gt;Google Play&lt;/a&gt;
 and install it on your mobile device or tablet. In &lt;a href="https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx---part-1/"&gt;P&lt;/a&gt;
&lt;a href="https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx---part-2/"&gt;art 2&lt;/a&gt;
, we showed you how to work with Gluon and GraalVM to build native images that execute on either Apple or Android mobile devices and tablets.&lt;/p&gt;
&lt;p&gt;In this article, we&amp;rsquo;ll discuss how to upload your application to the respective mobile app stores so the world can install your application on their devices.&lt;/p&gt;</description></item><item><title>Creating Mobile Apps with JavaFX - Part 2</title><link>https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-2/</link><pubDate>Fri, 18 Jun 2021 07:10:41 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-2/</guid><description>&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx---part-1/"&gt;Part 1&lt;/a&gt;
, we introduced a mobile app game, TiltMaze, written completely in JavaFX, which you can download from either the &lt;a href="https://apps.apple.com/app/id1566464439" target="_blank" rel="noopener noreferrer"&gt;Apple App Store&lt;/a&gt;
 or &lt;a href="https://play.google.com/store/apps/details?id=com.asgteach.accelerometer.TiltMaze" target="_blank" rel="noopener noreferrer"&gt;Google Play&lt;/a&gt;
 and install it on your mobile device or tablet.&lt;/p&gt;
&lt;p&gt;In this article, we&amp;rsquo;ll discuss the technologies we use with JavaFX to build the JVM byte code version as well as native images that target iOS and Android devices.&lt;/p&gt;
&lt;h3 id="h3-0-gluonfx-plugin-for-maven"&gt;GluonFX plugin for Maven&lt;/h3&gt;
&lt;p&gt;Gluon (&lt;a href="https://docs.gluonhq.com/#_the_gluon_client_plugin_for_maven" target="_blank" rel="noopener noreferrer"&gt;https://docs.gluonhq.com/&lt;/a&gt;
) has a Maven plugin that lets you build native-image JavaFX applications targeting multiple platforms. While Java has always been about compiling Java byte code that runs in a Java Virtual Machine (JVM) anywhere and everywhere (Write Once, Run Anywhere), there are prohibitions with running byte code in the mobile environment. Besides the performance penalties of executing byte code in a virtual machine and the relatively long startup time, Apple prohibits JVM applications on mobile targets and Android Java is non-standard. If you choose to leave the JavaFX world for native toolkits, you need to acquire expertise in Objective C/Swift as well as the respective native UI toolkits to target these platforms. Spoiler alert: I didn&amp;rsquo;t do that!&lt;/p&gt;</description></item><item><title>Getting Started with Game Development Basics with FXGL</title><link>https://foojayio.github.io/website/today/game-development-basics-with-fxgl/</link><pubDate>Thu, 17 Jun 2021 08:48:28 +0000</pubDate><guid>https://foojayio.github.io/website/today/game-development-basics-with-fxgl/</guid><description>&lt;p&gt;Game Development is a large field of Computer Science with a lot of underpinning theory behind the concepts and practices used in the industry. In this short article, we will learn some fundamental basics of these concepts, which will be explored within the context of the &lt;a href="https://github.com/AlmasB/FXGL" target="_blank" rel="noopener noreferrer"&gt;FXGL&lt;/a&gt;
 game engine.&lt;/p&gt;
&lt;p&gt;However, the concepts themselves are language-agnostic and engine-agnostic. Please note that the material presented here is deliberately simplified to provide a gentle introduction. Those seeking in-depth coverage are encouraged to pursue further research.&lt;/p&gt;</description></item><item><title>Creating Mobile Apps with JavaFX - Part 1</title><link>https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-1/</link><pubDate>Fri, 11 Jun 2021 07:14:27 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-1/</guid><description>&lt;p&gt;Mobile application offerings for both IOS and Android &lt;a href="https://www.statista.com/statistics/271644/worldwide-free-and-paid-mobile-app-store-downloads/" target="_blank" rel="noopener noreferrer"&gt;continue increasing each year&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;In this three-part series, I&amp;rsquo;ll show how to use JavaFX for mobile app development: JavaFX looks great and runs on both mobile platforms.&lt;/p&gt;
&lt;p&gt;You use the same JavaFX code targeting Google Play and Apple App stores. Performance is excellent and startup time is fast with native images. You use Java 11+ and the latest JavaFX.&lt;/p&gt;
&lt;p&gt;Our game is TiltMaze Labyrinth. Figure 1 shows TiltMaze running on an Android Nexus 5X. Figure 2 shows TiltMaze running on an iPhone 8 Plus.&lt;br&gt;
&lt;img src="https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-1/TiltMaze-android-small.png" alt="" loading="lazy"&gt;
 Figure 1. TiltMaze on Android&lt;br&gt;
&lt;img src="https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-1/TiltMaze-iPhone-small.png" alt="TiltMaze on iPhone" loading="lazy"&gt;
 Figure 2. TiltMaze on iPhone&lt;/p&gt;</description></item><item><title>Welcome to the FXGL Game Engine 11.16 Release</title><link>https://foojayio.github.io/website/today/fxgl-game-engine-11-16-release/</link><pubDate>Tue, 25 May 2021 12:10:16 +0000</pubDate><guid>https://foojayio.github.io/website/today/fxgl-game-engine-11-16-release/</guid><description>&lt;p&gt;FXGL is a JavaFX game engine: &lt;a href="https://github.com/AlmasB/FXGL" target="_blank" rel="noopener noreferrer"&gt;https://github.com/AlmasB/FXGL&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="h2-0-release-highlights"&gt;Release Highlights&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;The restored Multiplayer Service allows easy replications of input, events and entities on a remote machine. For example, by just adding a single line of code (see MultiplayerService API), any key or mouse inputs that occur on one end of the connection can be replicated on the other end.&lt;/li&gt;
&lt;li&gt;The new FPS camera allows easy control of the player (or their &amp;ldquo;line of sight&amp;rdquo;) in the context of a first-person 3D game.&lt;/li&gt;
&lt;li&gt;There is no longer a transitive dependency on the &lt;code&gt;javafx.swing&lt;/code&gt; module. This means FXGL users will not need an extra module in their module graph.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="h2-1-release-notes"&gt;Release Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Restored and refactored MultiplayerService&lt;/li&gt;
&lt;li&gt;Added ReplicationEvent (javafx event that can be replicated on a remote machine)&lt;/li&gt;
&lt;li&gt;FPS camera (&lt;code&gt;camera3D.setFPSCamera(true)&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Mouse sensitivity setting&lt;/li&gt;
&lt;li&gt;Removed dependency on &lt;code&gt;javafx.swing&lt;/code&gt; module, thanks to @FDelporte&lt;/li&gt;
&lt;li&gt;Performance improvements in Tiled map loading, thanks to @adambocco&lt;/li&gt;
&lt;li&gt;&lt;code&gt;isExperimental3D&lt;/code&gt; -&amp;gt; &lt;code&gt;3D&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;isExperimentalNative&lt;/code&gt; -&amp;gt; &lt;code&gt;isNative&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Model3D can be loaded from an .obj&lt;/li&gt;
&lt;li&gt;Model3D now has a copy()&lt;/li&gt;
&lt;li&gt;Added Cuboid shape&lt;/li&gt;
&lt;li&gt;EntityGroup::size(), thanks to @adambocco&lt;/li&gt;
&lt;li&gt;Allow providing a custom default cursor for all scenes&lt;/li&gt;
&lt;li&gt;Internal physics refactoring&lt;/li&gt;
&lt;li&gt;Entity no longer throws an exception when adding a duplicate Component (warns instead), thanks to @Zhack47&lt;/li&gt;
&lt;li&gt;JavaFX 15 -&amp;gt; 16&lt;/li&gt;
&lt;li&gt;Compile target for Kotlin: 1.8 -&amp;gt; 11&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-video"&gt;Video&lt;/h2&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/fuDQg7W0v4g?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;br /&gt;</description></item><item><title>Snake Game with JavaFX FXGL in Three Pair-Programming Sessions</title><link>https://foojayio.github.io/website/today/creating-a-snake-game-with-javafx-fxgl-in-three-pair-programming-sessions/</link><pubDate>Tue, 04 May 2021 07:00:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-a-snake-game-with-javafx-fxgl-in-three-pair-programming-sessions/</guid><description>&lt;p&gt;In this article, Almas and I will show you how to start with an idea for a game and bring it to life in a prototype application. We will then modify the application to run on a Raspberry Pi and on a mobile device.&lt;/p&gt;
&lt;p&gt;To give some background, some time ago my 10y old son challenged me to create a Snake-like game with emojis. He selected the emoji images and I &amp;ldquo;only&amp;rdquo; needed to do the programming bit, the easy part&amp;hellip; Luckily Almas asked me if I had a topic for some pair-programming for his &lt;a href="https://www.youtube.com/channel/UCmjXvUa36DjqCJ1zktXVbUA/videos" target="_blank" rel="noopener noreferrer"&gt;YouTube channel&lt;/a&gt;
, and his question turned into a three-part series. My son is delighted because his idea is now a real game!&lt;/p&gt;</description></item><item><title>Modern JavaFX Game Development with FXGL - Pong</title><link>https://foojayio.github.io/website/today/modern-javafx-game-development-with-fxgl-pong-simple/</link><pubDate>Tue, 27 Apr 2021 07:48:29 +0000</pubDate><guid>https://foojayio.github.io/website/today/modern-javafx-game-development-with-fxgl-pong-simple/</guid><description>&lt;p&gt;In this tutorial we will make a very simple clone of the classic Pong game using the &lt;a href="https://github.com/AlmasB/FXGL" target="_blank" rel="noopener noreferrer"&gt;FXGL game engine&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;We will be using the latest (currently 11.15) version of FXGL via Maven (or Gradle):&lt;/p&gt;
&lt;pre class="EnlighterJSRAW" data-enlighter-language="java"&gt;&amp;lt;dependency&amp;gt;
 &amp;lt;groupId&amp;gt;com.github.almasb&amp;lt;/groupId&amp;gt;
 &amp;lt;artifactId&amp;gt;fxgl&amp;lt;/artifactId&amp;gt;
 &amp;lt;version&amp;gt;11.15&amp;lt;/version&amp;gt;
&amp;lt;/dependency&amp;gt;&lt;/pre&gt;
&lt;p&gt;The full source code is available at the end of this page. The game will look like this:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://raw.githubusercontent.com/AlmasB/git-server/master/storage/images/fxgl_pong.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;Whilst this tutorial is meant to teach basic concepts, building on them will allow us to produce much more &lt;a href="https://youtu.be/yhr1b4061os?t=496" target="_blank" rel="noopener noreferrer"&gt;complex examples&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Getting Started with FXGL Game Development</title><link>https://foojayio.github.io/website/today/getting-started-with-fxgl-game-development/</link><pubDate>Thu, 12 Nov 2020 08:24:54 +0000</pubDate><guid>https://foojayio.github.io/website/today/getting-started-with-fxgl-game-development/</guid><description>&lt;p&gt;&lt;a href="https://github.com/AlmasB/FXGL" target="_blank" rel="noopener noreferrer"&gt;FXGL&lt;/a&gt;
 is a Java, JavaFX and Kotlin Game Library (Engine) made by &lt;a href="https://twitter.com/AlmasBaim" target="_blank" rel="noopener noreferrer"&gt;Almas Baimagambetov&lt;/a&gt;
. As my son (almost 10y) challenged me to make a game during my &amp;ldquo;Corona-stay-at-home-time&amp;rdquo;, I had the luck Almas provided me a getting-started with this detailed step-by-step.&lt;/p&gt;
&lt;p&gt;This will be the end result of this tutorial:&lt;/p&gt;
&lt;p&gt;{{}}&lt;/p&gt;
&lt;p&gt;We will make a &lt;em&gt;very&lt;/em&gt; simple clone of Geometry Wars using &lt;a href="https://github.com/AlmasB/FXGL" target="_blank" rel="noopener noreferrer"&gt;FXGL&lt;/a&gt;
, which is a JavaFX game development framework. You can find &lt;a href="https://github.com/FDelporte/FXGLFirstTest" target="_blank" rel="noopener noreferrer"&gt;the finished project of this post on my GitHub&lt;/a&gt;
 as a Maven project.&lt;/p&gt;</description></item></channel></rss>