Tamta Asatiani
Tamta Asatiani
  • 11
  • 34 185
I made a Game Engine for C++
I made a game development library called "tahmlib" for C++
tahmlib: github.com/tamtaasatiani/tahmlib
pong++: github.com/tamtaasatiani/pong-plusplus
___________________________________________
MY SOCIALS
github: github.com/tamtaasatiani/TicTacToe
google play games: play.google.com/store/apps/developer?id=Tamta+Asatiani
patreon: www.patreon.com/TamtaAsatiani
ko-fi: ko-fi.com/tamtaasatiani
twitter: x.com/tamta_asatiani
มุมมอง: 4 214

วีดีโอ

Timer Class for the Unity Engine
มุมมอง 367หลายเดือนก่อน
I made a timer class for Unity and you all can use it. CODEMONKEY'S ORIGINAL CODE: unitycodemonkey.com/utils.php MY UNITY TIMER CLASS: github.com/tamtaasatiani/Timer.cs MY SOCIALS github: github.com/tamtaasatiani/TicTacToe google play games: play.google.com/store/apps/developer?id=Tamta Asatiani patreon: www.patreon.com/TamtaAsatiani ko-fi: ko-fi.com/tamtaasatiani twitter: x.com/tamta_asatiani
don't do gamedev youtube
มุมมอง 26K2 หลายเดือนก่อน
Talking about why if you want to do gamedev, you shouldn't do gamedev youttube, as well as the future of this channel. ARTICLE ABOUT THE RUSSIAN LAW: www.bbc.com/news/world-europe-68822483 MY TIC-TAC-TOE MADE IN C : github.com/tamtaasatiani/TicTacToe MY SOCIALS github: github.com/tamtaasatiani/TicTacToe google play games: play.google.com/store/apps/developer?id=Tamta Asatiani patreon: www.patre...
HOW TO STRUCTURE YOUR VIDEO GAME CODE
มุมมอง 1.2K2 หลายเดือนก่อน
In this video I'm going to explain how to structure your video game code and not get tangled in it. TIMESTAMPS 0:00 intro 1:21 demo 3:11 game design/prototypes 15:27 source code 56:00 outro PLAY ATOMI: play.google.com/store/apps/details?id=org.godotengine.atomi SOURCE CODE AVAILABLE ON MY PATREON: patreon.com/TamtaAsatiani?Link MY SOCIALS github: github.com/tamtaasatiani/TicTacToe google play g...
Harvard's CS50 - Introduction to Game Development - Final Project Showcase
มุมมอง 7894 หลายเดือนก่อน
A showcase for the final project I made for Harvard's course "Introduction to Game Development".
WE MADE A GAME WITH NO COMMUNICATION (collab with wannibe manisha)
มุมมอง 1.1Kปีที่แล้ว
@WannibeManisha and i made a game with no communication WATCH MANISHA'S VIDEO!: th-cam.com/video/6m0xzrh7ku4/w-d-xo.html play the game here: gamejolt.com/games/snowballed/686259 my tumblr: spacenoomad.tumblr.com/ my gamejolt: gamejolt.com/@thespacenomad/games my google play games: play.google.com/store/apps/developer?id=space nomad my twitter: space_noomad
GAMEDEV GIRLS TALKING ABOUT GAME DESIGN (with Wannibe Manisha and Tamara Makes Games)
มุมมอง 1.5Kปีที่แล้ว
Talking about how we got introduced to games and why we decided to pursue it as a career, what we like in games now and why and how it affects the games we make. YOU CAN FIND THESE AWESOME LADIES HERE: TAMARA MAKES GAMES TH-cam (GameDev): th-cam.com/users/TamaraMakesGames Discord Server: discord.gg/dCJBpe2meg WANNIBE MANISHA TH-cam: th-cam.com/users/WannibeManisha Twitter: manisha_w...
WHAT'S INSIDE A SCORPION GAMING MOUSE?
มุมมอง 3663 ปีที่แล้ว
i disassemble my old scorpion gaming mouse. TIMESTAMPS 0:00 - intro 0:22 - disassembly starts here 7:37 - a good view of the motherboard 8:16 - outro my twitter: space_noomad​ play.google.com/store/apps/developer?id=space nomad my gamejolt: gamejolt.com/@thespacenomad

