godot-cpp 10과 Conan으로 Godot에 C++ 라이브러리 붙이기, flecs로 입자 10만 개 시뮬레이션

godot-cpp 10과 Conan으로 Godot에 C++ 라이브러리 붙이기, flecs로 입자 10만 개 시뮬레이션

  • godot-cpp 10.0부터 단일 릴리스가 Godot 4.3 이상 모든 버전과 호환됨. api_version 빌드 옵션으로 대상 버전을 고르면 해당 버전 API에서 C++ 클래스를 생성하며, ConanCenter에서 받을 수 있음
  • GDExtension은 공식 Godot 빌드에 공유 라이브러리(.dll, .so, .dylib, 웹은 .wasm)를 런타임에 로드하는 방식이고, 엔진 모듈은 엔진 자체를 컴파일해 플랫폼별 편집기와 익스포트 템플릿까지 직접 배포해야 함
  • 예제로 flecs ECS 라이브러리를 써서 Godot 씬 안에서 입자 10만 개를 시뮬레이션함. 매 프레임 엔티티 위치를 MultiMesh 버퍼로 복사하는 구조
  • godot-cpp는 template_debug, template_release, editor 세 타깃으로 컴파일되고, .gdextension 파일이 debug/release feature tag를 플랫폼별 라이브러리 경로에 매핑함
  • Hacker News에서 Linux 배포 시 libstdc++ 버전 문제와 링커 버저닝 스크립트가 필요하다는 지적이 나왔고, 저자가 글에 주의사항을 추가함

Hacker News opinions

Linux에 배포할 거면 버저닝 스크립트 빼먹으면 안 됨. Godot이 쓰는 구버전 배포판으로 빌드하거나 링커 버저닝 스크립트로 심볼을 숨겨야 하는데, 안 그러면 사용자 머신에서 유령 같은 충돌이 남.

맞는 지적이라 글에 주의사항 추가했음. Linux용 확장 배포할 때 꼭 염두에 둬야 하는 부분임.

Rust 쓰면 godot-rust 바인딩이 꽤 좋음. tokio나 async Rust까지 그대로 쓸 수 있고, godot-iroh처럼 iroh로 P2P 네트워킹 하는 예제도 있음.

나도 godot-rust 팬임. Rust 라이브러리 아무거나 Godot에 붙일 수 있는 게 큼.

엔티티 위치를 MultiMesh 버퍼에 복사하는 부분, C++와 Godot 경계 때문에 제로카피가 불가능한 건가?

경계 자체보다는 flecs 데이터를 MultiMesh가 기대하는 레이아웃으로 바꾸는 변환 비용 때문이라고 봄. 레이아웃을 다르게 하면 줄일 수도 있겠지만 완전 제로카피가 가능한지는 확인 안 해봤음.

결국 CMake 스크립트에 파이썬에 괴상한 C++ 코드까지 써야 함. 좀 귀찮지만 그게 현실임. 요점은 호환된다는 거지 권장 방식이라는 게 아님.

Linux에선 libstdc++ 정적 링크하고 -fvisibility=hidden 주니까 해결됐는데, 예외가 경계를 넘어야 할 때 다시 물렸음.

C++로 넘어가기 전에 GDScript나 C# 코드 프로파일링은 뭘로 함? C#은 엔진에 사실상 없어서 Rider나 Superluminal 씀. Godot이 NIH가 좀 심한 듯.

GDScript는 진짜 느림. Lua보다도 느리고, UI 이벤트 처리나 계층 구조 정도에나 쓸 만함. GDExtension에서도 힙 할당이 쉽게 터짐.

RTS 만들다가 GDScript 성능 한계에 부딪혀서 무거운 로직을 C++ 시뮬레이션으로 옮겼음. 귀찮지만 결과는 확실하고, Godot은 메뉴와 대사 처리에만 씀.

왜 C#이 아니라 C++ 씀? C#이 GDScript만큼 편한데. C# 쪽도 플랫폼 제약이 있어서 콘솔은 Native AOT로 안 덮임.

C++26 리플렉션으로 비슷한 걸 만들고 있음. 몇 줄 보일러플레이트로 어떤 언어든 C++ 라이브러리를 수명 안전하게 쓸 수 있게 하는 게 목표임.

Steam에 게임 배포할 때 엔진 모듈 빌드도 선택지가 됨? 아니면 GDExtension이 표준임?

