Inan Evin
@inanevin0
Followers
383
Following
11K
Media
82
Statuses
469
Making games, game assets & custom engines(lol). Engine Programmer @HypeHypeInc Developing #linaengine on the side. https://t.co/ivi7d42EBu
Helsinki, Finland
Joined September 2012
đź§µ 1 / 4 I made an open-source AI system that mimics human directors. E.g. it shoots your in-game cut-scene just like how Quentin Tarantino would. Implemented on #unity3d , accepted into #chiplay2022 @acmchiplay
#indiegame #videogame #cinematography #IndieDevs #gamedev
2
16
48
i reckon could optimize a lot further, but then we'll be getting into user-land optimizations. if game doesn't need it, i won't be taking this any further :). btw animations are from @quaternius, epic samples 🔥.
0
0
1
rendering is doing it's own thing, multiple passes irrelevant to this discussion, but no significant optimizations on that side other than good enough data layout and simple visibility culling.
1
0
1
no animation culling, also no additional care is given into branch misses, could order states by type (no blend, 1d blend, 2d blend) to utilize branch prediction on calculating sample weights per-state.
1
0
1
i did nothing regarding threading these or optimizing matrix multiplication, just simple data-oriented design for storing and processing the relevant data; machines (1 per component), states, transitions, parameters, samples (N per state, carrying blend data) and poses.
1
0
1
my engine's take on the fast animation processing discussion, but with a twist: 54272> joints calculated into final poses every frame. 1024 state machines, 53 joints per character, multiple states, transitions, 1d/2d blend spaces. 4.21 ms without parallelization. #gamedev
2
0
9
I sometimes dislike C++ community much as I dislike Rust community. Bunch of evangelist hitting the “skill issue” line. No this is not only just a skill issue, all skilled senior engineers know not to be a radical dumb cult member of any language or paradigm. When a language you
The C++ design strategy of making it increasingly easy to generate garbage machine code with succinct syntax has been an unequivocal disaster. All new languages which inherit this same strategy inherit this same disaster. Expensive operations should be visually obvious. The
0
0
2
“Hire system thinkers for complex infrastructure challenges.” all this fuss to say: use AI to prototype if you don’t know how to code a particular domain, then hire people who do.
0
0
3
makes me feel very accomplished to see creators doing epic stuff like this
Imagine developing this on your mobile phone? lol dude!! MX OBBY launch is near! Totally free to play! You can even remix it and build it better! Coming soon to HypeHype! @HypeHypeGameApp @Indie_Showcases @indiedevtracker Made on mobile, played on anything!
0
0
6
my engine is all ready for global game jam, imma take a shot each time it crashes during the jam and possibly get very drunk. i got all editor tools, game packaging, c++ dll hot reloading done, now time to test :) #gamedev #indiedev #fgj25 #linaengine
0
0
8
Finished a very crude visualizer for my physics materials for #joltphysics. Definitely could be made prettier, but I'm crunching any free time to get it done before the #globalgamejam so prettification needs to wait :). #gamedev
0
0
5
As #ggj25 is getting closer, I'm trying to get #linaengine ready for the event! Basics like scene controls, resource viewers, model/texture/shader hot-reloading are done. Soon working on dll hot-reloading for game logic and we are good to go for a game jam! #gamedev #indiedev
0
3
9
here's some cute perf panel in #linaengine. made it to test out new graph and table APIs I wrote. not really advanced as i don't need it to be, there are pretty good tools to do this offline. simple overview gives quick idea abt what's up while looking lit. #indiedev
3
1
6
1- smart ptrs are almost always very dumb, niche. preprocessor rant? lol. 2- -werrors? sometimes, except when u wanna spend hours on 3rd party headers 3- tests meh, depends on software criticality. my take: dont listen to any radical rule, profile and write easy-to-read code.
Guidelines I follow to ship safe C++ (thread): 1. C constructs are a code smell. Replace raw pointers with smart pointers or references (no nulls!), replace C array with std::array (now it is safe to return). std::invoke, C++ casts, etc. Avoid preprocessor (#define and such)
0
0
3
ofc. hashmaps their place, build time and runtime performance are separate things. when i have a case where i need to utilize O(1) insertions, lookups etc. or very large number of elements i use them. but in general trying to stick to struct/pair vectors as much as possible.
0
0
0
another death by a thousand cuts case, simply removing non-essential hashmap usage from my c++ code boosts the build time by around 25%. i was mostly being lazy and slapping key-value pairs around instead of pair/struct containers. ++ #gamedev
1
0
3
my texture viewer in #linaengine :) supports basic display options like mip levels or channels, allows metadata edits like mipmap options, bit depth and srgb/linear switches. Auto-reimports or modifies the resource depending on the changes. #gamedev #indiedev
1
0
18
finally fixed up my color wheel in #linaengine. now supports HSV and RGB sliders, input fields and hexes. display format is only RGB 0-1 and 0-255 for now. colors are always outputted as linearized. whats missing? #gamedev #indiedev
0
1
8