anton mikhailov

5.6K posts

anton mikhailov

anton mikhailov

@antovsky

Principal scientist at Adobe, co-creator of PSVR & PS Move, spatial tools programmer on Dreams and Substance 3D Modeler, alife enjoyer 🌱

Visual Studio Katılım Ocak 2011
500 Takip Edilen3.2K Takipçiler
Sabitlenmiş Tweet
anton mikhailov
anton mikhailov@antovsky·
I've made a live calculator to easily play with computations, formulas and plots. youtube.com/watch?v=zIYxNQ… Builds for Windows / Linux / Mac in thread.
YouTube video
YouTube
English
2
1
39
10.8K
anton mikhailov
anton mikhailov@antovsky·
Maybe it's just me, but the biggest "problems" I face in solo development are usually psychological problems (motivation, focus, confidence, starting, finishing etc). So I'll take a hit on "goodness" in order to get any improvement on those metrics (which I think pays back in overall quality). Zen and the Art of Motorcycle Maintenance has a great discussion of this (though it's toward the end).
English
0
0
0
20
Koleman Nix
Koleman Nix@kolemannix·
@antovsky "Own is better than Good" is living rent-free in my head today. Maybe the cross-product is reversed but I can just fix it. Maybe my arena has a ridiculous edge case but I will just fix it. The motivation drain of just hitting 'accept' on or is extremely relevant. I'd even venture to say that once you do hit it's often the beginning of the end.
English
1
0
3
110
Dark Hooded Rebel
Dark Hooded Rebel@darkhoodrebel·
It has it's places and usecases, but for me working solo it induced more headaches than it solved problems. Code readability, abstractions over abstractions, slower compilation times and so on. I learned a simplistic "dumb" code style that I can read and understand at first glance works better for me. To quote @antovsky: "Code like a 5 year old with 30 years of experience" (hope I got the quote right lol) Tho this does not mean I don't use more modern stuff, for instance I really like the type safe std::format/println stuff, and in some cases templates just make sense, no dogma - I just pick what works for me, but over all the code looks more like C I guess, structs-only, public by default, explicit types, prefering fixed sized arrays and so on..
English
1
0
1
83
anton mikhailov
anton mikhailov@antovsky·
Fun times streaming some Instructobots development right now since I've got the week off, join the discord if you wanna follow along :) discord.gg/cTxDdzwyw9
English
1
0
21
1K
anton mikhailov
anton mikhailov@antovsky·
Come see a sneak peek of the game @nicbarkeragain and I have been working on! We're also doing a live podcast with @wookash_podcast about it tomorrow :) If you have any questions about the game/tech just reply here, and we can try to answer live on stream 🫡
Ben Visness@its_bvisness

The first video from the Handmade Network Expo is finally going live in just 30 minutes! @nicbarkeragain and @antovsky have joined forces in a game studio called Ostrich Effect, and today they're ready to show their first game: an RTS with a programming twist. Link in thread ⤵

English
3
6
58
6.3K
anton mikhailov
anton mikhailov@antovsky·
That's some dedication! <3 I figured part of our job would be to wake Wookash up but at this rate I think he's gonna be more awake than us. Gonna have to bring the A-game.
Łukasz | Wookash Podcast@wookash_podcast

In 9 hours we livestream a discussion on upcoming game by @nicbarkeragain and @antovsky My schedule: - 5am wake up & walk the dog - 5:30am espresso - 5:45am espresso (start stream, warmup) - 6am espresso - official start youtube.com/watch?v=RY59NK…

English
1
0
18
1.1K
anton mikhailov
anton mikhailov@antovsky·
@cmuratori I just watched your chat with Marc about random item selection, and you were mentioning the Proper way to handle the mod. Here's the impl I use, which is nabbed from the PCG paper and I believe has a full proof there: INLINE u32 u32To(RNGSTATE_REF rng, u32 max) { /* This code is adapted from: pcg-random.org, basic generator C file (pcg-random.org/downloads/pcg-…) The loop is guaranteed to terminate if the generator is uniform. The chance of this loop re-rolling is roughly proportional to the range For small ranges up to say 1024, the chance is around 0.00002%, or 1 in 4 million. For medium ranges of say 2^16, the changes is around 0.002% or 1 in 66 thousand. So it's safe to say for "most" cases, it will return without actually looping. */ u32 threshold = -max % max; for (;;) { u32 r = rngAdvance(rng); if (r >= threshold) return r % max; } } (code is from github.com/antonthefirst/…) Btw, the "random score" method that Marc is showing is really great to use on the GPU or other highly parallel implementations where you want to do something statelessly (and from the perspective of of each item, at the cost of potentially re-generating the scores for neighbors (rather than reading them back)). I use it for quirky cellular automata to do neighborhood locking around random cells.
English
2
2
73
7.6K
anton mikhailov
anton mikhailov@antovsky·
If you were ever curious about how 6DOF tracking works or what it takes to take "an idea" all the way to "product", this stream is for you :)
Łukasz | Wookash Podcast@wookash_podcast