GDExtension이 표준 가는 길임. 다만 커스텀 Godot 빌드도 흔하고 배포에 문제 없음. 암호화된 빌드를 만들려면 직접 빌드해야 함.

C++ 런타임은 ABI 때문에 공유 라이브러리로 못 내보냄. 배포판 libstdc++ 버전과 충돌하니까 정적 링크하거나 버저닝 스크립트를 써야 함. API가 C 기반이면 문제 없음.

해커뉴스
godot-cpp 10과 Conan으로 Godot에 C++ 라이브러리 붙이기, flecs로 입자 10만 개 시뮬레이션1993년에 부팅한 Stratus 서버, 24년째 무중단 가동 중이지만 2017년 4월 은퇴 예정PostHog, Jev류 결정 모델에 추론을 결합한 오픈소스 'jeeves' 공개Claude 전 서비스 1시간 장애, 로그인과 파일 업로드까지 막혀 14:59 UTC 복구macOS 27 Golden Gate, 안정성 개선 내세웠지만 메뉴 바 크래시 등 버그 다수델리, 전력 손실률 50%에서 5%로 낮춤: Tata Power가 저소득 지역 물 공급과 금융 교육까지 손댄 결과미국 ICC 제재로 네덜란드, 마이크로소프트 배제하고 NixOS 기반 대안 생태계로 이동런던 역 6개월 얼굴인식 시범, 50만 스캔에 오탐 1건·체포 0건, 비용 32만 파운드대화형 AI 9곳 분석: 대화 제목·프롬프트·스크린샷이 제3자 추적기로 전달됨미국, 집에 손님 초대하는 문화 붕괴: 1975년 이후 70% 감소실리콘밸리를 25년 먼저 비판한 폴리나 보르숙, 커리어 상실 뒤 뒤늦은 재조명Show HN: Pac-Bench, 30개 모델이 원샷으로 만든 팩맨, Opus 5.5가 99/100으로 1위무관해 보이는 단어 10개로 임베딩 '원' 기하를 위조해 맥주 내기에서 이기다ESP32S3 여러 대를 묶어 1.58비트 BitNet 언어모델을 돌리는 깃허브 프로젝트 공개스코치드 어스에 원형 행성과 궤도 역학을 얹은 웹게임 'Tank Body Problem'이 해커뉴스에 공개됨1871년 Nature의 1841년 우주기상 기록, 알고 보니 오타였다1996년 온라인 서비스 감성 채팅방 lolchat.rip, Win95·System 7 데스크톱과 같은 방을 공유괴베클리 테페에서 1만 2천 년 전 매장 2기 첫 발견, 흩어진 뼈 미스터리 풀려황금비 코드로 뽑은 필로택시스 패턴, 89개 LED 조형물이 되어 소리에 반응하다캘리포니아 포도 농가, 와인 수요 급감에 판로 상실…전체 포도밭 25% 폐원엔비디아, 에이전트 통제용 Open Agent Safety Platform 공개... 네트워크 칩 Sentry와 CPU용 OpenShell 포함Show HN: 주소만 입력하면 스틱맨이 그 페이지를 부수는 'Destroy Any Website' 공개레딧 나이프 추천글 언급 31%, 상위 5% 계정에서 나옴. 우연의 4배Show HN: HN.watch, 해커뉴스 전면 페이지 모든 글에 AI 설명 영상 붙인다브라우저에서 초소형 LLM 7종 벤치마크하는 MicroLLM Lab 공개World Labs, AMD에 합류: 페이페이 리가 AMD EVP 겸 Chief Scientist로구글 지도 위성사진 갱신으로 드러난 라파 폐허, 학교 아이콘만 남은 폐허 위 지도Jev 호환 0.8B 결정 모델 Jeff 공개, 자택에서 학습해 M4 Max에서 약 28ms칼 뉴포트, 의회에 OpenAI·앤트로픽 조사 요구…"에이전트 해킹 왜 안 멈췄나"알렉스 에베를뢰프 "코딩은 풀리지 않았다", AI는 책임질 수 없어서 위임도 안 된다Cloudflare, 에이전트 겨냥 CLI 'cf' 오픈 베타 공개: 280개 명령을 3,000개 API 오퍼레이션으로파이어폭스에 지친 블로거가 Brave로 갈아탄 이유PS5 RTMP 스트림을 DNS 스푸핑으로 가로채 맥에서 받기구글 플레이 심사 거부당한 개발자, "구글이 무관한 앱의 NSFW 스크린샷을 보냈다"국경 그리기 게임 Borderline에 모인 43,780개 그림을 겹쳐 만든 '사람들이 기억하는 세계 지도'Wild Card 팟캐스트 댓글창, 중학생들의 비밀 그룹 채팅으로 드러나MongoDB CEO 데사이, 취임 1년 만에 메타로 이직... 몽고DB 주가 18% 급락MGM 복원이 《석양의 무법자》를 179분으로 늘린 뒤, 팬들이 토렌트로 원판을 되살린 이야기Windows 11의 광고·구독·AI 잔소리를 그대로 옮긴 패러디 사이트 'Windows 11½'가 해커뉴스에서 화제앤스로픽, Claude Sonnet 5.5 공개: Terminal-Bench 4.0 70.6%로 Opus 5.5 앞서고 작업당 비용은 최대 30% 절감Postgres에서 AT TIME ZONE 'UTC'를 두 번 써야 하는 이유, timestamptz가 timestamp로 바뀌는 함정일몰 후에도 달이 위를 향하는 '달 종단선 역설', 시뮬레이터로 원인 확인닛산 3세대 e-POWER, 5-in-1 모듈과 전용 엔진으로 연비·정숙성 개선Ink & Switch, 사용자가 직접 고쳐 쓰는 '말레어블 소프트웨어' 에세이 공개…해커뉴스서 114개 댓글 토론ESP32-S3 AMOLED 보드로 만든 기타 페달 CoyoPedal, NAM A2-full 구동카너먼의 '빠른 사고와 느린 사고'를 AI 멀티에이전트 구조로 옮긴 2021년 논문이 해커뉴스에 다시 올라와중앙 서버 없는 IRC 연합 채팅 Parley, 닉네임 중복 시 엉뚱한 사람에게 가던 멘션 푸시 수정Anthropic이 Claude Opus 5.5 프롬프트 가이드 공개. 출력 토큰 생성 30% 이상 빠르고 기존 Opus 5 프롬프트가 그대로 동작스타십 플라이트 14, 첫 궤도 진입 성공하고 스타링크 V3 위성 26기 배치뉴질랜드 풍자매체, AI 기업들이 '인류 멸망 능력' 경쟁 벌인다는 패러디로 HN 화제Recurse Center 여름 배치기: DEFLATE 재구현, dodo 언어 완성, 에이전트 실험앨런 케이 "ENIAC에 BIOS는 없었다", 해커뉴스에서 ENIAC 저장 프로그램 논쟁으로 번져코드 리뷰를 에이전트가 대체한다는 논문 반박: "이해가 안 된다"는 리뷰어의 반응 자체가 결함 탐지 신호비디오 CD를 넣으면 윈도우 탐색기가 멈춘다, 2025년 말 보고에도 수정 없음2026년 Rust SIMD 현황: Fearless SIMD 메인테이너가 정리한 생태계와 x86 분기 문제로컬 AWS 에뮬레이터 fakecloud 공개, 105개 서비스와 Smithy 테스트 248,557개 전부 통과 주장torrc와 nginx로 개인 블로그를 .onion 히든 서비스로 직접 운영2013년 C++ 효율 코드 글에 해커뉴스 '요즘 C++가 더 어려워졌다' vs '더 쉬워졌다' 논쟁Go 코드를 GitHub에 묶지 말고 커스텀 도메인으로 네임스페이스하라엔비디아 초기 기술자문, 30년 뒤 발견한 옵션 베스팅 오류… 450만 주는 소멸시효에 막혀10년 묵은 충전식 자전거 라이트, LIR2477 배터리 납땜 교체로 살려냄Fireworks, Kimi K3 기반 Ember-1 공개: 추론 토큰 40% 줄이고 품질 유지구글 검색창에 dario 밈 치니까 AI가 실연당한 줄 알고 위로 답변한 사연프로그래머가 평생 남기억하는 10줄 이하 코드 10개, 헬로월드 루프에서 SKAN2.PAS까지선토리, 유전자 4개 넣어 '청보라' 장미 만들고 온실서 7년 재배 확인PostmarketOS가 1년 반 논의 끝에 'Nura'로 개명, 이름은 사르데냐 전통 석탑 Nuraghe에서 따와채팅 템플릿이 LLM의 '나는 그냥 AI' 어조를 켜고 끈다, 활성화 조향으로도 재현Boris Cherny 트윗으로 떠오른 TLA+, Reasonable은 명세에서 기계 검증 증명까지 잇는 에이전트 파이프라인 공개OpenAI 에이전트의 정부 DB 침입, "rogue"라는 표현이 책임 소재를 흐린다TypeSafe Jev의 confidence score는 보정도 비용 모델도 없는데, AI 실패는 "AI니까 어쩔 수 없어"로 넘기는 문화가 굳어진다AI가 만든 UI에서 반복되는 10가지 흔적, 그라데이션 남발부터 쓸데없는 "active" 배지까지NeoVim이 Vim의 영속 실행취소 파일을 삭제하고 자기 포맷으로 덮어썼다프랜시스 바흐, 로그-합-지수 분산 폭발 문제에 최소제곱 적용: 최대우도 추정의 폐형 계산 제안깃허브가 버린 CSS-in-JS, CSS Modules로 넘기니 SSR 시간 55% 감소고전 복합 네트워크가 양자 상태 흉내낸다, 프린스턴 숄레스의 '양자 유사 생물학' 제안mitxela, 플립닷 디스플레이 1m²에 FLIP 유체 시뮬레이션 구동해 EMF2026서 전시OpenAI 에이전트가 DNS 필터링 틈으로 외부 챗봇에 도달, 도구 사용 전면 중단예멘 면적 555,000km²는 1991년 통계연보가 퍼뜨린 오류, 구글 지도 재계산 결과는 456,000km²placeholderLLM 토큰마다 폭이 동일한 폰트 컴파일러 공개, 인터·gg sans에 DeepSeek·클로드 등 토크나이저를 적용해 디스코드·슬랙 테마로 설치 가능인텔 8087 탄젠트 알고리즘 해부: CORDIC과 다항식 근사를 합친 하드웨어 비밀GLM-5.3-Flash를 한 번의 패스로 Jev급 타입 결정 모델로, 정확도·속도 대등하고 이미지까지호세 발림의 논평: AI 시대 언어는 문법이 아니라 검증 가능성으로 진화한다Go 동시성 19개 주제를 압축한 미니북 'Go Concurrency Distilled' 공개, 브라우저에서 코드를 고쳐 바로 실행하는 예제 제공LA Metro 에스컬레이터 0.46 m/s: 58개국 139개 도시 통틀어 최고 허용치보다 느린 유일한 속도딥시크, 스케일 유닛 하루 300만 샌드박스 처리하는 에이전트 학습 인프라 DSec 공개조지즘 5년 점검: 버지니아·켄터키 지가세 도입법 통과, 설득 전략은 온라인에서 지의회로Drawgent 공개: Excalidraw 캔버스를 Claude Code·Codex·opencode에 연결하는 Rust 단일 바이너리룽손 LA664 CPU의 atomic add가 원자성을 잃고 업데이트 유실, 무한 루프를 만든 새 에라텀OpenAI 봇이 SEC·인구조사국 등 미국 정부 기관 사이트 접근해, 사용자 이미지 53건 외부 유출이란 것도 인정Reladraw, "A 오른쪽에" 말로 배치하는 다이어그램 언어 Show HN 등장멀렌웨그 해임 시도 33시간 만에 무산, Automattic 이사회 통째로 다시 짜였다하스켈 개발자 turion의 LLM 시대 생존법: 코드는 직접 쓰고 LLM은 검증에만 써라SponsorBlock 넣은 NewPipe 하드포크 PipePipe 화제, 뉴파이프 팀은Microsoft와 PC 제조사, Copilot+ PC 브랜드 사실상 폐기하고 Windows 11 AI PC 브랜딩 조용히 철수테트리스 조각 저작권 주장에 균열: 테트로미노는 1953년 수학자 솔로몬 골롬브가 먼저 공개iPod Nano 3G 낸드를 16GB로 교체 성공, 펌웨어 NAND ID 테이블과 Pwnage 2.0으로 부트로더 실행PG 마이그레이션 DDL을 브라우저에서 안전/위험 이진 판정… Cloudflare 출신 개발자의 safe-not-safe 공개Floci 출시: AWS·Azure·GCP·OCI를 24ms에 로컬에서 띄우는 MIT 라이선스 클라우드 에뮬레이터ASML 임원 발표: 유럽에는 반도체 제조 장비를 한 대도 팔지 않는다
3 alerts
New alert

My alerts

Sign in to create alerts.

All alerts

Duneby 제욱AIby 제욱해커뉴스by 성현