![Tamta Asatiani](/img/default-banner.jpg)
- 11
- 34 185
Tamta Asatiani
Georgia
เข้าร่วมเมื่อ 19 มี.ค. 2017
I document my C++ and game development things here!
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
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
Only me that uhmm, thought, uhm. Nvm.
Whoop whoop another great vid Tamta!
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!
looks interesting. gl
I remember, either the engine made from scratch will be absolute garbage or straight S tier. It's time to choose.
any considerations for porting this to the unices (freebsd, gnu/linux, openbsd etc)? sdl2 is available on almost all standard-ish operating systems
Awesome video, good stuff! I love how you explained your thought process, keep it up!
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
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.
I bet the games will be prettier and less violent with the ladies dev
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.
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!
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)
Assembly isn't nearly as portable nor cross platform for that matter
I see Georgian game developer I subscribe წარმატებები
რეკომენდაციებში ამომიგდო ეს ვიდეო. ძალიან მაგარი გოგო ხარ, საოცრად გამიხარდა ქართველი ტიპის დანახვა 'გეიმდევ' სივრცეში. წარმატებები, გამოგიწერე! დაე შენი ჩენელის გამომწერები 100000x გაზრდილიყოს ; ) პ.ს. ტიმოტის კომენტარმა მომკლა
>don't do gamedev youtube >does gamedev youtube
where is the documentation of tahmlib?
how long are you writing in C++?
I wouldn't call this an game engine, more like a sdl2 wrapper
C++ ?! Speedrun how to f#ck your life!
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++
I would say the best option is to pick a book
So cool! Thanks for sharing.
are you from georgia? gamarjoba! engine looks very intuitive. did you tried opengl or vulkan for graphic pipelines?
Rewrite your engine in Rust🚀
I rewrote my sanity in Rust after C++
m-muh memory safety!!!
Ewww
wow, very cool. thanks for sharing!!
I will give it a try
Very cool. I used lib Allegro for a small C game once, you can use C++ too
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
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
bruh, too much knowledge for me
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! 😭
1. i recommend "the cherno" channel 2. books on C++
@@tamta_asatiani oh well thx xD i was just crying xD
@@tamta_asatiani The Cherno is our idol xd
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
free robux when
I guess Timothee Chalamet is a man of many talents
i am a man of many talents
I thought she was that bruce wayne from Gotham tv shows lol
will you add physics ? player.x += 10 !!! 😁
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
it says your X account dosent exist
thank you for the heads up, fixed it!
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!
what are your plans now when georgia is back under russian influence?
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
@@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"
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.
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
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.
@@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.
@@RexSacriticulusalso, expanding on no. 3: macros sometimes won't work with debuggers
Nice work! Now try using Pure C and Windows API to create the same
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
@@tamta_asatianiwouldn't that make it Windows-only?
i support you sis..
great we have similar interests. subscribed
This is so cool! Nice abstraction layer for SDL 👍
thank you!
amazing
What was your channel name before
Space noomad
yep
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!
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?
yee i love low-level game development 😄
nice job! keep the good work comming 😃
noo I hate low-level game development 😅
Ill check out the repo <3
another great video - super c++ skills!
Gona name my game engine "pupi" thanks for yah!
pfft go for it dude
@@tamta_asatiani you are awesome i hope you know that
🇧🇷