unity - Tomato Soup https://www.wholetomato.com/blog Visual Assist Team Blog Tue, 28 Nov 2023 07:07:13 +0000 en-US hourly 1 https://wordpress.org/?v=6.4.5 https://i0.wp.com/www.wholetomato.com/blog/wp-content/uploads/2020/05/cropped-wt-logo.jpg?fit=32%2C32&ssl=1 unity - Tomato Soup https://www.wholetomato.com/blog 32 32 227787260 Visual Assist 2023.4 now released https://www.wholetomato.com/blog/2023/08/17/visual-assist-2023-4-released/ https://www.wholetomato.com/blog/2023/08/17/visual-assist-2023-4-released/#respond Thu, 17 Aug 2023 20:44:35 +0000 https://blog.wholetomato.com/?p=3336 VA 2023.4 is now published and is now available to download!  This release marks a major milestone in Visual Assist’s history as it starts its official support for Unity engine development. Also in this release:...

The post Visual Assist 2023.4 now released first appeared on Tomato Soup.

]]>
VA 2023.4 is now published and is now available to download

This release marks a major milestone in Visual Assist’s history as it starts its official support for Unity engine development. Also in this release: start of support for CUDA development for C/C++ and numerous parser improvements. Read on further to get the complete details of the changes and improvements in this release.

Start of official support for Unity

It’s been a long time coming but Whole Tomato is glad to announce that the upcoming 2023.4 build will feature the first of many Unity-specific features. Nope, not the hivemind—we are of course talking about the very versatile game engine and game development platform.

For those unaware, the Unity engine is the backbone of both 2D and 3D games ranging from wildly popular and suspicious games, all the way to full blown highly-acclaimed triple A titles.

Visual Assist has been popular for helping game developers deal with complex C++ code. Starting from the upcoming release, Visual Assist will expand its focus to C# game development. Users can expect VA staples such as refined navigation, intelligent autocomplete, code refactoring, and the like to work as well for C# work.

Furthermore, users can also submit feature requests specific for Unity development. We are starting with shaders—more on this below—but if you have any suggestions as to what features are missing in your Unity development, do let us know by emailing support.

Shaders for Unity

The start of official support for Unity development is headlined by shader file support. Similar to our previous addition of supporting HLSL, we are kicking off Unity updates by adding its shader files to our list of supported languages.

CUDA C/C++ Development

If you are a data scientist, software engineer, or a plain hobbyist looking to harness the power of your GPU for general purpose programming tasks, then you would most likely know about Compute Unified Device Architecture (CUDA). This programming model developed by Nvidia allows programmers to utilize the multi-core performance of graphics cards for other non-graphic applications (although it’s perfectly fine to use for 2D/3D too!)

If you are interested in CUDA, then rejoice! VA 2023.4 also marks the start of official support for CUDA development. Visual Assist’s can now parse and analyze CUDA related syntax, libraries, and APIs so you can have IntelliSense-like features, navigation, and highlighting for CUDA (.cu) files.

A CUDA file with proper syntax highlighting and code analysis features.

Parser Improvements: template functions with auto / trailing return type and std::tuple autocompletes 

With VA 2023.4 will now properly highlight and parse trailing return type features that bypasses a C++ limitation where the return type of a function template cannot be generalized if the return type depends on the types of the function arguments. This release specifically deals with some of the edge cases reported by our users.

Trailing return type features can be used by declaring a generic return type with the auto keyword before the function identifier, and specifying the exact return type after the function identifier. Learn more about it here.

The parser is aware of sum and proper syntax highlighting and navigation features are applied.

Also fixed in this release are initializations of std::tuple autocompletes. This improves how the VA parser handles certain templated types. In the end, users will find better completion suggestions when you are typing in your codebase, such as when typing std::tuple.

Better Add Include logic

Visual Assist can add include directives for headers that resolve unknown symbols in the current C++ source file. The underlying logic for add include has been improved for better context-awareness resulting in better predictions on where to place the new include.

