Загрузка видео...

Не удалось загрузить видео

На главную

I built a simple C++ game engine: - ECS (Sprite, Velocity, Animation, Script) - Frame-based animations via JSON - Lua scripting for entity behavior - ImGui inspector + asset browser - SDL2 rendering w/ flipping - Drag-and-drop support for assets

52,366 просмотров • 1 год назад •via X (Twitter)

Комментарии: 10

Фото профиля Lennzer
Lennzer1 год назад

Dude, that's so cool! I've been setting up basics down for something like this. BTW I'm not entirely sure but splitting sprite sheets by using pixel dimensions would let you index them out - saw it in another post.

Фото профиля Basketo
Basketo1 год назад

Yeah, that’s actually how i’m handling animations, using fixed pixel dimensions to split the sprite sheet. It works, but honestly, it gets pretty tedious without a proper editor to preview and grab coordinates.

Фото профиля Juveria | Onchain Lens
Juveria | Onchain Lens1 год назад

cool 🔥

Фото профиля Basketo
Basketo1 год назад

tnx 🫰

Фото профиля Hojiwak
Hojiwak1 год назад

👏👏👏👏 papa tchlalek berta bro adis neger entebkalen bekrb 💪

Фото профиля Basketo
Basketo1 год назад

@hojiwaq84514 awo gd new. mokralew esti🫡

Фото профиля P4R4NO1D73
P4R4NO1D731 год назад

awesome

Фото профиля Basketo
Basketo1 год назад

🫡

Фото профиля Antônio Ivo da Silva Gomes
Antônio Ivo da Silva Gomes1 год назад

Awesome, man. Do you have some advice to someone who is trying to make something like this with pure C?! 😅

Фото профиля Basketo
Basketo1 год назад

Well 😁 1st thing is to avoid oop like trap, don't try to fake classes and inheritance and you will have fast engine core. and also keep it modular from the start otherwise it's gonna get ugly.

Похожие видео

I built a Three.js rendering study inspired by Tiny Glade’s painterly aesthetic, and got it running at 120fps in the browser. Over the past few weeks, I’ve been studying how stylized games achieve that soft, handcrafted look in real time. Tiny Glade was a huge inspiration, and I wanted to use the browser as a constraint: no compute shaders, no native GPU access, and single-threaded JavaScript. As part of this study, I implemented: - GPU-driven instanced brick walls with procedural noise jitter and elastic build animations - Tree, bush, and flower rendering with billboard card expansion, wind sway, and grow animations - Procedural grass with terrain conformance and interactive push deformation - Animated water with layered noise, interactive ripples, and Fresnel-based reflections - Procedural terrain with slope-aware triplanar materials, dirt paths, and rocks - A 7-pass post-processing stack with TAA, bloom, depth of field, painterly filtering, ACES tonemapping, 3D LUT color grading, and film grain The hardest part wasn’t writing any single shader. It was making all of these systems work together at high frame rates inside WebGL, where every millisecond counts and performance problems compound quickly across animation, materials, post-processing, and scene management. Some techniques in this study were inspired by analyzing Tiny Glade’s rendering approach, while others were original implementations built from scratch from visual reference. That contrast taught me a lot: recreating an effect is one challenge, but designing your own shaders and systems to achieve a similar feel is a very different one. This is a private educational rendering study. Some temporary placeholder content is being used during the research phase, and any public or production version would use original or properly licensed assets. Huge credit to Pounce Light for the incredible art direction and rendering work in Tiny Glade: Three.js #gamedev #webgl #threejs #rendering #graphics #realtimerendering #shaderdev

Ibrahim Boona

58,625 просмотров • 3 месяцев назад

