CppCast - Quick Game Development
Episode Date: April 10, 2015In this episode Vittorio Romeo joins Rob Irving to talk about making simple games with C++ using libraries like SFML, SDL and Cinder. Vittorio Romeo is an undergraduate Computer Science studen...t at "Università degli Studi di Messina". Since childhood he has always been interested in programming, and learned to develop applications and games as an autodidact. After discovering C++ a few years ago, Vittorio became extremely passionate about its evolution and its community. He currently works on open-source general-purpose C++14 libraries and develops free open-source games. Vittorio also loves teaching: he manages a well-received C++11/C++14 video tutorial series and he talked about game development in C++ at CppCon 2014. When he's not in front of a computer, Vittorio enjoys fitness activities (weightlifting, swimming, running) and reading. News C++ Samples C++ 17's STL what do you want it to have CppCon 2015 Call for Submissions The C languages merge (April Fools!) Vittorio Romeo Personal Website YouTube Channel Github @supahvee1234 Facebook Links Quick Game Development with C++ 11/C++14 Open Hexagon Open Hexagon FB
Transcript
Discussion (0)
Episode number 7 of CppCast with guest Vittorio Romeo, recorded April 10th, 2015.
In this episode we talk about CppSamples, a repository of modern C++ code samples for the community. Thank you. OpenHexagon.
Welcome to Episode 7 of CppCast, the only podcast for C++ developers by C++ developers.
I'm your host, Rob Irving, and I want to start off this episode by thanking Paul Foltz II for being the guest on Episode 6.
We had a good discussion about template metaprogramming and some libraries that Paul is working on,
Fit and Tick.
So, go check out Episode 6 if you haven't already.
Like every episode, I like to start off with a piece of feedback.
This week, I have an email from George.
George says, thank you for diving in and filling this huge void in developer podcasts. I'd like to start off with a piece of feedback. This week I have an email from George.
George says, thank you for diving in and filling this huge void in developer podcasts.
I would like to suggest that you ask guests to describe their dev setup, IDE, editor, what they like and why.
I don't mind opinionated stuff as long as everyone has an outlet.
Very cool.
So thank you, George.
I definitely like that idea. I'll start asking guests to describe how they go about doing their C++ development.
Joining me today is Vittorio Romeo.
Vittorio is an undergraduate computer science student at Università di Messina.
Vittorio, did I get that right?
It's Università di Messina? Vittorio, did I get that right? It's Università degli Studi di Messina,
which is roughly translated to University of the Studies of Messina.
Okay.
Since childhood, he's always been interested in programming
and learned to develop applications and games as an autodidact.
After discovering C++ a few years ago,
Vittorio became extremely passionate about its evolution and its community.
He currently works on open-source purpose C++14 libraries and develops free open source
games. Vittorio also loves teaching. He manages a well-received C++11 and 14 video tutorial
series, and he talked about game development in C++ at CppCon 2014. When he's not in front
of a computer, Vittorio enjoys fitness activities such as
weightlifting, swimming, running, and reading. Thanks for joining me.
Thank you for hosting the podcast and calling me in. I also have to thank John Cobb for
introducing each other.
Yeah, yeah. Thank you, John. He's been a huge help in connecting me with various guests.
So before we go into the interview, I wanted to talk about a couple news items this morning.
The first one is CPP samples. Did you take a look at this, Vittorio?
Yeah, I actually took a look at the website after reading the news on Reddit, on the CPP subreddit and it's a really nice initiative because i think that it helps beginners
and also people who are experienced with previous standards to get up to date and see how certain
common things could be done in modern c++ it also reminds me of the code samples that are in the cpp
reference website which is actually my
favorite go-to website to check
how the standard is implemented
and so on.
And I think that
the difference between the two is that
in CPP reference you need to
know what you're looking for, while in
CPP samples you just
have a rough idea of what you want to
achieve or maybe you want to know how certain things can be done in modern C++,
and you have a nice, well-designed website with comments and easy-to-browse examples.
So it's a very nice initiative. I really like it.
If I had one suggestion, it would be to allow the code to be compiled right in the website as the reference
does because it's nice to see the results of the examples right there right and just to add a
little bit um it seems like this was created by joseph mansfield i'm not too familiar with that
developer but he's doing some great work here and like you said it's a very you know nice looking
well-organized website he splits up you
know different types of examples you might want to look at common tasks classes functions random
number generation templates and when you click on each one it just goes into a nice little code
block showing you know whatever the example is and then he also goes into a somewhat in-depth
description about what the code is doing,
so he's just not throwing code at you. And, you know, the best thing probably is that he has all this hosted on GitHub, so it's just a link to go straight to the GitHub repository if you want to
fork it and work on his code samples. It's very nice. The next item I have is on Reddit, r slash cpp,
and STL went on here,
and he was asking for feedback on what developers might want to see
in the next version of the standard template library.
And I just think this is great
when people working on libraries that everyone uses, STL,
they come out and they really do look for feedback.
Did you take a look at this, Romeo?
Yeah, I actually read the post as it was being published on Reddit,
and I looked at all the comments,
and there are many things I agree with,
especially the ranges feature requests,
because the work done by Eric is fantastic, and I really want to see that into the standard. And there are many things I agree with, especially the ranges feature requests,
because the work done by Eric is fantastic, and I really want to see that into the standard.
And also, there are many other things that were mentioned.
I particularly want to see in the next standard a file system implementation, maybe similar to the one that Boost has,
because currently there are, I don't know, many things that you could do to,
I don't know, get the directories or get the files,
but there is not a standard way of doing that.
So it can be kind of confusing.
Also, something that I want to see is a string view and a write view. I've had the issue of optimizing my JSON parser,
which had many string copies. And I think that using string view instead of const references to strings could be very beneficial to the performance of the library. And I'd like to
see that in the standard as well another thing that is really
important especially for what i do which is game development would be flat containers such as flat
map or flat set which are available in boost if i'm not mistaken and basically what these containers
are are like an std map implemented on top of a vector.
So the data is in a cache-friendly way,
organized in a cache-friendly way,
but you have the interface of a map to get the key value pairs, for example.
So it allows faster iteration, and it's cache-friendly,
but you have to be careful with the reallocations and so on.
But it's very useful for performance-intensive code,
for example. Sure. Well, if you haven't taken a look at this yet, I definitely recommend everyone
to go over to Reddit and put in your feedback, because it does seem like STL is being very active
in reading all these comments and responding to them. And he's going to take all this feedback to the STL meeting,
which I believe is later this spring in May.
So the next article I want to talk about is that CppCon 2015
is now doing its call for submissions.
So if you have any interest in being a speaker at CppCon,
the deadline is May 22nd.
So plenty of time to submit a possible
talk that you would like to do. And Vittorio, I know you're one of the speakers at CppCon 2014.
Are you going to apply again? Yeah, I'm obviously going to apply again, because it was
my first experience in an international conference. And it was great to meet all the people that I've seen online
who are basically some of my idols
in the C++ community.
And it was also a really good experience
to be able to speak about things I love
in the C++ language
to very experienced developers
and also get their feedback in person.
So I will very, very probably apply again for this year's conference.
Very cool. I hope to make it out there this year.
I didn't get a chance to go last year.
So the next thing I want to talk about is I put out a poll this week on Twitter,
and I think you'd be interested in this poll.
I asked, have you tried making a simple game with C++?
And the responses I gave people, the options were,
yes, with SFML, yes, with SDL, I'm sorry,
yes, with Cinder, no, but I'm interested in trying,
or no, C++ is my job, not my hobby.
And I wanted to ask you, Vittorio,
do you have any guesses as to which was the more popular answer?
Honestly, I'm not sure what the answer was, but I hope it was no, but I'm interested in trying.
Yeah, that was actually one of the more popular answers that got about 21% of the votes.
There were a fair number of voters who have tried out SFML, SDL, or Cinder.
It wound up being almost like 40% of the votes among those three,
which is pretty cool.
I didn't expect that.
Yeah, and I did actually get a couple write-in responses, too.
There were people who said,
yeah, I've made a game, but it was with some other library. write-in responses too. There were people who said,
yeah, I've made a game, but it was with some other library.
I'm having trouble finding what all those other responses were. I think I saw Ogre being listed as one,
which I took a look at, and it didn't really look like
the same type of framework as SFML or SDL.
Are you familiar with Ogre 3D?
Yeah, it's basically a 3D engine,
which is a lot bigger in terms of complexity than SFML.
So it has been used for big games, complex games,
but it's not something that I would recommend to beginners.
Okay.
And there were a few votes for C++ as my job, not my hobby.
I would encourage those people to listen to today's interview,
and maybe you'll get interested in trying out one of these libraries.
So, Vittorio, I've had a number of listeners reach out to me
asking me to get some C++ game developers on the show to talk about game development in C++.
And this led me to your CppCon talk, which we already talked about.
And your talk last year was on quick game development with C++.
Can you tell me a bit about that talk?
So my talk was actually inspired by a previous talk done at Going Native 2013, if I'm not mistaken, by Herb Sutter, which was called 1C++.
And Herb Sutter actually encouraged everyone to try out game development using the Cinder library.
And he showed how easy it is to create a game using the latest standard, which at the time was POSPOS11.
And it was a Pac-Man clone.
And also something that inspired me were STL's videos.
Steven's videos. I'm not going to pronounce the surname because I will get it wrong.
So STL's videos that were on Channel 9, if I'm not mistaken,
which inspired me to teach to other people using video
tutorials and talks.
And the talk is basically
divided in an
introductory part and in the live
coding part. In the beginning,
I explain why everyone
should try out game development,
why game development with C++,
and why the latest standards.
And in the coding part, I basically have a lot of code segments
which are compilable, and basically they get more complex over time.
I compile every single code segment and show people
what my thought process is in the creation of a game
and how, step by step step it becomes a full playable game
and the talk was very well received so i'm happy about that both in person and on youtube and i'm
glad i actually managed to interest people in game development and show and show how easy it is with
new standards.
Yeah, I did watch the talk on YouTube, and I thought it was really well done,
so congratulations on that.
When I think about game development, prior to watching your talk at least,
I immediately think about high-performance graphics using OpenGL and DirectX,
but your talk focused on these easy-to-use multimedia libraries,
which I mentioned in the poll, SFML, SDL, and Cinder.
Can you tell me a bit about these libraries for those that aren't aware of them?
So I've actually never tried Cinder, but I read about it in several articles and communities,
and it's very well received by the C++ game developer community.
And it is a little bigger than SFML SDL,
and it's more like a framework than a simple library.
So it has more complexity, but it's still very suitable for beginners.
SFML is basically a simple, fast multimedia library. That's the meaning of the acronym.
And all SFML does is allow you to have a very easy-to-use interface
for input, audio, networking, and graphics.
So it's basically an easy-to-use wrapper
for all the operating system functions and OpenGL.
SDL has the same scope in being a simple wrapper,
but the interface is not really as modern as the SFML one,
and it's more a matter of preference,
whether you like the interface of SFML or the API of SDL.
I mean, they have both the same scope.
I actually prefer SFML both for the API
and also because it's being actively developed
by the community
and it's very easy to contribute using GitHub and so on.
So I really appreciate that as well.
And I suggest everyone to try out SFML as the first library
because it's also the easiest one to begin with.
It's very, very simple to set up
and get a simple window with a sprite running.
So it's perfect for starting out with game development
or multimedia programming in general.
Very cool.
Now you mentioned that you can contribute to SFML.
Are all of these libraries open source?
Yeah, they're all open source.
And obviously, they accept contributions.
Very cool.
If you're working on a game using SFML,
I'm assuming this is like a 2D graphics game framework.
Is that correct?
Well, that's the difference between SFML and other libraries like Augur.
You shouldn't call it a framework because it's just a simple wrapper for OpenGL, audio, and so on.
I mean, you could develop a framework on top of SFML, but it's not a framework itself, while Augur, for example, is a framework.
What was the question again? Sorry.
So what types of graphics, like what type of games are you going to be making with SFML?
This is a pretty basic library. the abstractions in the graphics module of SFML that are intended to wrap sprites or images,
you can only basically make a 2D game.
But SFML also allows you to have access
to the underlying OpenGL context.
So you can basically mix and match SFML abstractions
with OpenGL code,
and you can practically do anything you want.
In my career hobby of game development, I've never had the need to access this context and
use manual OpenGL functions, because I'm interested in the creation of 2D games, so all the abstractions that SFML gives me are
enough for me. But I've seen projects that actually combine these abstractions with
low-level OpenGL code to get more performance or actually render 3D objects. So anything is
possible. That's also what I really like about SFML, that you are not forced to use the abstractions.
You can just be as high-level or low-level as you want.
Very cool.
One other question I have about these libraries.
Are you making desktop games using all of these?
Are there any ways to create a mobile game for an iPhone or Android device?
So I'm pretty sure that SDL and Cinder already have mobile devices as targets. SFML has a branch
on GitHub that supports the mobile version of OpenGL and will target Android and iOS phones.
And it's currently being tested, and it's feature-complete,
so it will be probably released soon,
and SFML will be capable of targeting these devices as well.
That's pretty exciting.
So what are some of the modern features of C++ 11 and 14 that you found to be useful in your game development projects?
So I would reply to this question with the word everything
because I don't think there is a particular feature
that's extremely useful in game development,
but all of them make programming in C++ in general
very, very much a pleasure.
So I may mention things like auto,
veredict templates, lambdas, move semantics,
all of them have a place in game development.
Another thing that's very important is smart pointers.
For example, having factory functions
to manage entities and components
is very easy thanks to smart pointers.
You do not make mistakes
also there were some performance improvements that were introduced thanks to no accept
or move semantics or constexpr things that you had to do around time you can now practically
do them at compile time so there are many many things things that are very interesting for game development.
Some things that I actually talked about in the C++14,
sorry, in the CppCon14 talk,
are also the random and chronolibraries,
because I use random very often to obviously have random behavior in games,
and also the chronolo library to calculate frame time and manage frame time slices to allow the game to run the same on every device without depending on the frame time
so basically everything that was introduced in c++ 11 is extremely useful for game development
and any other kind of application and the additions that were also made in C++14
help a lot with making the code easier to read,
expand, and maintain.
So there's no reason not to use C++11 and 14 features.
All of them are fantastic features
for any kind of application.
Very cool.
So in the poll, I talked about how how a couple developers did respond to the question
with no c++ is my job not my hobby what would you say to those developers who are listening to the
podcast and have never tried writing their own game what would you say to you know let them know
that it would be worthwhile to invest some time in learning game development? So I think that game development,
if you enjoy programming,
is something that everyone should try
because it requires knowledge and skills
in a lot of areas of programming.
You basically have to deal with interaction in real time,
physics, audio, graphics, networking,
serialization, deserialization. So if you want to make
a game that's a very
complete experience, you have to
touch all of these areas. So it's a great
learning experience.
And also the
interactivity in real time
part basically
moves away from the usual
programming of
responding to events
in terms of graphical user interface.
So it's another way of thinking about the program itself.
Also, making a game makes you really involved with the community
in a way that you wouldn't be by making a simple application.
I mean, I find it really fun and satisfying
having a community that plays your
game and tells you what are the best features of your game and how you could improve that,
and also receive this kind of feedback and makes you understand that the people who tried your
game had fun. So it's a really rewarding experience. Also, I think that we all like to play computer games, so it's natural that
if we are able to program, we should try out making our own game and share it with others
and see how it goes. It's one of the areas of programming I'm most interested in and that
I find most fun. Very cool. Let's talk about the game that you've been working on for a while.
I think Open Hexagon, is that correct?
Yeah, that's correct.
Can you tell me a bit about that?
So Open Hexagon basically started as a clone of another game,
which is Super Hexagon, made by Terry Canava.
And it's a reflex-based game where you have to rotate your player, which is a little
triangle, in a clockwise or counterclockwise direction to avoid walls that basically
come from the edges of the screen towards the center. So it's a reflex game based on skill
and being able to read the movement of the walls in time
and move the player to
adjusted position.
From being a simple clone, it expanded
over the course of time.
I added a lot of new things like
3D effects, Lua scripting
so that people can make their own levels
and
I really focused
my attention on customization
because you can basically change everything about the game
by using simple scripts or JSON files.
You can change the colors, the graphic style,
the events that happen in the level.
For example, you can also script special events
that change the pace of the level and so on. So I've seen a lot of creations made by the players that are extremely interesting,
and it's nice to see that when you give people the opportunity to customize your game and add mods to
it, that there are a lot of creative things that are being developed.
And I'm currently working on OpenHexagon from time to time because I'm busy with university work and other projects.
And I'm trying to make the networking better
because it had a lot of problems.
It was one of my first C++ projects that I've completed,
so there is a lot of code that needs to be
modernized and made safer and more stable. And I'm trying to rewrite the server and the
client code from scratch in order to allow for more performant leaderboards and maybe
also level sharing online. There are a lot of things that can be improved in the game. So anyway, the game is free and available on Windows, Linux,
and the source code is on GitHub.
So if you want to play it or contribute to the development,
I'd be happy to have you in the team.
That's awesome. I'm definitely going to check out the game.
And I saw that you had a pretty active community around the game on Facebook.
Is that right?
Yeah, that's right.
There are people that still share levels
and create new levels for others to play
and also share their records on YouTube of hard levels.
So it's really fun for me to sometimes go on YouTube
and Facebook and check what the people have been doing.
There are some crazy players that achieve very huge scores
I will never be able to reach.
And also, if I'm not mistaken,
there's currently an event on Google+,
where players will have little tournaments of sorts,
where there are the level makers
that will create a level specifically for that
tournament and they will try to get the
highest record in that tournament.
I'm glad people are enjoying
the game and making new stuff.
Very cool.
I took a look at your GitHub page
and I have to say I'm really impressed
with the amount of open source content
that you've been creating, especially for someone
who's still in university. Where do you find the time to do all this great open source content that you've been creating, especially for someone who's still in university.
Where do you find the time to do all this great open source work?
So this is a very interesting question
because lately I've been having no free time at all
because of exams, exams work,
and general tiredness because of university.
But when I'm not in a time period where there are
a lot of exams one after another i usually find some hours of the day where i can work on my
libraries on my projects also in the weekend i usually go out in the evening, so the mornings and the afternoons are usually dedicated to programming.
And in university, between lessons, sometimes when I have nothing to do, I will just open up my laptop and improve some of my code.
But mostly the time where I can concentrate on my projects are the weekends and the evenings if I'm not too tired from university.
And this is in the winter.
In the summer, I obviously have a lot more time to spend on programming.
And I also have to balance that with my social life.
So there are some issues of timing there as well.
But summer is way more lenient in terms of free time for programming.
So that's how I managed to work on stuff cool uh i also saw you have a video series um called dive into c++
11 can you tell me about those tutorial videos you've been making well they are the videos that inspired my CppCon talk, that was inspired by Herb Sutter and STL's videos.
And basically, I have a series of videos
that cover primarily game dev topics,
but I've been also trying to cover modern C++ topics in general.
And I follow the style that I use in my talk
of having the code divided in segments
and showing every single segment
both how I manage to think about the design of that segment
and compile it and run it and show the results of the segment.
So it's a series aimed to programmers
who have some knowledge of C++.
The best audience for the series
would be people who are willing,
who had previous experience
with any programming language
or C++ in the previous standards
and want to learn
how to use the new modern features
to develop games or applications.
And basically, I really like teaching
and sharing my knowledge about C++ and game development.
So it's not something that takes...
It doesn't feel like work.
It feels like something fun to do
in sharing my knowledge
and it has been very well received
the tutorials are well liked
by the community and I'm happy
to have been able to contribute
to the spread
of Modern C++
so I'll be
expanding the series in the future with new videos,
and maybe I will create new series about other topics regarding C++.
That's great.
And yeah, it definitely seems like they're very well received.
Your first video has about 39,000 views, which seems pretty impressive to me.
Yeah, it was surprising to get a lot of views.
So another question I have is, you know, you're a university student in computer science,
and C++ is obviously a major passion for you.
Is it a part of the curriculum, too, or are you learning other languages?
So in university, C++ is actually not part of the curriculum
really it is briefly mentioned in the programming 2 course that is just a mention and it's about
ancient standards so basically there is no knowledge of the c++ 11 14, and that's actually a shame.
The language we learn in university as part of the curriculum are C, Java, Python,
and all the web stack,
which is HTML, JavaScript, PHP, and so on.
And C++ is a passion for me, as you said,
and I'm trying to spread this passion
to other students
and also to the professors.
I've been
introducing all of my classmates to
C++, and some of them
looked interested in
learning the language, so I've also
advised
them on what books to read.
Explicitly,
it was the latest books written by Bjarne,
Tour of C++, and I cannot remember the name of the other book,
but they are great for beginners and people who want to know the language
and have experience in programming languages.
And also, something I want to do in the future,
when I hopefully have a lot of free time is set up a C++ workshop at my university and maybe have a day or two of programming and showing everybody how C++ has improved since C++ 03 with the new standards and how easy it is to develop applications that are fast and easy to expand in C++.
So that's something I really want to do in my university,
because it's really a shame that C++ is not...
Basically, it is still regarded as a low-level language as it was a few years ago.
There is no knowledge of the improvements
and benefits of modern C++.
That's really a shame.
I mean, yeah, C++ is such a core language,
and it's odd that they would introduce students to C
without C++.
Yeah, that's really troubling to me.
Their reasoning is that c gives you the opportunity
to understand low-level code and algorithms and memory management but instead of jumping from c
to c++ because most uh most work positions in italy do not require c++ knowledge. Rather, they require Java, C Sharp, and more managed languages.
They jump from C to Java.
And I'm not saying that C++ should be placed
between C and Java,
because C++ can do pretty much anything.
But I think that it would be a lot more logical
to jump from C to C++
because of the
knowledge that students have of C
and also show them
how C++
is a completely different world
than its lower
level counterpart, which is C.
And
I don't know really. They currently have no
plans of including C++
as part of the curriculum.
As I said, there is a little small mention in the Programming 2 course,
but it's nothing compared to what should be done in order to have students learn C++ and all of its benefits. Okay. So the feedback I got today asked what my guest developer setups were like. Can you
talk a little bit about what your development setup is like? And one thing I'm curious about
is when you're working with SFML or SDL, are you using kind of standard IDEs or is there some kind
of custom setup in order to work with SFML?
So my current development environment is Arch Linux 64-bit and I have it installed both on my home computer and on my laptop. And I use as my IDE Qt Creator, which is made by the Qt developers, but
isn't limited to working with the
Qt library. It can be used as
an IDE for any kind of Salesforce project.
And it is
an IDE that I
really like because it is integrated with
CMake. You basically
write your CMake file. CMake is
a build system that allows you to
easily set dependencies and
specify what the files you want to compile are. And also it is a full-fledged scripting language,
so you can do a lot of complex stuff with it. Anyway, Qt Creator allows you basically to load
a CMake file and it builds the structure of the project automatically. So you can work on the CMake file, reload the project,
and it will load the new files into the IDE.
And also it is really powerful as an IDE.
It has Clang integration for any kind of code completion
and refactoring that you might want to do.
And it's really nice looking and fast.
So that's my main development application
if i want to write like a quick script or something that does not require a cmake file
project i just use sublime text as my code editor also you were asking about sfml and SDL? Well, by using CMake with Qt Creator,
you can simply add the line
find package SFML into the CMake files
and it will do everything automatically.
So there is no need of
installing the library files manually
or have to do some complex things
in order to make them compile-only.
CMake takes care of that.
But if you wanted to actually compile it manually, it's not difficult at all.
You just clone the SFML github repository, and it has its own CMake file.
So you invoke CMake, and then invoke Make, and you'll have the library ready.
When you want to compile your project, you just link it
and set the include path.
It's really easy, nothing
hard to do.
It's really beginner-friendly
even in that phase.
Very cool. I'm definitely going to have to
take a look at SFML just to get my feet
wet with gaming.
Out of curiosity, I had Anastasia
Kazakova from JetBrains on a few episodes ago, and they have a new CLion IDE, which I've heard
is pretty popular with Linux C++ developers. Have you given that one a try? Yeah, I actually did,
and it looks really, really promising because it has a lot of C++ features that are related to the core language,
like refactorings that require the IDE
to have knowledge of how the language works.
It reminds me a lot of, obviously, Rush Sharper
that is for C Sharp that the same company made,
which is a tool that I absolutely love.
And I tried it, and it has some issues finding the header files for my projects.
And I actually filed that bug report on the CLion tracker. So I hope it will be fixed in the
future, not a too distant future. And I'll be able to try out the IDE with my computer projects
because it really looks powerful and interesting.
Very cool. Well, thank you so much for joining me on the show. How can people find you online?
So people can find me online in my main website, my personal website, which is vittorioromeo.info
or by simply googling my name, it should be one of the first results and there i have a lot
of links to all my social pages to my github page and my emails so that's basically the
the easiest way to find a way to contact me and also my github page is superv1234.
So if you want to contribute or try out my projects,
I would be happy to work with you on my libraries or my games.
That's how you find my code.
Awesome. Thank you, Vittorio.
Thank you.
Thanks so much for listening as we chat about C++. I'd love to hear what you think of the podcast. Please let me know if we're discussing the stuff you're interested in Thank you. and like CppCast on Facebook. And of course, you can find all that info and the show notes on the podcast website
at cppcast.com.
Theme music for this episode
is provided by podcastthemes.com.