Add include now inserts new lines in most logical place.

Add include can be accessed by hovering over unknown symbols and opening the quick actions and refactoring menu ( Shift + Alt + Q ).

Some other spring cleaning-type improvements

We’ve also made some changes to a few minor things to the UI and the options in the app that you should know about. Firstly, our shader support has been available for a few rounds of releases already and we’re excited to announce that it has finally finished its beta phase and will now be enabled by default. 

Secondly,  we’ve streamlined our game Development tab of our options dialog. This is to make room for upcoming additions (stay tuned!)

Thirdly, we’ve tweaked some tomatoes and icons along the way to better respond to your actions and better display what options are available to you. Relevant options and menus will be emphasized when they are needed; secondary options will subtly fade into the background otherwise. This is in line with our commitment to distraction free coding.

Lastly, if you’ve missed or haven’t installed the latest version yet, you may have noticed that the Visual Studio marketplace listings for the 32 and 64-bit versions of Visual Assist have now been combined. Versions 2010 – 2022 will now be accessible from one listing.

Bug Fixes

  • Fix for ‘VaMenuPackage’ package error affecting VS2022 17.7.0 3.0 load
  • Fixed issue where some types with leading macros before template definitions were not parsed correctly.
  • Fixed issue where autocomplete of some types, such as std::tuple, would produce partial results.  
  • Fixed rendering of suggestion list tomato icons in Visual Studio 2022. 
  • Fixed issue where the VA Navigation Bar could become smaller than intended.
  • Fixed Code Inspections error that could happen in some cases in Visual Studio 2022 17.6+. 

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.

Contrary to the preview blog statement, VA 2023.4 is a bit different as it will be released simultaneously—no rolling release mechanism as it includes some crucial updates we want to share to everyone as fast as possible. You can also check our download page to manually update to the latest release too. Happy coding!

 

The post Visual Assist 2023.4 now released first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2023/08/17/visual-assist-2023-4-released/feed/ 0 3336
Tips for Aspiring Game Developers https://www.wholetomato.com/blog/2022/02/10/tips-for-aspiring-game-developers/ https://www.wholetomato.com/blog/2022/02/10/tips-for-aspiring-game-developers/#respond Thu, 10 Feb 2022 19:18:10 +0000 https://blog.wholetomato.com/?p=2154 Have you ever considered becoming a game developer but never knew where or how to start? In this blog, we’ll talk about a few things you might want to know before you get started in...

The post Tips for Aspiring Game Developers first appeared on Tomato Soup.

]]>
Have you ever considered becoming a game developer but never knew where or how to start?

In this blog, we’ll talk about a few things you might want to know before you get started in the video game industry. 

The video game industry— by the numbers

Many new programmers aspire to land careers in the video game industry. Who wouldn’t want to make triple-A games for a living, right?

In fact, the video game industry has been rising for years now, fueled by more and more players and indie gaming studios. This trend has brought unprecedented growth year after year, both in the number of users and in the quality of games.

It’s no wonder that many new developers—many of whom were gamers themselves at some point—try to get into the game industry.

video game industry infographic 2022
Current trends suggest that the video game industry will continue to grow for the foreseeable future.

Things to consider before deciding on a career as a game developer

Before finalizing a career choice in game development, there are a few things you have to consider first. Most people miss one key thing—playing games is an entirely different arena from creating one

A career in game development involves investing a lot of time in practicing and learning (months and years even) and then more hours of actual work and debugging.

Game development is like producing an indie film. The goal is relatively simple to visualize, but as soon as you start doing it, you find that there are a lot of hidden elements and complexities like finding actors, sourcing equipment, or writing a script, among other things.

However, if you can look past the apparent startup hurdles (which are present in any career or hobby), then you can start practicing your skills and be on your way to becoming a full-time game developer.  