I vibe coded and built a sprite animation pipeline 🛠️ (Day 22 of making the engine+game) ⬇️ Watch the video if you don't wanna read the wall of text - it directly shows what I do. Shoutout to Jidé ✨ for showing me a paper on black/white combination to get alpha, it's the cleanest method yet, and to Cursor for enabling this entire journey. If you prefer the wall of text here you go: The hardest part of using general image models for 2D sprites isn’t getting a nice-looking frame, it’s getting consistent motion across a whole sprite sheet. You can fake a sheet, but frames won’t align, timing drifts, and you end up with weird artifacts. Even if you manually cut frames + interpolate, the animation often looks “off” because each frame is basically a new interpretation, not the same character evolving over time. This is especially noticeable with public API models like gpt-image-1.5 and Nano Banana. Some custom LoRAs for open models exist, but this is intended for less techy folks. My workaround: use a video model first, then post-process into a sprite sheet. Render the animation over a solid background (white/black/magenta/green), then chroma-key it out (my engine tool supports this). If the motion stays inside the silhouette, this works surprisingly well. You can do this in almost any video editing software too! The catch: keying almost always leaves an “aura” (edge spill). My best results come from interpolating the keyed animation with a clean base sprite, so you keep crisp edges and only “borrow” motion/detail where needed. If the animation extends outside the silhouette (tree branches, hair wisps, foliage), I usually skip “true sprite animation” and do it with shaders instead. Keying can’t fully remove halos there, no matter how much feathering/tuning you do. Another annoying issue: pixel corruption. AI rarely generates a perfectly flat background (pure #000000 or #FF00FF). That tiny noise breaks clean extraction and creates crawling garbage pixels around the subject. For clean base sprites (and even PBR maps), a useful trick is generating the same asset on white + black backgrounds and deriving alpha from the difference. This is basically a matte workflow: white = opaque, black = transparent. It fixes aura… but you’d need it per-frame to fix animation, which is still hard. For simple pixel art (single-digit frames), you can sometimes generate a sprite sheet, then ask the model to recreate it on black/white while preserving alignment… but it’s still manual-heavy. Honestly, at this point, for some projects it’s easier to go 3D → 2D and render clean sprites/maps directly. But I still love pushing “pure 2D” and seeing how far we can take it. Thanks for reading! Follow/bookmark/repost if interested in this kind of content!

Startracker 🔺

20,181 просмотров • 6 месяцев назад

*** Mega Parodius Sega Megadrive Update *** Lately I've been having some fun seeing how far we can push the Parodius game engine . This is not arcade accurate - just for testing, decreased bullet timers and upped the bullet count to see what would happen re cpu usage when things are made a lot busier ! Maybe something like this could be insane mode in the options etc. Since last update we are a lot more optimised under the hood . The C based sprite engine, particularly visibility checking was speedup , overall 25 % faster. Then re-wrote the sprite engine completely in 68k assembly , 30% faster again. It took about 3 days and 1500 lines of assembly , thankfully the gains were worth it. All these gains will be back ported to S.O.T.A also as its using the same sprite engine. Usage is around 19% of cpu per frame with a full sprite load - 33 % cpu left in the busiest frame currently . Parodius is using a write the sprite list every frame type engine , so priority and meta-sprite objects can be handled with ease albiet its still a bit slower than static allocation sprite engines such as the one in lufthoheit but this is a bit easier to code for in the long run. All collision checks are been done , we are using a spatial grid system to get the collision checks done faster than a brute force approach . To get to maximum sprite count destruction is disabled in the video. We hit 80 sprites onscreen in this sequence , the sprite counter is one the Left side. We use about 16 sprites in the top hud and water line , about 21 for player attacks / missiles / shots / options . Up to 35 bullets + enemies . No lazer usage here as the Lazers use zero sprites thanks to the raster tricks , this video is all about the sprites ! Improved the water line when the Catboss is active , as he is Sprites + Forground we are doing some tile rotation tricks eg bit scrolling to give the impression of parrallax at that point . Vector Orbitex has updated the stage 1 music again and has made things even higher quality , hes mixed pcm and fm channels together to create higher quality orchestral hits for example . Pyron has started converting assets from stage 2/3 , some amazing work there . Hes well ahead of me at present which is a good thing. Still lots of incomplete animations missing logic etc , its slow going with RL getting in the way haha and 2 other projects !! Still its fun !! #SGDK #SegaMegadrive #SegaGenesis #Parodius

Shannon Birt

16,084 просмотров • 7 месяцев назад

Thrilled to announce Kingnet AI V2 is now officially live ! We have officially deployed on the BNB Chain first ! Whether you're an enthusiast or a professional game developer, come and try it out now: Each generated asset costs approximately $3 and supports export in professional game-editing formats. We will soon support exporting assets in NFT on-chain formats, empowering Web3 users and partners with seamless integration. Jump down more rabbit holes next.👇 📔 Product Introduction: By conversing naturally with agent Joi, users can achieve a complete automated game development cycle - from requirement proposal to finished product delivery. Users simply need to describe their game concepts and design requirements in natural language, and Joi will automatically utilize built-in generator including: • Animation Generator: AI-driven motion generation with auto-rigging technology for instant character animation • Map Generator: Procedural map generation with built-in logic validation for consistent world-building • Numerical Generator: Automated game economy tuning for fair yet challenging gameplay systems • Editable Code Generator: Generates clean, maintainable game logic code with multi-platform/multi-language support • Interface Generator: Intelligent layout engine that optimizes user experience and interaction flow Joi intelligently generates all necessary game components, performs multi-dimensional feasibility checks, and ultimately completes game synthesis, packaging and deployment. Users can directly click to try the game on the chat interface, or download the complete editable code package to achieve rapid iteration and secondary development. 🎯 Core Architecture: 1/ Natural Language Understanding & Multimodal Intent Parsing: Utilizing advanced deep learning NLP models (e.g., Transformer-based language understanding models), Joi precisely interprets user natural language inputs and extracts core game design intents and parameters. Through semantic segmentation and entity recognition, complex requirements are decomposed into specific tasks for animation, map, numerical systems, UI, and code modules. 2/ Modular Editor System & API Integration: Joi employs a unified API framework to enable seamless collaboration between editor modules, ensuring high compatibility in data formats and workflows. 3/ Intelligent Validation & Quality Assurance: The system incorporates multi-dimensional verification mechanisms including animation continuity checks, map pathfinding and physical logic validation, game balance analysis, UI interaction consistency verification, and static/dynamic code security testing. Automated testing and feedback loops ensure outputs meet high-standard game design specifications. 4/ Automatic Synthesis, Packaging & Instant Deployment: Verified resources are automatically integrated to complete game compilation, packaging and deployment. Supports one-click generation of playable online links and downloadable complete code packages for immediate testing or deep customization/iterative development. 5/ Interactive Chat Interface & Seamless UX: The entire workflow is completed within the chat interface, significantly reducing traditional game development's communication and operational barriers. Users accomplish complex game design and development through conversation while receiving real-time feedback and adjustment suggestions, democratizing game creation. 6/ Industry-Disrupting Value: Transforms traditional manual development into AI-driven automated pipelines.

Kingnet AI

45,966 просмотров • 1 год назад

It's officially that time of year again! Presenting the second annual "DreamDisc" indie gamejam for the Sega Dreamcast! If you weren't around for last year, check out the video! We had 24 incredibly polished, epic submissions including a wide-range of genres, such as 3D space shooters and resource managers, 2D platformers and racing games, VMU minigames, custom hardware, and even a custom implementation of the Java VM for SH4! Just like last year, the top 10 submissions, as voted by a panel of judges, will be pressed to a commercially released, actual physical Sega Dreamcast disc, which will be available for purchase from Orc Face Games - Chew Chew Mimic out on Dreamcast!! Oh, and there are cash prizes for the top 3, of course! This year we have an even wider range of engines, frameworks, and prebuilt library solutions for developers are all experience levels, including: 1) Antiruins - Lua-based, very newbie friendly game engine for the Sega Dreamcast. 2) raylib - famous cross-platform C-based games framework which needs no introduction 3) SDL2/3 - our very own ports of the famous cross-platform SDL libraries, which target the Dreamcast. 4) Simulant - the same engine that powered Driving Strikers--the very first online homebrew commercial DC game--as well as last year's wining submission, written in C++. 5) KallistiOS - you can raw-dog the indie SDK and pseudo OS that started it all and powers everything in the community, rolling your own tech stack. 6) SH4ZAM - my collection of SH4 assembly optimized math and matrix routines, which originally powered our Grand Theft Auto ports. Contestants are encouraged to join the OrcFace and Simulant Discord servers where they can interact with other DC developers, share their progress, and ask for help with anything they may need. Official DreamDisc '25 website:

Falco Girgis

16,980 просмотров • 8 месяцев назад