본문 바로가기

전체 글41

Six shot loaded 깃허브 레포 https://github.com/NCTp/SixShotLoaded 영상 https://youtu.be/0lqs9v8i58I 첫 Pygame제작 게임입니다... 엔진없이 만드는 게임은 어렵다. 엔진없이 만들면서 느꼈던 장점은 개발에 있어서 자유도가 높다는 것이다. 반대로 자유에는 책임이 따르는 법, 개발 자체가 엔진에 비해 힘들다. 돌아보니 깨달은 것은 1. 드랍 아이템의 가시성 2. 적의 특색 3. 레벨디자인 정도가 되겠다. 그래도 어떤식으로 엔진이 동작하는지를 알 수 있는 좋은 기회였다. 그리고 그 지식들이 엔진을 활용할 때도 많은 직관을 주더라... 오랜만에 도트도 간단하게 짰다. 프로그래밍도 해야되고 시간도 없어서 최대한 형태만 갖추게 만들었는데 힘들다. 2022. 9. 3.
Anarak, Zombie shooting survival game Project Anarak https://www.youtube.com/watch?v=gYu9qzL89RA 언리얼 엔진4를 통한 FPS 생존게임 개발이 끝이 난지 2달이 지났다. 나는 비록 프로그래머이지만 팀에서 아트를 담당했다. 평소에도 프로그래머같은 사고보다는 예술가적 관점에서 사고하는 경우가 많았고, 솔직히 예술을 하고싶다. 그런 욕심이 있었기에 먼저 아트를 맡겠다고 하여, 그리 되었다. 언리얼 엔진에서 아트와 관련된 기능을 대부분 만져보았고, 최적화도 나름 잘 했다. 단순하지만 컷신도 만들었다. 눈으로 보이는 것들을 만드는 데에 기초적인 부분은 모두 익힌 좋은 경험이었다. 하지만 그런 소득과는 별개로, 만들어진 결과물은 처참했다. 내 맘에 드는 작품도 아니었고, 교수님과 학생들의 평가에서도 하위권을.. 2022. 9. 3.
Project Dash (18년도 제작) 가장 처음으로 만들었던 게임이다. 유니티를 이용해 만들었다. 18년도 2학기에 했던 팀프로젝트. 저는 프로그래밍 / 도트를 맡았다. 협업에 대한 지식도 없었고... 도트도 처음짜보고 유니티도 처음써보고 혼란스러운 점이 많았던 프로젝트로 기억한다. USB도 옮기고 다녔던... 마법사 보스는 나름 만족할만큼 만들었고, 주변 평가도 좋았는다. 그 뒤로 그냥 망해버린 것 같다. 도트도 찍어보고, 보스 ai도 짜보고, 많이 배웠던 작품이다. https://youtu.be/Y1_Ynb6_ySw 2022. 9. 3.
Running game (2018 Retr0 해커톤) 2018년도 경희대학교 소프트웨어융합학과 Retro 해커톤 은상 3명이 유니티 이용 개발 https://www.youtube.com/watch?v=ZV3LCRSFbRg&ab_channel=nctp 2022. 9. 3.
UE4) 언리얼 프로젝트를 깃허브로 공유할 때 주의할 점 8월 2일 화요일... 따로 작업한 branch들을 머지할 때 생기는 수많은 충돌로 머리가 뜨거워졌다. 바보같이 생긴 미스였고, 잘 해결했다. 문제점은 바로 프로젝트의 모든 파일들을 깃허브를 통해 공유했다는 것이었다. c++ 기준, 언리얼 프로젝트를 생성하면 생성되는 파일들은 .vs Binaries Config Content DerivedDataCache intermediate Saved Source .sln .uproject 가 있다. 이번에 겪은 문제는 이 파일들 모두를 공유했기 때문에 생긴 문제. 이 문제를 겪지 않으려면, 언리얼 프로젝트를 공유할 때는 다음 파일들만 공유한다. Binaries Config Content Source .uproject 필요없는 파일들은 .gitignore에서 거르자... 2022. 8. 3.
Operating System - Ch16. Security 본 글은 Operating System Concepts 10판을 기준으로 작성되었습니다...! 기본 용어 - Vulnerability: 취약점. CIA Triad가 깨지는 상황 - Threat: 위협, 취약점의 노출 가능성 - Attack: 위협의 실제 수행 - Adversary: Attack의 주체 - Countermeasure: 공격에 대한 반격 수단 Security requirement triad (CIA Triad) - Confidentiality: 기밀성, 데이터 내용을 남들이 알 수 없게 만들어야 한다. - Integrity: 무결성, 데이터의 위조나 변조가 될 수 없도록 한다. - Availability: 가용성, 어떤 상황에서든 시스템과 데이터를 사용할 수 있어야 한다. 이 세 가지 요건을.. 2022. 6. 20.
Operating System - Ch14-15: File system ㅇ본 글은 Operating System Concepts 10판을 기준으로 작성되었습니다...! 이번 챕터에서는 File system에 대해 알아보자. File System Implementation 파일 시스템의 구현은 크게 두 가지로 나뉜다. - In-memory structure: 운영체제가 시작되서 해당 프로세스가 파일을 접근할 때 필요한 구조. - On-disk structure: 전원이 꺼져도 Secondary storage가 데이터를 저장하기 위해 필요한 구조. In-memory structure 특정 프로세스가 파일에 접근하기 위해 open을 수행하면 file descriptor가 반환이 된다. 이것을 가지고 read/write을 하게 된다. open할 때 경로가 포함되어 있는 파일이름을 .. 2022. 6. 19.
Operating System - Ch13: File system interface ㅇ본 글은 Operating System Concepts 10판을 기준으로 작성되었습니다...! 이번 챕터에서는 File system interface에 대해 알아보자. File: 관련된 정보들을 집합으로 모아둔 것 또는 secondary storage에 저장하고 사용자에게 보여지는 하나의 단위. - File system은 이 File들을 체계적으로 관리하기 위한 시스템이다. - Windows 는 NTFS라는 File system을 사용한다. 그 전에는 FAT이라는 시스템을 사용했다. - Linux / Unix 계열은 ext라는 시스템을 사용한다. - Apple은 AFS(Apple File System)라는 시스템을 사용한다. - USB는 VFAT(Virtual FAT)을 사용한다. - FAT과 NTFS.. 2022. 6. 18.
Operating System - Ch12: I/O systems ㅇ본 글은 Operating System Concepts 10판을 기준으로 작성되었습니다...! 이번 챕터에서는 I/O systems에 대해 알아보자. I/O 연산은 CPU의 I/O 명령에 의해 수행된다. CPU가 I/O 장치에게 명령을 내리는 방법에 따라 Direct I/O와 Memory-mapped I/O로 나뉜다. 하드웨어적인 관점으로 볼 때는 I/O device가 I/O 명령을 수행하는 방식에 따라 Programmed I/O, Interrupt, DMA(Direct Memory Access) 세 가지 방식이 있다. - Programmed I/O는 I/O 장치에서 처리한 결과를 CPU register에 직접 전달하는 방식이다. 이 때는 I/O 연산의 결과값이 작은 경우.(키보드나 마우스) - 그 결.. 2022. 6. 18.
Operating System - Ch11. Mass storage structure 본 글은 Operating System Concepts 10판을 기준으로 작성되었습니다...! Mass storage는 다음과 같은 것들이 있다. - HDD (Hard Disk Drive) - SSD (Solid State Disk) - RAM disk - Magnetic tape 이러한 저장장치를 연결하는 방법은 두 가지가 있다. Host attached: I/O 포트를 통해 붙인다. 컴퓨터를 조립할 때 SATA 케이블이나 M.2 슬롯에 넣는 물리적인 연결. - IDE: 우리가 PC에서 사용하는 인터페이스 - SCSI: 서버같이 신뢰성과 기능이 중요한 컴퓨터에 사용하는 인터페이스 Network attached: 네트워크를 통해 붙인다. - NAS(Network-Attached Storage): 4~5베.. 2022. 6. 18.