Each blob has different color and opacity, but the mixed color (over background) is the same
When working with images and websites I deal with many different tricks and challenges, but some of them slightly more often than others.
Continue reading⚂ Use version control!
Each blob has different color and opacity, but the mixed color (over background) is the same
When working with images and websites I deal with many different tricks and challenges, but some of them slightly more often than others.
Continue reading
Markdown / BB Code / displayed result
Do you write Steam guides and walkthroughs? Or, perhaps, you are a game developer and you have to write game announcements and changelogs now and then?
And if either, has it recently occurred to you that it is not 2008 anymore and writing formatted text in BB Code isn't so convenient, even if sometimes slightly less ambiguous?
In process of working on the recent few big guides, it sure did to me, and this is a post on how to spare yourself of misery.
Continue reading
A small post about using System.IO.Compression.DeflateStream
for compressing data in C# (and Haxe-C#).
(click to interact)
If this looks slightly familiar, that's because it is
Considering that frequency at which people ask me about what it takes to do netcode (and what they need ready for it) continues to rise year-to-year, I figured that it's about time that I finally make a blog post about this.
This one's about deterministic netcode as it is by far most requested and also the kind where it's possible to give more specific advice than "it depends".
Continue reading
This is a blog post about aiming ahead to hit moving targets! It has interactive elements.
Continue reading
This is a small post about the algorithm I wrote for the recent pixel font tool to establish paths of shapes and holes on the image.
Continue readinglabel hello: select dialog("Hello! What would you like to do?") { option "Count to 5": for (var i = 1; i <= 5; i = i + 1) { wait(1); trace(i + "!"); } return 1; option "Nothing": jump yousure; } label yousure: select dialog("You sure?") { option "Yes": trace("Well then,"); return 0; option "No": jump hello; }
Example of supported syntax
As some might remember, earlier this year I have published a small guide on writing interpreters, which went over the process of implementing a basic interpreter capable of evaluating expressions consisting of numbers, operators, and variables.
This continuation of the guide further expands upon concept, outlining how to support calls, statements, and branching - enough for a small scripting language.
Continue reading
(click to interact)
(mouseover/click to play GIF)
(click and drag to adjust rectangle size/position/rotation; distance to a circle is shown)
Suppose you have a rotated rectangle and a basic shape that rotation doesn't matter for (such as a point, circle, or a line segment), and you want to check whether the two are intersecting - be that for collision handling, hit testing, or whatever else.
On a glance this might seem like a bother because things are rarely too simple with rotated rectangles, but in this case it isn't - because you can "unrotate" the rectangle.
This small post is about that.
Continue reading