CppCast - Quick Game Development

Episode Date: April 10, 2015

In 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)
Starting point is 00:00:00 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.
Starting point is 00:01:22 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.
Starting point is 00:01:50 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.
Starting point is 00:02:18 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
Starting point is 00:02:57 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
Starting point is 00:03:45 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
Starting point is 00:04:01 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
Starting point is 00:04:43 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,
Starting point is 00:05:30 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,
Starting point is 00:05:59 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,
Starting point is 00:06:35 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.
Starting point is 00:07:27 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
Starting point is 00:07:58 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.
Starting point is 00:08:33 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
Starting point is 00:09:01 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,
Starting point is 00:09:31 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.
Starting point is 00:10:09 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,
Starting point is 00:10:37 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.
Starting point is 00:11:05 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?
Starting point is 00:11:39 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
Starting point is 00:12:26 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++,
Starting point is 00:12:41 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
Starting point is 00:13:24 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?
Starting point is 00:14:03 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.
Starting point is 00:14:37 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
Starting point is 00:15:11 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.
Starting point is 00:15:37 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.
Starting point is 00:15:56 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?
Starting point is 00:16:36 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
Starting point is 00:17:17 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?
Starting point is 00:18:01 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?
Starting point is 00:18:45 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.
Starting point is 00:19:14 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.
Starting point is 00:19:50 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,
Starting point is 00:20:30 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
Starting point is 00:20:59 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
Starting point is 00:21:26 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
Starting point is 00:21:42 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
Starting point is 00:22:06 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.
Starting point is 00:22:51 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
Starting point is 00:23:27 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
Starting point is 00:23:43 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
Starting point is 00:24:19 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
Starting point is 00:24:56 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.
Starting point is 00:25:25 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,
Starting point is 00:25:54 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.
Starting point is 00:26:14 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
Starting point is 00:26:32 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.
Starting point is 00:27:27 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
Starting point is 00:28:13 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
Starting point is 00:28:48 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
Starting point is 00:29:05 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
Starting point is 00:29:30 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++.
Starting point is 00:29:54 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
Starting point is 00:30:26 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
Starting point is 00:31:06 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.
Starting point is 00:31:23 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,
Starting point is 00:32:10 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++.
Starting point is 00:32:40 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.
Starting point is 00:33:18 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
Starting point is 00:33:35 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
Starting point is 00:34:15 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
Starting point is 00:34:56 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,
Starting point is 00:35:27 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,
Starting point is 00:36:06 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.
Starting point is 00:36:27 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
Starting point is 00:36:56 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,
Starting point is 00:37:27 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
Starting point is 00:38:03 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.
Starting point is 00:38:56 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.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.