This shows how to build a nontrivial program using Zig+Emscripten or C+Emscripten.
In both cases Emscripten is only used as a linker, that is the frontend is either zig
or clang
.
"Nontrivial" here means the program uses interesting Emscripten features:
- Asyncify
- Full GLES3 support
- GLFW3 support
The past few weeks has not been fun on IRC, the drama based on false information and assumptions has been insane. I've almost entirely been silent on the drama because I know the fallout that would happen if I spoke up.
A quick TLDR - I'm quitting all IRC development. KiwiIRC project lead, IRCv3 technical board, supporting the multitude of IRC networks, the lot.
Many people seem to think that I am supporting one side in everything that is going on, so just to be clear: I am not supporting any side of the current freenode drama - there is so much false information going around from everywhere that it is impossible to support anybody.
Delivered-To: [email protected] | |
Received: by 2002:a05:6e04:81d:0:0:0:0 with SMTP id m29csp2761731imz; | |
Sat, 24 Apr 2021 14:30:20 -0700 (PDT) | |
X-Google-Smtp-Source: ABdhPJxMCxhTldBA8rP/kPZJJwgcJXsyGdm4lDd9HwMSjKNFnpqg74+32TyctDt/s7vVEfaSiBhJ | |
X-Received: by 2002:a05:6214:1470:: with SMTP id c16mr11201345qvy.60.1619299819931; | |
Sat, 24 Apr 2021 14:30:19 -0700 (PDT) | |
ARC-Seal: i=1; a=rsa-sha256; t=1619299819; cv=none; | |
d=google.com; s=arc-20160816; | |
b=R+rRdnvpN0QetcNLWfgeAdLiqrbg69XcZApGynPOxVxTMOLHRvPpmrb1r4YccIXXWD | |
dBdDe2AZrV6eoawy6sGsNnsDRXTQv8nvJrDgXIMmZOF/MnQBTCWW7+iW/W98xw47OJVm |
I was drawn to programming, science, technology and science fiction | |
ever since I was a little kid. I can't say it's because I wanted to | |
make the world a better place. Not really. I was simply drawn to it | |
because I was drawn to it. Writing programs was fun. Figuring out how | |
nature works was fascinating. Science fiction felt like a grand | |
adventure. | |
Then I started a software company and poured every ounce of energy | |
into it. It failed. That hurt, but that part is ok. I made a lot of | |
mistakes and learned from them. This experience made me much, much |
A couple of weeks ago I played (and finished) A Plague Tale, a game by Asobo Studio. I was really captivated by the game, not only by the beautiful graphics but also by the story and the locations in the game. I decided to investigate a bit about the game tech and I was surprised to see it was developed with a custom engine by a relatively small studio. I know there are some companies using custom engines but it's very difficult to find a detailed market study with that kind of information curated and updated. So this article.
Nowadays lots of companies choose engines like Unreal or Unity for their games (or that's what lot of people think) because d
Convert PCF and BDF files to bitmap only OpenType (.otb) using fontforge | |
If you have a new enough fontforge, the python version of this script can | |
optionally read filenames from standard input, generating multiple .otb | |
font files as it finds new families. It also handles gzipped PCF and BDF | |
files. |
FOOD | |
leaf aloe - heal <5> | |
(alchemy 65) potion of greater healing | |
silver leaf - cure disease, alleviate poison <2> | |
(alchemy 25) restoring potion (see POTIONS) | |
purple leaf - cure confusion | |
gold leaf - cure disease, cure poison, cure confusion |
[K 1+k 0 1 1lxlx*+v--lx/sxlf 2*sflx .5<=]s= | |
[K 1+k 0 1 1lxlx*+v--lx/sxlf 2*sflx 0 .5->>]s> | |
[ltklxlc*ld/Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lss.Lts. 3Q]s@ | |
[lbls*sblcla*ldlb*+scldla*sdlcld/sglgle=@ lgsela 2+dsas. 1 1=?]s? | |
[0St0Ss0Sg0Sf0Se0Sd0Sc0Sb0SaSxlx 0=< Kst 1sflx .5<= lx 0 .5->> 0lx-lx*sslfsblfsc 1sd 1se 3dsas. 1 1=? Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lss.Lts.0 1Q]sQ | |
50k | |
4 1lQx*ps. |
#include <stdio.h> | |
#define SQ(x) (x)*(x) | |
#define M0(x,y) SQ(x)+SQ(y)<4?0:0xe0 | |
#define M1(x,y,x0,y0) (SQ(x)+SQ(y)<4)?M0(SQ(x)-SQ(y)+(x0),2*(x)*(y)+(y0)):0xc0 | |
#define M2(x,y,x0,y0) (SQ(x)+SQ(y)<4)?M1(SQ(x)-SQ(y)+(x0),2*(x)*(y)+(y0),x0,y0):0xa0 | |
#define M3(x,y,x0,y0) (SQ(x)+SQ(y)<4)?M2(SQ(x)-SQ(y)+(x0),2*(x)*(y)+(y0),x0,y0):0x80 | |
#define M4(x,y,x0,y0) (SQ(x)+SQ(y)<4)?M3(SQ(x)-SQ(y)+(x0),2*(x)*(y)+(y0),x0,y0):0x60 | |
#define M5(x,y,x0,y0) (SQ(x)+SQ(y)<4)?M4(SQ(x)-SQ(y)+(x0),2*(x)*(y)+(y0),x0,y0):0x40 |