But he was design in different way – so it hold as many float part as he can.

Exactly, the point is to maintain the most significant part of a (sub)result. The simplest example is multiply, if we think of our two numbers as consisting of a 24 bit integer (all fractional part so: 0.24) and an exponent, then the product simply adds the integer exponents and to store the new fraction part would require: 0.24 x 0.24 = 0.48, so 48 bits for the significand. Since we're using a fixed number of bits those 48 bits are rounded to 24.

First time that I am working for six weeks on a project and still having loads of fun

My three year break has changed me.

Sharing the peace I enjoy, my practice of the day:

Quote from: Herjan

Don't focus on features, finish every item before working on the next thing.

Yup, for the past five weeks, the player still can only walk around the scene. But polishing every detail makes it so rewarding to walk around compared to five weeks ago.One of those rewarding things I made are shaders, for everyone who is lazy/ignorant like me:5 minutes of pure bliss

This week I settled on trying to polish the FM Theremin I wrote a while back, to get it up to a quality where I might post it on itch.io. So far, have made improvements to the GUI, including making panels resizable (giving more "playing" room when the control panel is not needed), and an easier-understand checkbox for whether the "expression" attribute controlled by a slider is a fixed value (independent of Y-axis location) or ranges with the mouse Y position.

I've been slowed down a bit with implementing a decision to eliminate Nyquist aliasing. Am working out a way to automatically scale back the amplitude of the modulator (source of overtones in FM) that takes into consideration the frequency and the degree of modulator feedback. Had to spend time manually listening and charting the frequencies where aliasing kicks in for various modulator Index and Feedback settings, and then on working out good equations/algorithms to fit the data points. It is close to working--last attempt covers the endpoints well but "sags" in the middle. I suspect fixing it is a matter of changing the point at which I reference the data which can be either linear or exponential depending on the stage of the calculation. (E.g., midi notes, piano notes are linear, but the Hz value doubles every 12 steps--do we calculate using the Hz or the midi values?)

Am reminded how important it is as a programmer to learn math for sequences, series and curve-fitting polynomials, as having this handier in memory would have made this much easier to do.

My weather experiments are turning out interesting. The mountains and forests alter the wind flow, and the weather patterns change over the seasons. Now it needs to do something with heat and moisture so it can create rain and snow in the right places.

Developed and trained a (deep? 2 convolutional layers and pooling layers) convolutional neural network to recognize digits out of the MNIST data set to learn more about convolutional nets. Got up to a 99.12% accuracy for the entire testing data set after 20,000 training iterations. Didn't use tensorflow or anything, but managed to utilize C and CUDA to outsource some operations to the GPU making training much much faster.Also got a new laptop! Super pumped about it, 16 GB RAM, 4K screen, GTX 960m, i7 6700HQ. Pretty damn good laptop for the price, and it'll last me at least through undergrad and graduate school. I'm planning to go for my PhD in something with machine learning. I've been interested it for years and now I can finally do something with that after really learning more about it over the past few months.

Today I finished the 17th game for the game advent calendar und solved a wired "bug" with libgdx and the html version. There was a problem with a "method <init>()V not found". The problem was the gwt version 2.8.1 which seems to have problems with the jetty version I used. After switching to version 2.8.0 everything works fine. Sounds easy but many wasted hours are gone ...

But now everythings works fine in html, android und desktop. And I am happy. =)

On another note Apo by looking at your screenshots I'm kind of amazed that you can pull off making so many different games! I mean there doesn't seem to be 2 of the same genre out of the 17! Anyways, keep it up

Aaaaaand Spritesheets! Here's a recording of me hitting the directional keys randomly, like the finely trained monkey I am.

I'm having a lot of confusion though regarding how to deal with these.

The tutorial I was following does spritesheets by applying a scale and translation matrix to the texture via shader (scaling to the size of the cell, translating to the selected index). Since I was getting confused there (and my interface didn't accomodate passing the shader to the render method), I just precalculated the texture coordinates at object creation and instantiated a bunch of buffers.

Not sure which is preferable.

It really shows that up until now I had been doing all my drawing via Java2d

It occurred to me that I only really had controllers working for my game on Windows, so I spent yesterday getting Jinput to work on Linux (through my Raspberry Pi). In the process of that, I broke the Windows controllers, so I had to fix that, then I got the controllers to work on Linux. Today, is all about Mac. I am pretty well versed now on how and why controllers may or may not work on different operating systems, so if any noobs have any questions, now is the time to ask me about it. As of now, my game works with both gamepads and joysticks on Windows and Linux.

So now I can generate tilemaps from data sets. Still got to do some bitmasking so there's more tile variety though, but my current tilesheet is not properly designed to handle bitmask indexing (which is packing the status of nearby tiles into an 8-bit value and have the resulting value match an specific index in the tile map, as seen here)

Finished my final visualization of a variational autoencoder I developed to generate MNIST digits. Essentially my model has learned a generalized method to draw handwritten digits. There's a few more visualizations I coded in but this is an animation of the decoder travelling through a 2D latent space. It's usually more accurate when trained with a much higher latent dimensional space but 2D allows me to easily travel through it and visualize it. This is just an example application of this particular machine learning algorithm. With an expansion of this method combined with a few other tricks a model can be trained to intelligently combine parts of images together. For example train a decoder on zebra images, then feed it a video of a horse running. The scenery in the video will remain untouched but the horse will be modified to look like a zebra. Think of the possible applications with this and faces - imagine being able to take a video of yourself talking and get a video of Obama or some other well known figure saying what you did but with their face and voice. This encoder-decoder structure can do lots of really useful and neat things.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org