Here are a few other questions to ask before deciding on a career in game development: 

  • What programming languages will you use?
  • Are you more of a game artist or a game programmer?
  • How much time and resources are you willing to invest in learning?
  • Are you doing this as a recreational hobby or to build your resume?

Tip #1: Start with simple projects

One of the best ways to start is by getting some hands-on experience by completing a project from start to finish. You can start with something simple, like a game of Pong or a side scroller using the language of your choice. 

Pong basic arcade game
Pong is an arcade game that is a suitable beginner project for game new programmers.

But don’t let the “beginner” tag fool you!  

You will find that even the most simple of games require a lot of time and effort to create. However, creating a game from scratch will serve as a great introduction to the hidden complexities of game development, such as:

  • Creating objects
  • Programming player input and controls 
  • Adding simple AI for NPCs
  • Object physics
  • Game conditions and objectives
  • Game UI and menus

You can also find completed projects from other developers to use as a benchmark for your own projects.  For example, this Pong source code is available on GitHub and is open for the whole community to examine, copy, modify, experiment with, and more.

And if you get stuck on something, don’t be afraid to ask on gamedev forums such as Reddit or Stack Exchange. You would be surprised by the number of people who would be willing to help. 

There are also tutorials on YouTube if you prefer videos. Full-fledged courses, both paid and free, are also available on popular providers such as Coursera or Udemy.  You just have to look for the one that fits your learning style the best. 

When you finish your first game, remember that it doesn’t have to be super polished or bug-free. The important thing here is to experience game development and all things related.

Tip #2: Build upon pre existing resources with game engines

If you’re feeling a bit more adventurous, you can try a different approach by using game engines like Unity or Unreal Engine. 

The main advantage of using game engines is access to pre programmed templates and assets. In fact, many new developers go this route so they can focus on game design and avoid many of the technical (and often tedious) details for later.

For example, something basic like drawing text using Direct X code is several degrees more complex than using a built-in GUI in Unity or Unreal. These instances tend to frustrate beginners and steer them away from ever finishing their first game.  

Another advantage of using these big game engines will give you access to a very active community of other developers as well as some very useful documentation.

For instance, you can head over to Unreal Engine’s starter projects for a list of “simplified gaming experiences,” which allow you to try a design approach for a specific game type.

Unreal engine starter kits
Unreal Engine gives beginner game developers access to starter kits that make it easier to create some of the most popular game genres.

Tip #3: Maximize the tools you are using

This may seem obvious, but you need to familiarize yourself with the tools you are using. Whether you are focusing on graphic design with game engines or coding complicated game mechanics, a certain level of mastery will greatly improve your workflow.

If you are coding in C++, we recommend using a dedicated coding environment IDE like Visual Studio as it’s free and natively supports the language.

Then when at some point you feel that the coding environment you are using is limiting you, it may be prudent to install productivity plugins like Visual Assist. This will greatly help with navigating, managing, and writing huge code projects (which is almost always the case with game development projects). It also has dedicated features and support for Unreal Engine.

In summary

Here’s a quick recap on how you can get started with your game development career.

  • Understand that playing games is different from programming them
  • Determine how much time and effort you can allocate to learning
  • Start with simple projects to build experience
  • Utilize all the resources available 
  • Maximize your efficiency with the right tools

Always remember that there is no clear-cut path to becoming a game developer. There are people who start as solo hobbyists, while some were recruited due to their experience in similar fields. But what you can do is pick a project you like, and keep practicing until you reach your goal!

Bonus tip: Watch how other game developers work

Trying to understand how to program games through a blog article can take you only so far. Try to find more experienced developers and see how to integrate some of their best practices and habits into your workflow.  

And as an alternative, you can register for Whole Tomato’s webinar on ways to improve game development experience. This short webinar will showcase how to do simple projects in Unreal Engine.

intro to visual assist webinar improve game development experience VAX

The post Tips for Aspiring Game Developers first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2022/02/10/tips-for-aspiring-game-developers/feed/ 0 2154