When @antovsky initially pitched the idea of doing a stream dedicated to PS move tracking tech I was… lukewarm. Old tech, not even AI.. Then Anton showed me his custom simulator he just made, told me a few stories… and I was instantly sold! This is legitimately a love letter to ambitious engineering projects! You can learn so much just listening to it! Give it a shot! Also - @its_bvisness joined us, and deepened the discussion with the best inquiries you could’ve imagined! Thank you folks! youtu.be/961jsHqhkCI?is…

English
2
3
43
4.3K
anton mikhailov retweetledi
Michael Labbé
Michael Labbé@frogtoss·
It is going to be an inspiring week for programmers in Vancouver. I'll live code with Grain DDL in front of an audience at Handmade Network Expo hosted by @handmade_net at 10 sharp, with video published for everyone later. Live coding on a language you implemented is a type of performance art only a programmer can pull off. Going first means I get to hang back and watch demos from @antovsky, @nicbarker, @gdechichi, Leddoo, @starfreakclone and @struc_ture afterwards. Let's go.
Michael Labbé@frogtoss

Announcing Grain DDL: code generation by and for demanding engine developers. Define your structs and data once. Write custom generators for protocols, save files, language interop, shaders, databases, more. No macros, no metaprogramming. Generate reviewable code on every keystroke. 300kB compiler exe. Windows, Mac, Linux. Closed beta applications are now open - link in replies.

English
0
4
21
2.9K
anton mikhailov retweetledi
Cameron DaCamara
Cameron DaCamara@starfreakclone·
This Saturday I will be talking about fred at the first Handmade Expo! I will be revealing some very exciting work I've been doing on the editor along with some insights into the tech behind it. HM folks are cooking! @antovsky @nicbarker @gdechichi Leddoo @struc_ture @frogtoss
English
1
3
18
1.6K
anton mikhailov
anton mikhailov@antovsky·
@nafonsopt Good point ;) For all that other software you'll write yourself by hand :)
English
0
0
2
148
anton mikhailov
anton mikhailov@antovsky·
Time to get real technical yalls. Come see what it's like to implement a 6DOF tracking library with less memory than an image from your phone.
Łukasz | Wookash Podcast@wookash_podcast

This Thursday there will be a one of a kind event! @antovsky will walk @its_bvisness and me through the design & implementation process of PS Move - a tracking solution for Playstation. We're gonna walk through the hardcore hardware reality of the solution, grounded in the historical context (market rivals, PS game development) @antovsky has even prepared a software simulator, to accurately showcase the difficulty - simulator can change lighting conditions, bluriness of the image, etc. It's gonna be a long one, +3h of stream, with lots of stories and angles and plot twists! Make sure you're ready on Thursday!

English
2
1
57
3.8K
anton mikhailov
anton mikhailov@antovsky·
@LubaRaphael Especially important for matrices or colorspaces or any kind of "space" conversions!
English
0
0
3
433
Raphael Luba
Raphael Luba@LubaRaphael·
Related naming advice: when you have conversion functions between „thing“ and „stuff“, name them „thing_from_stuff“, not „stuff_to_thing“. That way the types & names line up nicely: a_thing := thing_from_stuff(my_stuff). And you can find all the ways to create a „thing“ easily.
Valentin Ignatev@valigo

When you have a lot of operations over "thing", name your functions as "thing_do" instead of "do_thing". So "array_add", "array_remove_by_index", "array_clear" etc. Super noob advice, I know, but I've only arrived to it in recent years. Obvious why it's better.

English
8
14
305
43.8K
anton mikhailov
anton mikhailov@antovsky·
This is the only "sane" and durable way that I've found to use LLMs so far. I actually quite like using it for this purpose, but unfortunately even here I've found it can hallucinate false knowledge after a while, and after you get past the bare basics. I was pretty disappointed when this first happened because I was quite enjoying it.
English
0
0
4
427
Olex (Solo gamedev Diablo-like) 🇺🇸🇺🇦
Vibe learning with AI is awesome. I write the code while AI patiently answers my many questions. I wonder with so many hating on AI generating code - do they miss out on actually learning new topics from AI? As a solo game dev without a game engine, there is a lot that I don't know and have never made before despite having worked in the field. Signed Distance Fields font rendering is one of such system. After grilling AI for a bit of why my fonts didn't look as clean as professional games do, I learned about SDF fonts. It's not something I ran into before or even knew as a way to make the fonts look better. It wasn't necessary in my pre-AI career. But once I understood the technical process the implementation was easy. One key to that understanding was grilling AI on many details of the process. It's something you would usually only get by working closely with an engineer highly knowledgeable in the task. If you didn't have such an engineer near you pre-AI, the fallback was digging through blogs and papers and stitching some understanding from that. I am finding that AI coding is mostly useless, but turning AI into a patient teaching assistant has been amazing for me for the last two years of working on the game. If you already come with a ton of experience to sniff out nonsense you can guide it along and cross examine it until you get the information. Learning from AI is like having access to an experience engineer who is very drunk. Do you need to carefully watch every word? Yes. But if you have enough patience and experience you can extract a tremendous leaning value from it. Vibe coding is the fake promise that managers are preaching but the real objective value for the last year has been vibe learning.
Olex (Solo gamedev Diablo-like) 🇺🇸🇺🇦 tweet media
English
17
6
72
4.8K