png-font.js

using a bitmap font to write text on canvas. 

When I made the game engine, my first idea was to make everything in English. But then I noticed most people really like localized text, and supporting more languages is as important as supporting many platforms.

When I started writing what you have to be different so I could support different languages, at the end point, I had a problem with my selected pixel font, which didn't supported many characters. And fonts with more characters just were too big in size.

After asking on Twitter, people pointed me to the GNU UNIFONT, and since the Font is awesome and actively maintained, I decided to use it! Paul Hardy sent me a lot of material so I could learn the basics on fonts, which I knew nothing.

Instead of using the true type font, which is around 12MB, I got it's source bitmap, converted it to png, and wrote a js script to allow me get the glyphs from the png and place on html canvas, with the minimal things for a sane use - like word wrapping. Total size is now 840kB, which loads faster!

This lead me to build this tiny js script, the png-font, which you can get here: github.com/ericoporto/png-font .  I sent an email to FSF regarding licensing, but I read the GNU embedding exception clause and interpreted that it's ok to use it in this lib with MIT license.

There is also a demo here: ericoporto.github.io/png-font


Just a video demonstration

This is just a video of the FGMK making a chest by modifying the tile map.

One of the important concepts is that you are free to edit any tile - the building blocks of the these 2D world - in any place in the map, and it's ok to do it.
FGMK 

FGMK is my first attempt at a game maker

Since the post A tilemap in PyQt for a bigger game Project I have been working in something that at the time I wasn't quite sure of what it was. And now I think I am going somewhere. I present you my game maker, named FGMK.


At the time of this writing, I am at version 0.5.3, I have a huge backlog of things I want to implement: scripting, plugins, monster design, hero design, skill design, scripted battles, ...

So what's this? Well, a long time ago, I participated in the 2012 edition of the Global Game Jam. At the time, the game we made (with Unity) could be played in the browser, but required plugins. So the person that wanted to play your game had to install the Unity plugin. The Unity plugin was available only to Windows, so not only you had to convince the user to install it, he had to use the specific system to play the game. 

At the same Global Game Jam, a guy made a game with HTML and Javascript. The game was great, and you only needed a browser to play the game. And no plugins. I was impressed. Small code, that worked well anywhere. And the code at the time was just there, no license. I talked to the single developer of the game, asked if I could take the code, look at it, and build something VERY similar. This guy is Lino and the game he made was Redo. He said "sure, code is fine, the assets I have to ask to not to use because I am using in a game I am publishing".

So at first I made a simple python visualizer for the maps in Redo (this was around August 2014). And then I decided, ok, time to make an engine I can freely script. The engine evolved, I decided to try to build a map editor... And after lots of commits, and lots of refactoring to have something that you could run in most operating systems (Win, OSX, Linux)... Now I have something I feel it's ok to be kind of proud.

So FGMK was to be an acronym of Fan Game MaKer. It's also easy to type in the shell, because I typed this string a lot.

The Github page is github.com/ericoporto/fgmk . If you have Python3 (and pip), you can install using:

pip3 install fgmk

And that's it. When I reach a nice 1.0.0 I will release real packages for the three main operating systems.

If you are only curious about the engine, the code is in github.com/ericoporto/fgmkJsEngine and there is a demo here. The demo should run in anything that has a keyboard or a touchscreen. And you only need a browser.

NIK Filters in GIMP, Wallpapers, a book and some more!

Been a long time since I've written something here. So I thought I should post some small things I've done in the mean time.

Running NIK Collection filters on GIMP

I am slowly transitioning to use GIMP more. It's far easier once you've made it to look just like Photoshop - look this guide or this theme - if that's what you are coming from. 

Recently, Google made some filters from NIK, a company it acquired that also makes the app Snapseed for Android, available for download for free. If you look the website, the filters seem awesome. Looking on the web you will findout that people have made it run with GIMP in Windows.

But I also ditched Windows some time ago, and am using Ubuntu. So I decided I would use them in Ubuntu. There isn't much to say here other than, yeah, I've done it, using Play On Linux, both the script for Play On Linux and for Gimp are available for download in the repo below.


This was very useful and allowed me to use them on some images...

A Repository for my Wallpapers

So I don't have a Camera. I mean, a real one, with lots of fun manual controls. My smartphone recently died and I changed to using a Moto X Play - which I feel it's an awesome phone. And it has a 21 Megapixel camera, that although isn't the best on market, can take decent photos on good lighting.

With this, and the new filters, and the fact that I am learning how to use Darktable, I decided to post online the photos that I feel are nice enough to be used as wallpaper by other people. Link below.



And that thing about a book...

Writing is something I am very slow. Like I take a lot of time between writing, reading, rewriting, rereading... But I decided to write something that I think should be easy for everyone, which is building your own computer. I know, desktops aren't exactly the hottest topic in 2016. But building PCs is something I really enjoy doing, reading on the trends, benchmarks, looking up YouTube videos showing the fps for games. Yeah, so hey, it's right here, How to Build A PC.



And what more?...


I feel like I have less and less free time in life the older I get. So there isn't much more. I've made a gist in github in the mean time to throw some homeless scripts and texts, maybe some stuff there will grow in the future. There is a link to my gist down here.


bye for now!


Powered by Blogger.