2024/08 9

[콘솔 게임 SDK 개발 #7] 파일 접근 및 URL 전송 기

게임 파일에 대한 HASH나 URL로 데이터를 전송하는 작업은 게임 개발 과정에서 자주 필요한 작업 중 하나입니다. 특히, 보안 목적으로 파일의 무결성을 확인하거나, 게임 업데이트 또는 패치 시스템에서 데이터를 전송할 때 유용합니다. 이를 구현하려면 각 콘솔의 개발 환경에서 제공하는 네트워크 API 또는 외부 라이브러리를 사용할 수 있습니다. 아래는 각 콘솔에서 이러한 기능을 구현할 수 있는 방법에 대한 개요입니다.1. PlayStation (Sony)파일 해시 생성: PlayStation SDK에는 파일의 해시(Hash)를 계산하는 직접적인 API는 없지만, 게임 내에서 SHA256 등의 해시 알고리즘을 구현하거나 외부 해시 라이브러리(예: OpenSSL)를 사용할 수 있습니다. 이를 통해 게임 파일의..

개발/프로젝트 2024.08.16

[콘솔 게임 SDK 개발 #6] 지원 언어 및 API (C++, API 지원)

콘솔 게임 개발 환경에서 **C++**를 사용할 수 있습니다. 대부분의 콘솔 게임은 C++을 주요 개발 언어로 사용하며, 이는 콘솔에서 성능을 극대화하고 하드웨어에 대한 저수준 제어를 가능하게 하기 때문입니다. 그러나 system call API의 사용은 매우 제한적입니다. 각 콘솔 제조사는 보안과 시스템 무결성을 유지하기 위해 특정 시스템 호출이나 저수준 API 사용을 제한합니다. 다음은 주요 콘솔에서 C++ 사용과 시스템 호출 가능성에 대한 개요입니다.1. PlayStation (Sony)C++ 사용 가능: PlayStation SDK는 **C++**를 지원하며, 대부분의 PlayStation 게임은 C++로 개발됩니다. PlayStation SDK는 게임 개발에 필요한 그래픽, 오디오, 입력 처리 ..

개발/프로젝트 2024.08.16

[콘솔 게임 SDK 개발 #5] 개발자 등록 비용(무료)

각 콘솔 제조사의 개발자 등록에는 일정한 비용이 발생할 수 있으며, 이는 플랫폼마다 다를 수 있습니다. 하지만 개발자 등록 비용은 플랫폼에 따라 매우 다양하고, 어떤 경우에는 무료로 제공되는 경우도 있습니다. 각 주요 콘솔 제조사의 정책을 살펴보면 다음과 같습니다:1. PlayStation (Sony)PlayStation 개발자 프로그램에 등록하려면 Sony의 공식 개발자 프로그램인 PlayStation Partners에 가입해야 합니다. 개발자는 SDK, 개발자 도구, 디버그 하드웨어 등에 접근할 수 있습니다.비용: PlayStation 개발자 프로그램 자체에 등록하는 데는 일반적으로 등록 비용이 없지만, 이후 **개발용 하드웨어(디버그 콘솔)**나 관련 라이센스를 획득하는 데는 비용이 발생할 수 있습..

개발/프로젝트 2024.08.16

[콘솔 게임 SDK 개발 #4] 개발 환경(WINDOWS 지원)

대부분의 게임 콘솔 개발은 Windows 환경에서 진행됩니다. 특히, PlayStation, Nintendo Switch, Xbox와 같은 주요 콘솔들은 공식적으로 Windows 기반 개발 툴과 SDK를 지원하며, 개발자들이 익숙한 개발 환경을 제공합니다. 하지만, macOS나 Linux에서도 특정한 도구나 엔진을 활용하여 개발이 가능한 경우가 있습니다. 자세히 살펴보면:1. PlayStation (Sony)주요 개발 환경: WindowsSony는 PlayStation 개발자들에게 제공하는 SDK와 개발 툴들이 주로 Windows에서 작동합니다. Windows는 PlayStation용 디버깅 툴, 컴파일러, 시뮬레이터 등을 제공하기 위한 주요 플랫폼입니다.macOS 지원 여부: 일부 개발자는 macOS에..

개발/프로젝트 2024.08.16

[콘솔 게임 SDK 개발 #3] 개발자 프로그램 가입

게임 콘솔에서 SDK를 연동하여 개발하려면, 각 콘솔 제조사가 제공하는 공식 개발자 프로그램과 SDK(Software Development Kit)를 사용해야 합니다. 이 프로그램을 통해 개발자에게 적절한 도구, 문서, 하드웨어 접근을 제공하며, 정식 인증을 거쳐 게임을 배포할 수 있게 합니다.다음은 각 콘솔에서 게임을 개발하는 방법과 SDK 연동 방법에 대한 개요입니다.1. PlayStation (Sony)개발 과정:PlayStation 개발자 프로그램에 가입: 게임을 PlayStation에서 개발하려면, Sony의 PlayStation 개발자 프로그램(PlayStation Partners)에 등록해야 합니다. 이 프로그램에 가입하면 Sony로부터 개발자용 하드웨어, SDK, 문서 및 툴을 제공받을 수..

개발/프로젝트 2024.08.16

[콘솔 게임 SDK 개발 #2] Root 접근 가능 여부(불가)

대부분의 상용 게임 콘솔 운영체제에서는 보안상의 이유로 루트 권한(root access)에 접근하는 것이 불가능하거나 매우 제한적입니다. 루트 권한은 시스템의 모든 자원에 대한 완전한 제어를 제공하므로, 제조사는 이를 차단하거나 강력하게 제한하여 시스템의 무결성, 보안 및 사용자의 안전을 보호하려 합니다. 각 콘솔의 경우는 다음과 같습니다:1. PlayStation (Sony)루트 접근 가능성: 기본적으로 PlayStation 콘솔(PS4, PS5)은 루트 접근이 차단되어 있습니다. 소니는 강력한 보안 메커니즘을 사용하여 사용자와 개발자가 콘솔의 운영체제와 하드웨어에 대해 루트 권한을 얻지 못하도록 설계했습니다. 이는 해킹, 치팅, 비공식 소프트웨어 설치 등을 방지하기 위함입니다.해킹/탈옥 (Jailbr..

개발/프로젝트 2024.08.16

[콘솔 게임 SDK 개발 #1] 정보 수집(OS)

각 주요 게임 콘솔 기기(PlayStation, Nintendo, Xbox)는 자체적인 운영체제를 사용합니다. 이 운영체제는 각 회사가 개발한 맞춤형 시스템으로, 콘솔의 하드웨어를 최적화하고 게임 및 기타 기능을 지원합니다. 아래는 각 콘솔 기기의 운영체제에 대한 개요입니다:1. PlayStation (Sony)PlayStation 4: PlayStation 4는 Orbis OS라는 운영체제를 사용합니다. Orbis OS는 FreeBSD(오픈 소스 Unix 계열 운영체제)를 기반으로 한 커스텀 OS입니다. Sony는 이를 바탕으로 게임과 멀티미디어 기능을 지원하는 맞춤형 인터페이스와 기능을 추가했습니다.PlayStation 5: PlayStation 5 또한 Orbis OS를 기반으로 합니다. 그러나 P..

개발/프로젝트 2024.08.16

Get PID From Socket ID

Windows API를 사용하여 특정 소켓에 대한 소켓 ID(SOCKET 또는 소켓 핸들)에서 해당 프로세스 ID(PID)를 찾는 방법에 대해 설명하겠습니다. Windows에서는 일반적으로 SOCKET 핸들과 직접적으로 관련된 API가 없기 때문에 소켓 ID에서 PID를 얻기 위해 네트워크 연결 테이블을 탐색해야 합니다.GetExtendedTcpTable 및 GetExtendedUdpTable 함수를 사용하여 시스템의 모든 TCP/UDP 연결을 조회하고, 해당 테이블에서 일치하는 소켓 핸들을 찾아서 그에 대응하는 PID를 얻을 수 있습니다.아래는 C++로 작성된 예제로, 주어진 SOCKET 핸들에서 PID를 찾는 방법을 보여줍니다. 이 예제에서는 TCP 연결을 대상으로 합니다.#include #inclu..

개발/윈도우 2024.08.01
반응형