What I did today

Today I began writing a WebAssembly assembler in TypeScript/JavaScript using the same nice visitor-pattern approach taken by the ASM framework for Java. I wanted to have a plain JavaScript wasm assembler for a while to generate modules at runtime with JavaScript but could not find any. Those I could find were either full-blown LLVM-based tools written in C/C++ or for other languages.
So here we go (example runs on Node):
The format itself it very nicely documented here: https://webassembly.github.io/spec/core/binary/index.html
Of course the whole comes with proper type support to help avoid using opcodes where they are not allowed.

EDIT(left): Implementing the clamp() function with if-then-else control-flow blocks (yeah, could have been done simpler using f32.min/max :slight_smile:
EDIT2(right): Added an API similar to asmjit to drastically simplify writing instructions and provide auto-completion on the opcodes:

It was funny dayā€¦

Iā€™ve started making town in my game and Iā€™ve found that itā€™s easy to make a mess by dropping items on the floor (it stays there untill somebody picks it up). So Iā€™ve started to think about some mechanism of cleaning the floor from garbage.

First idea was making cyclic checking and removing old items from the floor. But it was a littleā€¦ without spirit :frowning:

So what I did? Iā€™ve created NPC called ā€œTrashyā€. His role is to sniff around for items dropped on the floor and picking it up. Yeah, sure butā€¦

First thing that came to my mind after implementing is that itā€™s so funny to just drop garbage intentionally only to watch someone cleaning it for you. Thatā€™s soā€¦ human.

So Iā€™ve created another thing- incinerator room, where anyone can try to convert garbage into materials (low rate- item dependant). If you donā€™t do it yourself- Trashy will get your potential valuable materials instead :smiley: I am so proud of this weird solution xD

VIDEO:

ZocFkwFska0

Shouldnā€™t this all be in a WIP thread?

Wellā€¦ I wanted to share what I did today and tell you funny story related to it (with video ref). I am maintaining WIP as well

Iā€™ve been thinking about making a X11 WM in Java and yesterday finally got into it and today got it working into a somewhat usable state.

https://puu.sh/A9PSu/4c7d81a35f.png

It uses a combination of native X11 and GLFW, all window decorations are rendered using NanoVG. Also going to work on a compositor because I want to do some fancy stuff. People who has seen previous replies may see similarity, thatā€™s because it uses the same UI system and going to use the same compositor as the game engine Iā€™ve shown.

I implemented a walljump feature (yesterday ) ;D

Forum Thread: http://www.java-gaming.org/topics/heroic-jumpers-alpha-desktop/38436/view.html

Reworked the homepage for Lethal Running and set up an Itch.io site.

www.lethalrunning.com
itch.io/lethalrunning

-jrifGzgVjs

I realized making an isometric game might be beyond the scope of my knowledge being new to LibGDX, so I scrapped that idea and will either make the game top down or top down / angled back, like how Earthbound is for a lot of the game. Like thisā€¦does anyone know what this style/camera view is called? Or what axis and angle the camera is rotated? I messed around with it for a while last night but couldnā€™t really get it to look right.

Released Basingstoke. Well, in about 1 hour :slight_smile:

Cas :slight_smile:

Awesome! Congrats man!

@FabulousFellini

Have a look at the bottom right, the camera is looking down at an 45Ā° angle, the stuff in your example is not rendered though so i donā€™t think the perspective is consistent.

Dude, thanks! Thatā€™s a huge help and will also help me understand the isometric angles too!

I just managed to generate a self-contained application from my java project, complete with Windows installation file: ā€œToneCircleDroneApp-1.0.exeā€

As Iā€™m new to this process (unlike princec), it took a lot longer than 1 hr. But now that I have a working path, when I update the code and do this again, it should be pretty simpleā€“just a matter of dropping the source code in the right place and running the Ant build.exe that I made using the following tutorial example (with modifications, of course).

Deploying the JavaFX Hello World Example as a Self-Contained Application
I went ahead and set this up my application as a Java 9 project, using Oracleā€™s Deployment Guide. Converting to Java 9 went smoothly.

This build.xml also made a Webstart complete with .jar, .jnlp, and a .html for testing purposes. But I donā€™t plan to deploy as a WebStart, so will probably just ignore these or figure out how to shave the generating code from the build.xml.

I wasnā€™t able to figure out the ā€œexternal jarā€ example that follows the example above. So as a work-around, I made a ā€œsource code onlyā€ jar export, and unpacked that into the src folder. All the code was DIY, no libraries. But it would be nice to understand how to reference a .jar. Should I post a question at jgo on this which shows the build file and the error messages I get?

Next up:

  1. A bit of debugging I put off for the app itself. (There is a intermittent timing problem to fix that I came across while playing along with my new app.)

  2. Figure out the steps required to hone down the packaged jre using JLink. If this proves too hard, can just skip the step! The app is 179 MB. Maybe that is not so terribly large. Of this, 177 MB is the runtime.

  3. Learn how to get this onto itch.io!

I have some more documentation to write, too.

Hey! What is the best way to give customers files that they can load into the application? I have lots of .xml files that can be loaded and played. Iā€™ll have a dedicated websiteā€“just put them in a zip for people to download and unpack?

It would be nice if the Install included some files for loading. Unclear to me how this is done.

Just to answer your question, this is called an orthographic rpg viewpoint. The specific angling of some of the areas is just part of the artstyle. Robot Farm uses a similar viewpoint and a similar cartoony artstyle too, but we tried to make ours unique so that it wouldnā€™t be instantly recognizable as ā€œlooking like Xā€ or something.

Speaking of Robot Farm, this is a bit old, but weā€™ve been working on combat a bit. This screenshot is of an attack called ā€œZekkai,ā€ which is similar to Kaio-Ken from Dragonball. The cool thing about is that it works as a buff to attack, but the twist is that you turn it on and off manually (I.E. it doesnā€™t wear out after a few turns) and it instead consumes stamina each turn and can eventually start killing you once you run out of stamina. Thereā€™s also alternate Zekkaiā€™s for each stat category (speed, defense), and they can be stacked, at the cost of more stamina with each one. So Iā€™m excited to see how itā€™s used by players since you can use it to turn the tides of battle (literal meaning of Zekkai), but maybe at the cost of causing a team member to be killed by the resource implications.

Sorry for the long-winded post, but I havenā€™t really gotten to ramble about this yet and wanted to get it out of my system!

Successfully used JLink with my ToneCircleDrone project.

The tcd-image file folder is 74MB. (Still have to figure out how to incorporate this into packaging.)

A previously packaged iteration with the complete runtime was 179 MB. So thatā€™s a reduction to what, about 2/5th of the larger size?

I ran into problems trying to get this to work, but they were mostly due to ignorance about command-line Java commands and how the shell environment works.

Not today, but over the last few days Iā€™ve cleaned up and refactored many things in my platformer game that Iā€™m working on since 1Ā½ years now. I hope that Iā€™ll be done with the programming parts in a few weeks and can start making more levels, more art and the story soon.

There are three things I learned during development so far:

  • donā€™t write your own markup language (inspired by TreeML) for data files, use JSON instead
  • if youā€™re not good at drawing, use vector graphics, either Blender or Inkscape for in-game art
  • the first 90% of code take 90% of time, the last 10% take the other 90% of time :wink:

Havenā€™t visited here since quite a few months now, and Gosh, itā€™s quiet in here! Does no one use Java for game programming anymore?

Cheers

Boosted my level creation pipeline by adding a ton of improvements to my level editor. At least making a GUI is comfortable with JavaFX :wink:

179MB really isnā€™t too bad given the ever growing storage space today.

Cheers

I managed to get as far as creating ToneCircleDrone.1.0.exe today, using command-line Java and javapackager and jlink. Whether it works or not, IDK. Iā€™m scared to try running it. Iā€™m just happy the javapackager -deploy command executed without error. Maybe tomorrow morning.

I did click it and a standard Windows install program started. I quickly cancelled out.

The .exe file is 40MB. The file folder source is 73MB and has a customized runtime. With the full-sized runtime, it would be 178MB.

I still have to put in an .ico file. Am wondering about adding some more compression and/or obfustication.

I made extensive notes of the process. Every error along the way has been recorded, as well as some choice explitives. Maybe Iā€™ll write a tutorial. It will show how to do this ā€œthe long wayā€ with every step discussed in detail. I will aim it for programmers like myself who have remained blissfully ignorant of OS command shells & commandline Java, thanks to having a magical IDE.

Fingers crossed. This plan assumes the exe I made actually works.

Added OpenJDK and OracleJDK 10 and 11 builds of JOML to its Travis configuration. Using OpenJDK 11ā€™s javadoc actually caught some HTML errors. Also now the artifacts are automatically deployed to the oss.sonatype.org Maven repository once the build completes, following this nice howto example: https://github.com/making/travis-ci-maven-deploy-skelton.
The times when I would forget to deploy a change by hand are finally over now! :slight_smile:

Finished (somewhat) a new track: