c++ game development - Tomato Soup https://www.wholetomato.com/blog Visual Assist Team Blog Tue, 28 Nov 2023 07:07:09 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.2 https://www.wholetomato.com/blog/wp-content/uploads/2025/05/favicon.ico c++ game development - Tomato Soup https://www.wholetomato.com/blog 32 32 227787260 Visual Assist 2023.2 released https://www.wholetomato.com/blog/visual-assist-2023-2-released/ https://www.wholetomato.com/blog/visual-assist-2023-2-released/#respond Wed, 17 May 2023 16:00:51 +0000 https://blog.wholetomato.com/?p=3218 The second update to Visual Assist in 2023 is here. This update features an extensive series of upgrades to code inspections, shader extension support, and a number of quality fixes to the IDE. Download the...

The post Visual Assist 2023.2 released first appeared on Tomato Soup.

]]>
The second update to Visual Assist in 2023 is here. This update features an extensive series of upgrades to code inspections, shader extension support, and a number of quality fixes to the IDE. Download the latest version of Visual Assist now.

Greatly expanded code inspections with over 100 new Clang Tidy checks

The biggest item in this release is the added support for all code checks available from Clang Tidy. Code inspections are semi-automatic checks that prompt the user when Visual Assist’s engine recognizes outdated syntax or an otherwise correctable code issue. 

For context, Visual Assist’s code inspection is based on a series of checks from LLVM Clang Tidy. And before we add support for a new check, we rigorously test it for accuracy and compatibility. This process ensures that the check will give consistent suggestions for almost all use cases. In fact, this is the process undertaken for the two new added code inspections in this release—more on them later.

What we’ve added is the ability to use unevaluated Clang Tidy checkers as Code Inspections straight from Visual Assist. This greatly expands the types of code issues that can be detected with code inspections enabled. There is a slight tradeoff in that you may need to do some manual testing when using unvetted checks. Take a look at the full documented list of Clang Tidy checks.

The latest addition to our list of vetted code inspections are for bugprone-swapped-arguments and bugprone-argument-comment. These checks look for potentially swapped arguments by looking at implicit conversions and detect typos in argument comments and suggest automated fixes for them, respectively.

Lastly, we’re also announcing that code inspection is officially out of beta and is now running on Clang engine version 15.0. The beta label is mostly a formality and all functionality should function the same. If you haven’t, we highly advise enabling code inspections.

group code inspection by severity

Protip: When running comprehensive code inspection checks in a file, you can sort and group issues by level. Code inspection levels refer to an arbitrary metric representing severity given to a code check. Level one signifies critical, level five being on the level of a reminder, and zero refers to unflagged checks.

Extended Shader File Customization

Visual Assist 2023.2 better Shader Support

Due to consistent demand and great feedback, a significant portion has also been given to further improve our support for shader files. In fact, as of this release, it is in the last phases of beta testing and will most likely be available for general support very soon.

In this release, you can now use custom shader file extensions (there are no longer extensions considered “default”). Coloring and syntax highlighting has also been drastically improved, with almost all bugs ironed out as well.

Enable support for shader file parsing by accessing Visual Assist Options ->> Game Development ->> Enable support for shader files.

Enable Visual Assist Shader Support

Integrated-style extensions menu (pre-Visual Studio 2019)

In Visual Studio 2019, the toolbars and plugins were rearranged. Instead of being able to access your plugins in the main toolbar, you had to instead go under the Extensions menu. 

For the most part, this made sense—it’s easier to find all installed plugins and access their features correspondingly. However, for users who had one or a handful of plugins or are more comfortable using the mouse instead of shortcuts, the extra step might be bothersome (e.g. mouse users with only VAX installed).

Some users expressed interest so we’ve added the option for an integrated-style menu for extensions (similar to the pre-VS 2019 setup). 

This new menu mode can be enabled via Extensions ->> VAssistX ->> Visual Assist Options ->> Display ->> Switch to Legacy Style Main Menu.

Implement Virtual Methods context menu option to check / uncheck all.

The last of the new features in this release is a quality of life change. Inheriting from other classes is made much easier and intuitive using the Implement Virtual Methods feature.

While in the dialog, we added a small tweak that allows users to check and uncheck all possible methods using a simple checkbox. Neat little addition, we hope.

Visual Assist’s Implement Virtual Methods feature provides a neat little dialog to make inheriting from other classes quick and intuitive.

 

Bug Fixes

  • Fixed issue where installer exe could report errors after a successful install.
  • Improved auto type deduction for const, pointers and chained function calls.
  • Fixed issue where Code Inspections could fail with the latest MSVC includes.
  • Fixed issue where shader coloring may not be applied to the correct file extensions.
  • Fixed issue where shader coloring sometimes not applied to files opened automatically on solution load.
  • Fixed issues which could lead to the VA Navigation Bar being drawn incorrectly.  
  • Fixed issues which could lead to missing icons.
  • Improved tab completion in C# to interact better with build in tooling.
  • Fixed minor visual theming issues in various VA dialogs. 

Much thanks to those who submitted their feedback and bug reports. Keep ‘em coming. Send us a message or start a thread on the user forums for bug reports or suggestions. Happy coding!