ความคิดเห็น

  • @perssontm1628
    @perssontm1628 57 นาทีที่ผ่านมา

    Only me that uhmm, thought, uhm. Nvm.

  • @deakooo
    @deakooo ชั่วโมงที่ผ่านมา

    Whoop whoop another great vid Tamta!

  • @deakooo
    @deakooo ชั่วโมงที่ผ่านมา

    Great video Tamta and that's crazy! I just left Tbilisi last March, lived there for a whole year. I *finally* started my own game dev / programming journey channel a few days ago, will be following you closely. Best of luck!

  • @ProfShibe
    @ProfShibe ชั่วโมงที่ผ่านมา

    looks interesting. gl

  • @root......
    @root...... ชั่วโมงที่ผ่านมา

    I remember, either the engine made from scratch will be absolute garbage or straight S tier. It's time to choose.

  • @ubiquituum
    @ubiquituum 2 ชั่วโมงที่ผ่านมา

    any considerations for porting this to the unices (freebsd, gnu/linux, openbsd etc)? sdl2 is available on almost all standard-ish operating systems

  • @CatwaiiYT
    @CatwaiiYT 2 ชั่วโมงที่ผ่านมา

    Awesome video, good stuff! I love how you explained your thought process, keep it up!

  • @Andre-LA
    @Andre-LA 4 ชั่วโมงที่ผ่านมา

    Congrats! Do you plan to use the new features of SDL3 GPU? I was waiting for it to add shaders on my framework, but I kinda gave up working on it for now :V

  • @michawhite7613
    @michawhite7613 6 ชั่วโมงที่ผ่านมา

    I love your FIrefox theme! I've also decided to make a game engine for my Pong game, but in my case, it's because I'm overengineering a simple problem: making the circle using vector graphics.

  • @siriusleto3758
    @siriusleto3758 6 ชั่วโมงที่ผ่านมา

    I bet the games will be prettier and less violent with the ladies dev

  • @mohamed-js4mu
    @mohamed-js4mu 6 ชั่วโมงที่ผ่านมา

    12:24 i remember having the same issue, i solved it by having a struct that holds function pointers (update,start...) that are set to NULL initially and you can check if the function pointer is not NULL you call it. You can create functions like "set_update" that take in the update function the user defined and set them in your internal structure.

  • @Amitrisu
    @Amitrisu 7 ชั่วโมงที่ผ่านมา

    I'm learning CPP now, for the identical purposes. Just two weeks in and it's kinda rough :D Hope I'll persist, would like to do some interesting practice like you, but I lack even the minimal knowledge to do so. Watching the endeavors of other people is inspiring!

  • @misterrabbit-m5114
    @misterrabbit-m5114 7 ชั่วโมงที่ผ่านมา

    Custom c++ engine is nice but, what about custom game engine i assembly language? But i should say that you can ending up in a madhouse (asylum)

    • @CatwaiiYT
      @CatwaiiYT 2 ชั่วโมงที่ผ่านมา

      Assembly isn't nearly as portable nor cross platform for that matter

  • @sabajoglidze9823
    @sabajoglidze9823 7 ชั่วโมงที่ผ่านมา

    I see Georgian game developer I subscribe წარმატებები

  • @Farlough1337
    @Farlough1337 7 ชั่วโมงที่ผ่านมา

    რეკომენდაციებში ამომიგდო ეს ვიდეო. ძალიან მაგარი გოგო ხარ, საოცრად გამიხარდა ქართველი ტიპის დანახვა 'გეიმდევ' სივრცეში. წარმატებები, გამოგიწერე! დაე შენი ჩენელის გამომწერები 100000x გაზრდილიყოს ; ) პ.ს. ტიმოტის კომენტარმა მომკლა

  • @whiteingale
    @whiteingale 7 ชั่วโมงที่ผ่านมา

    >don't do gamedev youtube >does gamedev youtube

  • @whiteingale
    @whiteingale 8 ชั่วโมงที่ผ่านมา

    where is the documentation of tahmlib?

  • @skale7738
    @skale7738 8 ชั่วโมงที่ผ่านมา

    how long are you writing in C++?

  • @TheDetonadoBR
    @TheDetonadoBR 8 ชั่วโมงที่ผ่านมา

    I wouldn't call this an game engine, more like a sdl2 wrapper

  • @zhamshidkaliev
    @zhamshidkaliev 9 ชั่วโมงที่ผ่านมา

    C++ ?! Speedrun how to f#ck your life!

  • @indianastilts
    @indianastilts 9 ชั่วโมงที่ผ่านมา

    Hey wow very talented to creating an engine/library. Where did you first learn c++? I used to learn it and do it with notepad for medal of honour scripting custom levels but stopped. I was going to use unity and learn c# but deciding on ue5 as that uses c++

    • @skale7738
      @skale7738 8 ชั่วโมงที่ผ่านมา

      I would say the best option is to pick a book

  • @filiperpg
    @filiperpg 10 ชั่วโมงที่ผ่านมา

    So cool! Thanks for sharing.

  • @yoppa7379
    @yoppa7379 10 ชั่วโมงที่ผ่านมา

    are you from georgia? gamarjoba! engine looks very intuitive. did you tried opengl or vulkan for graphic pipelines?

  • @thanosfisherman
    @thanosfisherman 11 ชั่วโมงที่ผ่านมา

    Rewrite your engine in Rust🚀

    • @meanmole3212
      @meanmole3212 9 ชั่วโมงที่ผ่านมา

      I rewrote my sanity in Rust after C++

    • @scooberydoobery
      @scooberydoobery 9 ชั่วโมงที่ผ่านมา

      m-muh memory safety!!!

    • @JoseLucasd
      @JoseLucasd 8 ชั่วโมงที่ผ่านมา

      Ewww

  • @B_dev
    @B_dev 11 ชั่วโมงที่ผ่านมา

    wow, very cool. thanks for sharing!!

  • @CODEDSTUDIO
    @CODEDSTUDIO 11 ชั่วโมงที่ผ่านมา

    I will give it a try

  • @12gabriel3
    @12gabriel3 11 ชั่วโมงที่ผ่านมา

    Very cool. I used lib Allegro for a small C game once, you can use C++ too

  • @sisqobmx
    @sisqobmx 12 ชั่วโมงที่ผ่านมา

    Is this 2d or 3d? Also why would one use it over raylib? I'm pretty sure you can use raylib with C++ too. I dont understand the point of this

    • @tamta_asatiani
      @tamta_asatiani 12 ชั่วโมงที่ผ่านมา

      it's 2D and raylib doesn't have update and draw methods as far as i know, if you're using it you need to set the loops up yourself. correct me if i'm wrong

  • @amano-20
    @amano-20 12 ชั่วโมงที่ผ่านมา

    bruh, too much knowledge for me

  • @OhBoy3DTime
    @OhBoy3DTime 13 ชั่วโมงที่ผ่านมา

    Meanwhile, I'm trying to learn programming for games without really knowing how to write a line of code myself. 🙃How and where will you get this knowledge! 😭

    • @tamta_asatiani
      @tamta_asatiani 13 ชั่วโมงที่ผ่านมา

      1. i recommend "the cherno" channel 2. books on C++

    • @OhBoy3DTime
      @OhBoy3DTime 13 ชั่วโมงที่ผ่านมา

      @@tamta_asatiani oh well thx xD i was just crying xD

    • @skale7738
      @skale7738 8 ชั่วโมงที่ผ่านมา

      @@tamta_asatiani The Cherno is our idol xd

    • @Sauvva_
      @Sauvva_ 4 ชั่วโมงที่ผ่านมา

      i jumped from rpgmaker 2k to gamemaker 8, and just reading the documentation for gamemaker was enough to make a lot of cool stuff, but studying computer science improved my code by a lot in gamemaker you dont need to code, you can use blocks, and then turn the blocks into code if you want to do something more complex

  • @arztareef
    @arztareef 13 ชั่วโมงที่ผ่านมา

    free robux when

  • @Zane65205
    @Zane65205 14 ชั่วโมงที่ผ่านมา

    I guess Timothee Chalamet is a man of many talents

    • @tamta_asatiani
      @tamta_asatiani 14 ชั่วโมงที่ผ่านมา

      i am a man of many talents

    • @mortysmith666
      @mortysmith666 ชั่วโมงที่ผ่านมา

      I thought she was that bruce wayne from Gotham tv shows lol

  • @JonPFS
    @JonPFS 14 ชั่วโมงที่ผ่านมา

    will you add physics ? player.x += 10 !!! 😁

    • @tamta_asatiani
      @tamta_asatiani 14 ชั่วโมงที่ผ่านมา

      if i DO add physics they'll be in the form of a proper physics object (staticbody, kinematicbody, rigidbody). if it's just gravity, it could be done to every project manually

  • @kernal2077
    @kernal2077 15 ชั่วโมงที่ผ่านมา

    it says your X account dosent exist

    • @tamta_asatiani
      @tamta_asatiani 15 ชั่วโมงที่ผ่านมา

      thank you for the heads up, fixed it!

  • @thedoctordowho2022
    @thedoctordowho2022 15 ชั่วโมงที่ผ่านมา

    I appreciente that you delve into the adventure of making game engine!awesome; Also you remind me of the actress of robin from How i met your mother Tv show!

  • @anuradevelopment
    @anuradevelopment 15 ชั่วโมงที่ผ่านมา

    what are your plans now when georgia is back under russian influence?

    • @tamta_asatiani
      @tamta_asatiani 15 ชั่วโมงที่ผ่านมา

      we're not fully under russia's influence. and the elections are coming up soon so things will change - for better or worse - and we'll see then

    • @anuradevelopment
      @anuradevelopment 10 ชั่วโมงที่ผ่านมา

      @@tamta_asatiani well i hope so, and wish you luck! and keep coding, C++ is awesome, because you can do cool things around memory layout/manipulation. (which is not possible in most higher level languages) it's so fun to know what "you have the control"

  • @RexSacriticulus
    @RexSacriticulus 15 ชั่วโมงที่ผ่านมา

    You shouldn't include the debug directories in a C++ project, you should add "Debug/" to your .gitignore file. There is a circular dependency between "tahm.h" and "seek.h". In "defs.h" better use "using alias = typename" instead of macros.

    • @tamta_asatiani
      @tamta_asatiani 15 ชั่วโมงที่ผ่านมา

      1. the debug folder includes dll files, which the exe file needs in order to run. if i didn't have the debug folder there, the user would have to manually put those into the debug folder, which i personally think it inconvenient. it's better if users can download the project file and immediately run it 2. is the circular dependency a problem? doesn't "pragma once" fix that and make sure it's included once? 3. what's the advantage of using alias = typename over macros? how do i determine which one i should use in a given situation? thank you for the advice, and also in advance for if you answer. last two are questions, i'm not arguing with you. just trying to understand the problems better

    • @RexSacriticulus
      @RexSacriticulus 14 ชั่วโมงที่ผ่านมา

      1. These files are supposed to be locally generated by your IDE/compiler/build system. The debug files are not what you're supposed to put out anyway. 2. A circular dependency is a logical error, you shouldn't self-include a header, you should use forward declarations instead. Include guards only protect against multiple inclusion of the same header. 3. That's a common practice, same as using const or constexpr instead of macros. Macros are simply pieces of code that are pasted in by the compiler at compile time, they are unintelligible to the IDE or the compiler.

    • @Hazanko83
      @Hazanko83 14 ชั่วโมงที่ผ่านมา

      ​@@tamta_asatiani You can define your project's working directory so that it can(and should be) the root folder of the program. DLL files are essentially library files, and aren't necessarily debug related at all(if they WERE bult in debug, they'd be with your other DLLs and likely have a "_d" suffix or something similar). Circular dependencies will immediately cause issues in any project that actually uses the library(and even in situations where your entire ''project'' is the library you're making). If you can't get away with a forward declaration of a struct/class inside of a header, you need to rethink your design. Ideally you want to forward declare where you can anyway; you can always forward declare types in a header if the usage of a type is only a pointer/smart_ptr. typedef/using has static analysis by the compiler and will allow you to use them for things that are actually useful like creating new types, static_assertions, being able to access them as if they are a ''variable''(not exactly, but accurate enough). You basically never want to use macros for actual logic or anything that should require type checking, if you can get away with it. There are situations where macros make sense, but they are inherently dangerous, and if it's not obvious whether you should be using a macro or something, you almost certainly shouldn't be using a macro. Something that does make sense, is #ifdef and the like to control compilation flags.

    • @CatwaiiYT
      @CatwaiiYT 2 ชั่วโมงที่ผ่านมา

      ​@@RexSacriticulusalso, expanding on no. 3: macros sometimes won't work with debuggers

  • @kr3ypt0n
    @kr3ypt0n 16 ชั่วโมงที่ผ่านมา

    Nice work! Now try using Pure C and Windows API to create the same

    • @tamta_asatiani
      @tamta_asatiani 15 ชั่วโมงที่ผ่านมา

      C++ is the most popular language for game development so i don't really see a point in that first one, but i AM thinking of using windows API instead of sdl in the future

    • @CatwaiiYT
      @CatwaiiYT 2 ชั่วโมงที่ผ่านมา

      ​@@tamta_asatianiwouldn't that make it Windows-only?

  • @AriAnggooro
    @AriAnggooro 16 ชั่วโมงที่ผ่านมา

    i support you sis..

  • @higgsboson6274
    @higgsboson6274 17 ชั่วโมงที่ผ่านมา

    great we have similar interests. subscribed

  • @ops4003
    @ops4003 18 ชั่วโมงที่ผ่านมา

    This is so cool! Nice abstraction layer for SDL 👍

    • @tamta_asatiani
      @tamta_asatiani 16 ชั่วโมงที่ผ่านมา

      thank you!

  • @DenoCORE
    @DenoCORE 18 ชั่วโมงที่ผ่านมา

    amazing

  • @user-cu3of4he2m
    @user-cu3of4he2m 18 ชั่วโมงที่ผ่านมา

    What was your channel name before

  • @ProrokLebioda
    @ProrokLebioda 22 ชั่วโมงที่ผ่านมา

    Great project! My suggestion, if you're open to them, would be to limit raw pointers and heap allocations as much as possible. It makes code less error prone and easier to maintain. You can always pass const ref when necessary. Also: if you don't want to have a console opened with application you should use windows platform specific main() This would be: int CALLBACK WinMain() You can read more about it online :) Good luck in gamedev!

    • @tamta_asatiani
      @tamta_asatiani 22 ชั่วโมงที่ผ่านมา

      i am very much open to suggestions! like with the "sound" class and window for renderer, for example? i could pass a const ref when creating a new class, but will it hold the reference? won't the const ref then be gone bc the lifetime of the scope is over?

  • @boki6252
    @boki6252 วันที่ผ่านมา

    yee i love low-level game development 😄

  • @MrMurilosopa
    @MrMurilosopa วันที่ผ่านมา

    nice job! keep the good work comming 😃

  • @dugl
    @dugl วันที่ผ่านมา

    noo I hate low-level game development 😅

  • @pat-s2
    @pat-s2 วันที่ผ่านมา

    Ill check out the repo <3

  • @model.citizen.ps3
    @model.citizen.ps3 วันที่ผ่านมา

    another great video - super c++ skills!

  • @ypupiaradasilva
    @ypupiaradasilva วันที่ผ่านมา

    Gona name my game engine "pupi" thanks for yah!

    • @tamta_asatiani
      @tamta_asatiani วันที่ผ่านมา

      pfft go for it dude

    • @supawithdacream5626
      @supawithdacream5626 วันที่ผ่านมา

      @@tamta_asatiani you are awesome i hope you know that

    • @sopadefita
      @sopadefita วันที่ผ่านมา

      🇧🇷