개발 JOB소리

개발 JOB소리

  • 분류 전체보기
    • 포트폴리오
    • 게임개발
    • 백준
    • C++공부하기
    • 개발잡소리
    • 수학
    • 개발 기록
    • 팀 프로젝트 후기
    • Shader_HLSL
    • Shader_유니티 쉐이더 그래프
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

개발 JOB소리

컨텐츠 검색

태그

Vector STAC 클라이언트보안 string EDGE 개발 자료구조 vertex 쉐이더 stack Unity 개발일지 게임클라이언트 c# solid 유니티 쉐이더그래프 dod 객체지향 수학

최근글

댓글

공지사항

아카이브

분류 전체보기(51)

  • [ 팀 프로젝트 후기 ] STA+C을 마치며

    Smart Teen App Challenge STAC 2024가 끝났다. 좀 많이 늦게 쓰는 감이 있지만..(10월 초 이후로 이미 끝남) 나름 한해의 절반을  투자한 만큼 정도 들고 오래 힘썼던 프로젝트였지만아쉽게도 결선에서 떨어지게 된..나름 발표에도 질문이 없었고 칭찬뿐이었어서 긴장은 어느 정도 풀고 있었으나기대를 하면 배신을 당한다 했던가 처참히 떨어졌다고 한다. 개인적으로 (팀원들도 그랬지만) 정신적 피해가 강했기에,결과 발표되고 한두 시간 정도 무기력증에 시달렸으나 발표날이 금요일이라집에 가겠다는 동기부여로 다시 일어날 수는 있었다. 하 나쁜 일만 있는 것은 아니다. 오랫동안 붙잡고 있었던 프로젝트인 만큼,실제로 출시하고 조금이나마 수익도 내본 포트폴리오도 하나 만들어졌고. 추가로 얻은 경험,..

    2024.10.18
  • [ 개발 잡소리 ] 제네릭과 템플릿

    이게 뭐지?제네릭은 C#에 존재하는namespace인데 이는 여러 유용한 자료구조 클래스들을 지원해 주고이런 것들에는 List, Queue, Stack, Dictionary가 있다. 이런 자료형에 대한 부분 중에 Stack과 Queue는 다른 글에서 앞서 설명한 적이 있으니 생략하고List와 Dictionary에 대한 설명을 하겠다. ListList는 길이에 제약을 받지 않는 가변길이 배열이다.C++로 치면 vector에 해당하는 개념인 것이다.사용 예제는 이러하다. List numberList = new List();일반적인 정적 배열과는 달리 가변길이 배열이기 때문에Add나 Remove와 같은 메서드를 통해 리스트의 요소들을 쉽게 관리할 수 있다. 하지만 이 List가 편하고 좋다고 완전히 배열을 대..

    2024.09.10
  • [ STAC 개발일지 ] 스택 개발일지 4 - Player Skill System

    전투 시스템 개발에 관한 글을 4번으로 쓰려했으나너무 빨리 단시간에 많은 내용을 개발해 버려서 쓸 엄두가 나지 않아 스킵하고다음으로 개발하는 스킬 시스템에 대한 글을 쓸 예정이다. 우선 구조를 좀 고민했다. SO만 끼우면? 알아서 Controller가 쿨타임마다 스킬을 활성화해주고스킬 버튼을 누르면 알아서 지정된 스킬을 사용하게끔, 그리고 교체에용이하도록 진짜 Change함수 같은 거 하나만 실행시켜 주면 바로바로교체가 가능한 수준의 무언가를 만들어야 한다. 고민해 본 결과 지금은 전투시스템 개편으로 사라졌지만.기존에 있던 무기시스템에 영감을 받아 SO가 들어가면스킬을 실질적으로 실행해 주는 프리팹을 생성하여 스킬을 구현하도록 구조를 짤 것이다. 일단 스크립트를 이렇게 3개정도 만들어 둔다PlayerSk..

    2024.08.10
  • [ 개발 잡소리 ] 메모리 구조

    메모리 구조는 무엇일까?딱딱한 정의부터 말하자면 메모리의 구조란프로그램이 실행될 때 운영체제가 프로그램에게 제공해 주는 공간의 구조이다. 개발에 있어서 이 메모리 구조라 함은 코드를 이해함에 있어서 굉장히 중요한 내용이자어쩌면 상식 중에서도 상식이라고 할 수 있다. 우리가 아무 생각 없이 사용하는 변수들이나 코드들까지 모두 메모리의 어딘가에 0과 1로써저장된다는 사실을 알고는 있을 것이다. 하지만 이들이 정확히 어디에 저장되는지는별로 알 필요가 없다고 생각할 수 있다.당연히 메모리 커널의 몇 번 줄에 몇 번 칸부터 몇 번까지 딱딱 들어있는지 알필요는 없으나어느 영역에 들어가 있는지는 알 필요가 있다. 왜 알아야 하는지에 대한 얘기는 이쯤 하고 설명하겠다.  우선 이 메모리 구조란 놈은 앞서 언급했듯이프로..

    2024.07.26
  • [ 개발 잡소리 ] HashCode와 String (Java 잡소리)

    Java의 System객체에는 IdentifyHashCode()이 있고모든 Object를 상속받은 자료형에는 HashCode()라는 기본함수가 들어있다. 뭐가 다른 걸까?System.IdentifyHashCode()이 녀석이 뭐 하는 놈이냐면 () 안에 들어온 객체의 메모리를 기반으로 하는 해시코드를 뽑아서 반환해 준다.단순히 주소를 보기 쉽게 숫자로 싹 한번 바꿔서 보여주는 애라고 알면 된다.따라서 동일한 객체라도 두 번 생성되면다른 메모리 주소를 가지므로 다른 identifyHashCode해쉬를 반환한다. HashCode()그러면 이 해시코드란 놈은 뭐 하는 놈인가 기본적으로 해시코드는 객체의 내용에 따라서 생성된다.Object클래스에서 상속받아 구현된 메서드로 모든 객체에서 사용할 수 있는기본함수(..

    2024.07.25
  • [ Shader ] 유니티 쉐이더 그래프 3 - Dissolve Shader

    Dissolve란?이런 것이다.흔히 게임 내에서 오브젝트가 파괴되거나 적이 사망하여 소멸될 때 등등사용처가 굉장히 많고, 꽤 만들기도 간단한 기능이다.함 만들어보자준비우선 Unlit으로 쉐이더그래프를 하나 만들어주고 (Lit 해도 된다) 그래프 세팅은 Surface Type만Transparent로 바꾸어준다 Transparent가 무엇인지는 아트 직군이거나포토샵을 좀 다루어 보았다면 알 것이다.이것은 텍스쳐의 알파값이 0일 경우그 픽셀을 투명하게 처리할 것인지검은색으로 처리할 것인지를 정하는 것이다. 따라서 우리는 Dissolve 될 때 검은색이 되는 게 아니라투명하게 안 보여 야하기 때문에Transparent를 선택해 준다3D에서 쉐이더그래프를 만들었다면Fragment자리에 BaseColor와 Alph..

    2024.07.15
  • [ STAC 개발일지 ] 스택 개발일지 3 - Status System

    일지라면서 매일 쓰는 게 아닌 이상한 모양새지만 어쨌든 일지이다. 오늘은 플레이어와 적들이 모두 가지는 Agent에게 필요한 Status를 구현할 것이다. 게임에서 스테이터스는 중요하다.플레이어의 성장에 깊게 관여하고 이를 유저가 직접 느끼도록 만들어주는 가장 대표적이고 확실한 수단이다.그래서 이 기능에 대한 개발에서는 더욱 신중하게 코드를 짜야한다. 우선 Stat이라는 클래스를 하나 만들 것이다.[Serializable]public class Stat{ // 무언가 코드}이 Stat이라는 놈을 묶어서 Status를 구성할 것이다. 이러한 수치들을 SO로 관리할 것이기 때문에Agent에서 관리하기 편하게 AgentStat이라는 SO클래스도 하나 만들어서위에 만들었던 Stat들을 몇 개 추가해 준다...

    2024.07.14
  • [ 포트폴리오 | 2024 GIGDC ] AVOID

    AVOID IN A VOID3차원 캐주얼 퍼즐게임 AVOID입니다.턴제와 실시간 요소를 섞은 퍼즐 게임입니다.공허에 남겨진 여러 퍼즐들을 클리어해 보세요.GGM 엔진 개인 프로젝트로 개발을 시작했으며GIGDC 2024 출품작입니다.개요제목AVOID장르3D, 캐주얼, 퍼즐시점3인칭 쿼터뷰그래픽 스타일로우폴리 3D 그래픽조작 방식키보드와 마우스를 이용한 기본조작게임 개발 오픈소스 깃허브GitHub_AVOIDSTOVE 스토어https://store.onstove.com/ko/games/4039

    2024.07.04
  • [ STAC 개발일지 ] 스택 개발일지 2 - PoolManager

    이전에 가지고 있던 꽤 괜찮다고 생각했던 PoolManager 코드가SOLID 법칙에 위배된다는 것을 깨달았다.풀링 할 오브젝트들은 이 PoolableMono라는 상위 클래스를 상속받아야만 했다. 그렇게 되었더니 인터페이스 분할 구조와 여러 법칙에 위배되게 되었다. 이렇게 구조를 짰던 이유는 그냥 Pool에 PoolableMono만 때려 넣어놓고타입 캐스팅 해서 그냥 쓰려했는데 개인 프로젝트에도 이 PoolManager를 쓰다 보니풀링을 하고 싶지 않았던 오브젝트도 풀링오브젝트로 취급되어 불필요한 데이터들이발생했었다. 이러한 문제를 해결하기 위하여 저 문제의 PoolableMono를 IPoolable로 고치는작업을 해주어야 한다. 우선 풀 매니저를 포함한 전체 구조를 보면우선 Pool은 PoolableM..

    2024.06.24
이전
1 2 3 4 5 6
다음
vcsHB GitHub vcsHB Portfolio
© 2018 TISTORY. All rights reserved.

티스토리툴바