The post Visual Assist 2023.2 released first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/visual-assist-2023-2-released/feed/ 0 3218
The Most Pervasive Problems In Game Development https://www.wholetomato.com/blog/the-most-pervasive-problems-in-game-development/ https://www.wholetomato.com/blog/the-most-pervasive-problems-in-game-development/#respond Thu, 19 May 2022 23:43:58 +0000 https://blog.wholetomato.com/?p=2394 Game development is a very interesting and at the same time very complicated process. In this article, we will look at the most pervasive problems in the game development process, as well as possible ways...

The post The Most Pervasive Problems In Game Development first appeared on Tomato Soup.

]]>
Game development is a very interesting and at the same time very complicated process. In this article, we will look at the most pervasive problems in the game development process, as well as possible ways to solve them.

What is the game idea?

For the creation of any project to end in success, it is very important to initially analyze and plan everything well.

Before you start creating a game, you need to think carefully about its purpose and type. It can be a logical or gambling game, strategy, simulator, or action game. Next, you need to determine the game development plan and its scenario.

Also, it is useful to analyze in detail similar games, their advantages and weaknesses, and what functions users lack. This will help you avoid common mistakes that occur when developing similar games, design the architecture correctly, and reduce the time to fix common mistakes in the future.

Often, developers create a very complex game that does not meet their goals. To avoid this problem, you need to create the game iteratively. First, implement the basic functionality that will work. Then, gradually add new features and test them for compliance with the initial set plans.

What is the game’s target audience?

For a game to have a large number of users, it is necessary to conduct research and analyze what group of users the game is intended for. Indicators such as users’ age, type of activity, nationality, etc. are important.

For the successful launch of the game, it is important to know how users react to it, and what comments they leave. To do this, it can be useful to run a beta version of the game for a limited number of users in order to collect feedback and improve the game based on it.

Which game engine to choose?

There are a lot of game engines that provide different ready-made solutions and tools out of the box. Before you start creating a game, you should conduct a detailed analysis of existing engines and determine the advantages of using them in the development of your game.

Using ready-made solutions can significantly speed up and simplify the game development process compared to writing your engine from scratch. The main disadvantage of using ready-made engines is that you need to read a lot of documentation and understand the engine’s interface.

One of the popular game engines is Unreal. It has great blueprints that work like building blocks, so you can easily use this engine to assemble and customize basic things even without programming knowledge. Also, this feature is great for prototyping. Unreal uses rendering technology and post-processing works very fast.

Unreal has good VR integration. It has visual editors for standard shaders. This allows you to edit them without using code.

Also, in Unreal, there is a large set of tools for optimizing the game and access to visual debugging, with which you can easily test what, when and how is rendered. Want some other game developer tips?

How often do you need to update the game?

To keep users interested in the game, there is a constant need to release updates. You can create new modes, heroes, features, events, weapons, etc. Along with this, game programmers need to support the already developed functionality, by fixing existing bugs for example. In this regard, developers have to constantly perform a large amount of work.

To have time to complete all of the above tasks, it is very important to create a clear plan and follow it. This plan should include tasks that developers can complete in a specified period of time.

To speed up the process of creating a game and simplify the developers’ work, it is important to choose the right development tools. Different tools provide the ability to automate many frequently performed actions.

How does operating system fragmentation affect game development?

There are a lot of different operating systems nowadays and over time new ones appear. For the game to be played by as many users as possible, it must work on all operating systems. Each OS has a different SDK and a different set of interaction rules.

This greatly complicates the process of developing a game that will be compatible with each OS. Therefore, there is a need to use ready-made engines that allow you to create cross-platform games.

Looking to improve your game development experience? Check out our webinar.

What tools make game development easier?

If you develop games using Visual Studio C++ and Unreal Engine, then we have good news for you. Visual Assist Extensions for Visual Studio has support for Unreal Engine and provides tools that greatly simplify and speed up the game development process.

Let’s list the main benefits that Visual Assist provides for Unreal Engine projects.

Visual Assist provides the possibility to display comments from the base classes for Unreal Engine C++ and U*Macro specifiers in the code. This feature speeds up the process of studying the documentation and, accordingly, speeds up the development. Now you can learn Unreal Engine easily.

Visual Assist provides functions for quick code navigation and refactoring such as Goto, find references, rename, and change signature. The ability to read U*Macro specifiers optimizes these functions.

It offers the ability to type code quickly thanks to smart suggestions for U*Macro specifiers. For newly entered specifiers, Visual Assist quickly finds and displays suggestions.

Visual Assist automatically adds a call to the Superclass to the template when you extend the functionality of the engine. This reduces the number of actions you have to do manually.

Visual Assist provides the ability to use the Rename function to rename classes, files, methods, variables, and any other types or objects. All its uses, including comments, strings, and headers, rename automatically. Also, you can preview these changes in a special dialog.

After reading the article, you understand that game development is a very complicated process that has a list of difficulties. At the same time, it is quite interesting and useful work.

Install the Visual Assist for Visual Studio extension with Unreal Engine support and create games easily.

The post The Most Pervasive Problems In Game Development first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/the-most-pervasive-problems-in-game-development/feed/ 0 2394