~I AM FEELING… DREAMY~

A new, completely free to play game is already in development. It will be called “Little Room”, and will be based around a similar concept of that of P.T. (without the horror elements). The core concept will be exploring the same room over and over, while paying attention to how said room gradually changes.

The message it will try to deliver will be kept secret for now, however it will keep a light-hearted atmosphere for everyone to enjoy. A short, simple, yet interesting little tale.

Ribbon

For more information, stay tuned.

And as always, thank you for reading~

Several projects these days involve the use of images, being in the form of pictures, portfolio artwork, sprites or even animations. And depending on the medium, the file size of said resources can be very important for loading times.

This is especially true when the project is none other than a game, where the asset folders can be flooded with that type of media. And also when using resource heavy software engines like Photoshop and Illustrator, that aim for incredible image quality for the cost of increased file size. However, there are programs that aim to keep the quality and reduce the file size.

Radical Image Optimization Tool or RIOT, is a very handy piece of software that essentially reduces the quality of an image to drastically reduce the file size. Do not worry however, because the lost quality is in most cases barely visible or irrelevant.

RIOTRIOT handles JPEGs, PNGs and even GIFs, with the capacity of doing batch editing to apply the same compression on folders filled with images. Offering:

  • Transparency options.
  • Basic image editing tools.
  • Automatic optimization that offers the most suitable format and parameters on a per image basis.
  • Low use of computer memory and resources.
  • Simple to use interface.
  • The ability to keep the metadata of the files.

And the best part of this software is that it is completely FREE TO USE!

If you believe you can find use of this piece of software, do give RIOT a try.

 

And as always, thank you very much for reading my blog~ 🙂

 

UPDATE AS OF DEC 3 2017: Yes, it has been a while. I just wanted to warn anyone that intended to make use of this software, while also making use of the Unity game development engine. For a reason, even though images do get compressed to the size they should, any subsequent import settings changes to that image in the Unity editor might take a lot to process. Simply put, if you compressed several images for your Unity game, almost any little change you make to that image will take unity unusually long to finish, so be warned.

There are other tools in the software suggestion section that also compress images, but don’t cause any problems, so be sure to check those out instead.

Many games in the market today try to include a certain feature never seen in games from the early days, procedural generation.

But what exactly means to “procedurally generate” or “randomly generate” a game?

In essence, it means that the game has the ability to provide a fresh new start or level everytime the player or developer desires. While attempting to give a completely different experience compared to previous content. The key value is that it offers INFINITE REPLAYABILITY to a game, by always being able to provide new content via pre-established algorithms with the usage of random values.

Being with new levels on the press of a button or on a daily basis, many games now base their core mechanics around this feature with the so called “Rough-Like” or “Rough-Lite” elements.

But what if the developer chooses that everyone should get the EXACT SAME EXPERIENCE? What if the desired feature came in the shape of a daily or weekly challenge?

One option would be to have a central server where everyone can download said content, however, not all have a connection available at all times to do so. This is where random seeding comes in handy.

Computers can’t be “random”, in order to select a value from a certain range, they have to do so in a logical way. For most, if not all cases, whenever asked to fetch a random value a modern computer makes use of the current time and date to make that operation. Since time keeps changing, so will the values they return. Random seeding is in essence to lock the value they use to make operations.

Taking KNIGHTS for example, it has the feature to make levels on its own everyday.

SeedingTo explain in few words, KNIGHTS makes 75 daily levels divided into 3 level packs, 25 a piece. To avoid a massive slowdown on start, if the level that the player wants to try has not been selected that day, it will generate it when the player picks it. As you can see this triggers a call to make said level, while giving a number value that is essentially the date + a number from 0 to 74 (or which of the 75 daily levels they want).

And what to we have immediately at the beginning of that call?

Seeding 2With the date + level number, the** random values will be locked before making the level** so the “randomized” values that are used, are actually calculated by the seed you entered.

As a rough example, if a seed is set, no matter how many times you ask the computer to give a number between 1 and 10, it will always give the same number. However, if with the same seed another operation asks for a number between 5 and 10, that value will be different than the one from 1 to 10, but will never change either. In essence a seed allows any computer to give the same answer to different questions as the rest. It is important to note however that a random number from 1 to 10, and from 5 to 10,  ARE different questions. While asking for a number from 1 to 10 at different moments IS ALSO asking a different question. But do know that all computers will give you those answers in the same order.

Computers

 

This is why you need to change the seed (to a known value) everytime you make a new level, to avoid getting the exact same result everytime. Or change it at the basis that best suits your project.

KNIGHTS makes 75 levels a day, and since the date is never the same 24 hours later, using a level ID + the date, makes the trick for this project.

 

And again, thank you for reading my blog~