기본 콘텐츠로 건너뛰기

추천 가젯

[프로그래밍 이야기 6] 포터블 라이터기의 재발견: 웹소켓과 스크립트가 만든 현장 대응 파이프라인

 임베디드 장비나 FPGA 칩이 탑재된 하드웨어를 현장에서 다룰 때, 가장 고민스러운 부분은 펌웨어 라이팅 환경을 구축하는 일입니다. 공장 PC나 현장 컴퓨터에 무겁고 거대한 벤더 전용 프로그램(IDE)을 일일이 설치하고 환경을 설정하는 것은 지극히 비효율적입니다. 이때 가장 똑똑하고 유연한 접근법은 공장 PC에 무언가를 설치하려 애쓰는 대신, 엔지니어의 노트북 한 대를 즉시 '포터블(Portable) 라이터기'로 탈바꿈시켜 현장에 투입하는 것입니다. 노트북을 포터블 라이터기로 만드는 전략과 웹소켓 노트북을 이동식 포터블 라이터기로 활용하기 위해 거창한 프로그램을 깔 필요는 전혀 없습니다. 핵심은 펌웨어를 입히는 CLI(명령줄 인터페이스) 툴과, 이를 원격에서 실행해 줄 지극히 단순하고 가벼운 웹소켓(WebSocket) 서버 하나만 준비하는 것입니다. 중요한 점은 여기서 사용하는 웹소켓 프로그램이라는 것이 결코 복잡하거나 무거운 시스템이 아니라는 사실입니다. 단 몇 킬로바이트 수준의 경량 훅(Hook) 역할만 수행하는 웹소켓 서버를 노트북에 띄워두면, 공장 PC 환경을 오염시키지 않고도 노트북 한 대가 완벽한 이동식 라이팅 단말기로 변신합니다. 가장 가벼운 웹소켓 훅과 Shell 스크립트의 결합 이 시스템의 실체는 놀라울 정도로 가볍고 명확합니다. 노트북 내부에서는 하드웨어(.sof)를 구운 뒤 MCU 펌웨어(.elf)를 연달아 다운로드하는 아래의 Shell 스크립트가 실행의 중심을 잡습니다. // flasher.sh - FPGA 및 Nios II 펌웨어 연속 라이팅 스크립트 #!/bin/bash 1. FPGA Hardware (.sof) 구우기 #!/bin/bash echo "Hello World" echo "=== Programming FPGA Hardware ===" quartus_pgm -c "USB-Blaster [1-4]" -m JTAG -o "p;mcu.sof...

[리버싱 일기/리메이크] 랑그릿사 2: 마법 데미지 산출 공식과 범위 메커니즘(이것도 내부를 들여다보고 씀.)

스펠 데미지 정리 

LvMRngMLv
1
2+1
3
4+1+1
5
6+1
7
8+1+1
9
10+1

Reference : https://strategywiki.org/wiki/Langrisser_II/Spells

랑그릿사 2의 마법은 병과나 지능 지수가 아닌, 오직 사용자의 레벨(LV)전직 횟수(Tier)에 의해서만 결정됩니다. 이는 나이트 계열이라도 레벨만 높으면 위저드급의 파괴력을 낼 수 있는 독특한 시스템입니다.



1. 마법의 성장 구조: MLv와 범위(Range)

마법의 위력과 범위는 시전자의 레벨에 비례하여 성장합니다.

  • MLv(Magic Level): 내부적으로 LV / 2 (정수 버림) 값을 사용합니다. (예: 9레벨 → MLv 4)

  • 범위(Range) 확장: * 유닛의 LV이 4, 8에 도달할 때마다 범위가 늘어납니다.

    • MLv가 2, 4, 6, 8, 10에 도달할 때마다 추가로 늘어납니다.

    • Tier 보너스: 전직 단계에 따라 +1씩 추가됩니다. (워락 0, 하이랜더 2, 나이트마스터 3 등)

  • 소환수의 한계: 데몬로드 같은 강력한 유닛도 전직 단계가 1티어로 설정되어 있어, 레벨 보너스를 받기 전까지는 마법 범위가 매우 좁은 편입니다.

2. 마법별 데미지 공식 (Attack Spells)

해외 위키(StrategyWiki)와 필자의 PC판 바이너리 분석 결과를 종합한 마법 공식입니다.

마법명데미지 공식 (MAT)특징 및 설계 포인트
매직에로우0 + MLv * 2단일 대상. 파이어볼보다 계수가 높아 후반에 더 강해질 수 있음.
블라스트20 + MLv강력한 단일기. 하지만 성장이 매우 더뎌 레벨 효율이 낮음.
파이어볼3 + MLv표준 범위기. 매직에로우보다 기본뎀이 높아 초반 효율이 좋음.
메테오10 + MLv강력한 기본뎀을 가진 광역기.
썬더5 + MLv부대 단위 마법. 수중 타일 적에게 +1 보너스 데미지.
토네이도4 + MLv * 2시전자 중심. 비병 보너스 +1. 마나 소모 대비 위력이 매우 강력함.
블리자드4 + MLv * 2토네이도와 위력은 같지만 마나를 더 씀. 설계 미스 의심 구간.
어스퀘이크10 + MLv * 2공중 유닛 무피해. 노포병(발리스타) 킬러로 설계됨.

3. 최종 데미지 적용 방식과 마법 방어력(MDF)

계산된 마법 공격력(MAT)은 타겟의 **최종 마법 방어력(Total MDF)**에 의해 감쇄됩니다.

[최종 마방 계산]

Total MDF = 유닛 기본 MDF + (보너스 MDF × 2)

  • 면역 조건: Total MDF가 100 이상이면 마법에 완전 면역을 가집니다.

  • 아뮬렛 버그: PC판에서 아뮬렛을 착용한 지휘관은 마방이 100을 넘어도 로직상의 결함으로 인해 무조건 1의 데미지를 입는 경우가 발생합니다.

[실제 데미지 적용 공식]

최종 데미지 = Max( ( (100 - Total MDF) * MAT ) / 100 + MDmg , 1 )

  • MDmg: 마법별 추가 고정 데미지 (토네이도 비병 보너스 등)

  • 하한선: 면역이 아닌 이상, 아무리 마방이 높아도 최소 1의 데미지는 입습니다. 마방 수치가 1이라도 존재한다면 소수점 내림 연산을 통해 데미지를 조금이라도 줄일 수 있습니다.

4. 주요 변수: 레지스트(Resist)

  • 비용: 2 / 사거리: 8

  • 효과: 부대 단위 마법 방어력 +25 증가.

  • 마나 소모 대비 효율이 극강인 마법으로, 적의 강력한 광역 마법을 1 데미지로 흘려낼 수 있는 핵심 수단입니다.


댓글