<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>LibGDX on Smbat Voskanyan</title><link>https://senpie.net/tags/libgdx/</link><description>Recent content in LibGDX on Smbat Voskanyan</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sun, 23 Jul 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://senpie.net/tags/libgdx/index.xml" rel="self" type="application/rss+xml"/><item><title>Talos VFX</title><link>https://senpie.net/post/talos-vfx/</link><pubDate>Sun, 23 Jul 2023 00:00:00 +0000</pubDate><guid>https://senpie.net/post/talos-vfx/</guid><description>&lt;img src="https://senpie.net/post/talos-vfx/talos.png" alt="Featured image of post Talos VFX" />&lt;h1 id="introduction">Introduction
&lt;/h1>&lt;p>Talos VFX is a powerful open-source visual effects editor designed for Java and LibGDX projects. Create stunning particles, shaders, and custom scripts, while seamlessly managing game assets – all from a single workspace. Its intuitive, node-based VFX editor and support for visual programming routines (similar to Unreal Engine&amp;rsquo;s blueprints) empower you to craft dynamic effects. Build 2D levels and scenes with brushes, and bring your creations to life with Spine2d skeletal animations, easily attaching VFX directly to animation bones. While primarily focused on 2D, Talos VFX also offers limited 3D support.&lt;/p>
&lt;p>As a major contributor to Talos VFX, I&amp;rsquo;ve played a role in squashing critical bugs, implementing user-requested features, and refining the overall user experience. As of writing this post I authored around ~50% of Pull Requests on the project. Here&amp;rsquo;s the &lt;strong>&lt;a class="link" href="https://github.com/rockbite/talos/tree/talos-3d" target="_blank" rel="noopener"
>link to project&lt;/a>&lt;/strong>. Note, that active development is carried on &lt;code>talos-3d&lt;/code> branch and &lt;code>master&lt;/code> branch is greatly behind.&lt;/p>
&lt;p>&lt;img src="https://senpie.net/post/talos-vfx/talos.png"
width="2131"
height="1276"
srcset="https://senpie.net/post/talos-vfx/talos_hu9ab9ff59ef09db64b97121e1afd1e09a_1006924_480x0_resize_box_3.png 480w, https://senpie.net/post/talos-vfx/talos_hu9ab9ff59ef09db64b97121e1afd1e09a_1006924_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="On the top-left scene hierarchy, preview and scene editor. On the bottom-left routine graphical editor. On the right node-based particle system. "
class="gallery-image"
data-flex-grow="167"
data-flex-basis="400px"
>&lt;/p>
&lt;h1 id="feature-development">Feature Development
&lt;/h1>&lt;p>Since a lot of features were missing initally and we needed many tools for our prototypes, I had a chance to contribute a lot in this area.&lt;/p>
&lt;h2 id="fake-bvb-bone-attachment-support">Fake BVB&amp;quot; (Bone Attachment Support)
&lt;/h2>&lt;p>Problem: Users were limited in how they could interact with skeletal animations, hindering dynamic effects and customization.&lt;br>
Solution: Implemented &amp;ldquo;Fake BVB&amp;rdquo; functionality, exposing animation bones as restricted game objects within Talos, enabling the attachment of other objects.&lt;br>
Result: Users can now create more complex and visually engaging effects by directly linking particles, objects, and more to
skeletal animations. Examples include attaching characters to moving vehicles or syncing particle effects to bone movements.&lt;/p>
&lt;h2 id="nineslices-support-and-sprite-editor">NineSlices Support and Sprite Editor
&lt;/h2>&lt;p>Problem: Users lacked advanced scaling options for UI and graphic elements, limiting design flexibility. Limited or inefficient tools for sprite editing and managing NineSlice metadata within Talos VFX.&lt;br>
Solution: Implemented NineSlice rendering functionality, providing a system similar to Unity&amp;rsquo;s NineSlices. This allows specific sections of images to be repeated horizontally, vertically, or in both directions.&lt;br>
Result: Improved control over how UI elements and graphics scale, enhancing the ability to create visually polished and responsive interfaces within Talos VFX.&lt;br>&lt;/p>
&lt;h1 id="bug-fixes-and-refinements">Bug Fixes and Refinements
&lt;/h1>&lt;p>I have fixed more bugs than I could remember, however to recall some off the top of my head, then these would be the ones.&lt;/p>
&lt;h2 id="project-explorer-stability-and-user-experience">Project Explorer Stability and User Experience
&lt;/h2>&lt;p>Problem: File management was unreliable, with crashes and unexpected behaviors. Crashes when moving or renaming files. Bad user experience. Poor file search performance.&lt;br>
Solution: Revamped project explorer logic, preventing errors and ensuring a smoother file management experience. Refreshed the UI for more costumization and assets previews. Fast asset lookup.&lt;br>
Result: Increased stability and reliability within Talos VFX, protecting user work. Happy users.&lt;br>&lt;/p>
&lt;h2 id="routine-workflow">Routine Workflow
&lt;/h2>&lt;p>Problem: Editing curves within the Routine App was buggy, hindering intuitive workflow.&lt;br>
Solution: Fixed curve gizmo display and interaction points, including inserting new points and using the ESC key.&lt;br>
Result: Restored smooth and predictable curve editing, streamlining the creation of dynamic effects within routines.&lt;br>&lt;/p>
&lt;h1 id="concusion">Concusion
&lt;/h1>&lt;p>Through this project, I&amp;rsquo;ve learned many new topics and significantly improved my knowledge in Java, libGDX, and 2D engine development tools. It was both challenging and rewarding to work with a community of people directly affected by my contributions. Seeing others use Talos VFX to create amazing games is a deeply satisfying experience.&lt;/p></description></item><item><title>Battle Cards: Real-time PVP</title><link>https://senpie.net/post/battle-cards/</link><pubDate>Fri, 25 Feb 2022 00:00:00 +0000</pubDate><guid>https://senpie.net/post/battle-cards/</guid><description>&lt;img src="https://senpie.net/post/battle-cards/battlecards-bg.png" alt="Featured image of post Battle Cards: Real-time PVP" />&lt;p>Check out &lt;strong>&lt;a class="link" href="https://play.google.com/store/apps/details?id=com.rockbite.battlecards" target="_blank" rel="noopener"
>Battle Cards&lt;/a>&lt;/strong>! It was an incredible journey that began at the &lt;strong>&lt;a class="link" href="https://globalgamejam.org/2021/games/realtime-battlecards-9" target="_blank" rel="noopener"
>Playcrafting NYC Game Jam 2021&lt;/a>&lt;/strong>. Our team managed to create a compelling multiplayer prototype in just two days, earning recognition from the judges. Built with Java, LibGDX, and a Node.js backend, we had a solid foundation for a full release. Seeing the positive response, we decided to take &amp;ldquo;Battle Cards&amp;rdquo; to the next level. After a year of dedicated development, we launched a polished version that players genuinely enjoyed.&lt;/p>
&lt;p>&lt;img src="https://senpie.net/post/battle-cards/battle-cards-0.jpeg"
width="590"
height="1080"
srcset="https://senpie.net/post/battle-cards/battle-cards-0_hueb5e5c24123d5ee684c61a5d1c6a1652_397805_480x0_resize_q75_box.jpeg 480w, https://senpie.net/post/battle-cards/battle-cards-0_hueb5e5c24123d5ee684c61a5d1c6a1652_397805_1024x0_resize_q75_box.jpeg 1024w"
loading="lazy"
alt="Main page for searching a match"
class="gallery-image"
data-flex-grow="54"
data-flex-basis="131px"
>&lt;img src="https://senpie.net/post/battle-cards/battle-cards-1.jpeg"
width="592"
height="1080"
srcset="https://senpie.net/post/battle-cards/battle-cards-1_hu11c7ab14234c447f9c89cbc62e465f79_523041_480x0_resize_q75_box.jpeg 480w, https://senpie.net/post/battle-cards/battle-cards-1_hu11c7ab14234c447f9c89cbc62e465f79_523041_1024x0_resize_q75_box.jpeg 1024w"
loading="lazy"
alt="The battle arena"
class="gallery-image"
data-flex-grow="54"
data-flex-basis="131px"
>&lt;img src="https://senpie.net/post/battle-cards/battle-cards-2.jpeg"
width="592"
height="1080"
srcset="https://senpie.net/post/battle-cards/battle-cards-2_hu5fe3390afd1012ea7c16ac4c639de51e_645366_480x0_resize_q75_box.jpeg 480w, https://senpie.net/post/battle-cards/battle-cards-2_hu5fe3390afd1012ea7c16ac4c639de51e_645366_1024x0_resize_q75_box.jpeg 1024w"
loading="lazy"
alt="Card collection"
class="gallery-image"
data-flex-grow="54"
data-flex-basis="131px"
>&lt;/p>
&lt;p>My contributions centered on the UI, ensuring new features, code refactoring, and optimizations all worked toward a seamless player experience. However, being part of a small team meant I got to wear many hats! I contributed to gameplay programming, designed some eye-catching VFX, and tweaked the backend for better performance. For our marketing efforts, I created a compact 2MB playable ad to showcase the heart of the game.&lt;/p>
&lt;p>Additionally, I collaborated closely with our analytics team to improve dashboards, graphs, filters, and other tools. Our goal was to make analyzing user experience more accessible, enabling us to make informed game design changes. Ultimately, my focus was on making sure &amp;ldquo;Battle Cards&amp;rdquo; didn&amp;rsquo;t just look good – it had to play well too. It was a challenging, yet incredibly rewarding project.&lt;/p></description></item><item><title>Sandship: Crafting Factory</title><link>https://senpie.net/post/sandship/</link><pubDate>Mon, 15 Feb 2021 00:00:00 +0000</pubDate><guid>https://senpie.net/post/sandship/</guid><description>&lt;img src="https://senpie.net/post/sandship/sandship-bg.png" alt="Featured image of post Sandship: Crafting Factory" />&lt;p>Explore the world of &lt;strong>&lt;a class="link" href="https://play.google.com/store/apps/details?id=com.rockbite.sandship" target="_blank" rel="noopener"
>Sandship&lt;/a>&lt;/strong> blends the vastness of a Dune-like world with the addictive mechanics of Factorio. It was one of my first projects at Rockbite Games and offered an array of exciting technical challenges. I played a crucial role in crafting the game&amp;rsquo;s UI, implementing new elements, extensively refactoring for efficiency, and squashing bugs. Java and LibGDX were my tools of choice.&lt;/p>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/QR5Kn37fHyY"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;p>My work wasn&amp;rsquo;t limited to just the UI. As part of a small team, I contributed in many areas from backend development to gameplay programming. One standout feature for me was the &amp;ldquo;News&amp;rdquo; system. To keep players connected, I built a Node.js microservice allowing our Community Management team to post website updates that seamlessly appeared in-game.&lt;/p>
&lt;p>Ultimately, I made sure &amp;ldquo;Sandship&amp;rdquo; delivered a visually engaging and smooth player experience. Tackling these challenges was as rewarding as seeing players immersed in the world we built.&lt;/p>
&lt;p>&lt;img src="https://senpie.net/post/sandship/sandship-1.jpeg"
width="1920"
height="1080"
srcset="https://senpie.net/post/sandship/sandship-1_hu1f2ced91771ffa736a99e93a73a6b369_270530_480x0_resize_q75_box.jpeg 480w, https://senpie.net/post/sandship/sandship-1_hu1f2ced91771ffa736a99e93a73a6b369_270530_1024x0_resize_q75_box.jpeg 1024w"
loading="lazy"
alt="Outside view. You can see the Sandship itself and crafting buildings on top of it."
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
>&lt;img src="https://senpie.net/post/sandship/sandship-2.jpeg"
width="1920"
height="1080"
srcset="https://senpie.net/post/sandship/sandship-2_hu1f2ced91771ffa736a99e93a73a6b369_514812_480x0_resize_q75_box.jpeg 480w, https://senpie.net/post/sandship/sandship-2_hu1f2ced91771ffa736a99e93a73a6b369_514812_1024x0_resize_q75_box.jpeg 1024w"
loading="lazy"
alt="Inside a Sadnship building."
class="gallery-image"
data-flex-grow="177"
data-flex-basis="426px"
>&lt;/p></description></item></channel></rss>