Diana Carhuamanta
9 min readFeb 24, 2022

--

What does “STEM” mean?

The meaning of STEM comes from the initials of the name of the areas in which professionals such as engineers and scientists work, these areas are: Science, Technology, Engineering and Mathematics. It is a term that has gained a lot of relevance today since there is a high demand for professionals within these areas. Therefore, it could be said that the careers that have the highest income are those of STEM, within STEM we can see professional profiles such as computer engineers, telecommunications and industrial engineers, we can also find physicists and mathematicians among others linked to these areas.

STEAM is a term that has also gained popularity in the educational sector, due to the fact that it has an eminently more practical methodology and moves away from that habitual and passive and very theoretical learning.

Virtual Reality and Augmented Reality Developers with the Steam field

This time I will focus on describing a professional profile perhaps little known within the industry, called “Development of Augmented Reality and Virtual Reality”.
This profile considers that it is important within the STEM fields since they are immersive technologies that help people to explore all kinds of content in a more realistic way, help them connect their learning with situations very similar to the real world, they could say that the The impact of the experiences with these technologies extends far beyond the actual lesson and as complements to the technical knowledge that is acquired, these technologies would also help to acquire some soft skills such as:

  • Empathy and compassion through cultural exposure.
  • Overcome anxiety and develop confidence.
  • Persevere through failure.

What is virtual reality?

Virtual reality (VR) describes the set of immersive technologies and what makes it interesting is that its purpose is to position the user within a virtual environment, trick the user’s senses into feeling that he is in another place and all this is done thanks to a computerized simulation of various scenarios in which you can interact.

To immerse yourself in this technology, the user needs some tools such as a helmet or glasses, this is the basic tool, but if you want to complement the experience to start interacting, you will need gloves or controls, a sound system and even technological clothing with sensors that increase this effect.

What is augmented reality?

Augmented reality (AR) is a technology that allows us to superimpose virtual elements on our real environment, and what makes it interesting is that it does not create a different reality, but rather merges reality with the virtual and this merged reality can also be interactive.

Elements of Augmented Reality:

To project images in augmented reality, it is necessary to have devices that have a series of elements, such as:

  • Camera.- it is the device in charge of capturing the image of the real world, for example the Smartphone camera.
  • Hardware.- The processor makes it possible to combine the real image with the virtual image.
  • Software.- is the computer program responsible for managing the entire process of combining the real image with the virtual one.
  • Screen.- it is the element where the images are shown in augmented reality.
  • Trigger.- It is a real-world element that the software must recognize in order to display the virtual information associated with it.
  • Marker.- reproduces the images processed by the hardware and where the 3D model will be displayed.
  • Internet connection.- it is necessary so that the information from the real environment can be sent to the remote server, while the virtual information associated with it is retrieved.

Types of Augmented Reality according to their use:

The classification in this case is done through its technology, such as the following:

  • With bookmarks

Markers are symbols that are placed on flat surfaces in the form of a barcode or QR. When the mobile device focuses on the marker, the application recognizes it and projects the virtual information on the real image that is displayed on the device.

  • Through tangible objects:

It is one of the less common forms of augmented reality. It is not based on markers, but on the recognition of real objects, so devices with high processing capacity are needed.

  • Intelligent Terrain

The ‘smart terrain’ technology is capable of turning everyday objects into any type of setting, and even allows interaction with the virtual image. It allows you to create completely new “virtual things” and complex interactive environments through a real image.

  • By geolocation

It happens thanks to data from GPS, the internet and artificial intelligence, allowing virtual information to be accessed from anywhere on the planet. One of the first games to use this system was Ingress.

What makes this role similar to others within STEM?

What makes augmented reality and virtual reality similar to other fields or profiles within the technology industry is that they refer to a computer environment that is represented by computer programs, which are sets of code packages that have been developed by professionals who use various programming languages ​​specialized in these areas.

Programming languages ​​used in VR and AR

  • C#

It is a multi-paradigm language with strong, imperative, functional and object-oriented and component-oriented typing characteristics.

Best for people who are just starting out, learning the Unity game engine is a good option, and C# is one of the most popular languages ​​for building Unity applications.

  • C++

In case you want to develop a more powerful engine like Unreal engine, C++ is the best option as it is fully built on this language.

Unreal Engine is another solid way to enter the field of AR development. Google’s ARcore SDK is available for Unreal Engine, there are also other SDKs for Magic Leap, Handheld AR, etc. for Unreal Engine

  • Java

It is the oldest and most versatile programming language, if not the wisest, and can also be used to develop virtual reality applications that are nonetheless video games.

Its robust nature makes it an excellent choice for AR development as well. An interesting tidbit is that Java comes with a built-in 3D API that allows for easier testing with different AR components.

  • JavaScript

The king language of the internet, if you want to make web-based virtual reality applications, javascript is your best option.

If you are familiar with Javascript and want to learn AR, all you need is to start with a suitable framework, for example, Mozilla’s A-FRAME, as it is a powerful framework, used by corporations such as Disney, Google and Toyota, Sony, Samsung and even NASA.

  • Python

The language that has a simpler learning level, useful for developers who are just starting out, among its benefits is that it allows you to code in fewer lines of code, it is fast and easy.

  • Swift

Swift is the official programming language for iOS devices. It is not a super popular programming language like others due to the platform barrier.

However, if you are an experienced Swift programmer, you can start developing AR apps for iOS devices right away.

ARKit is Apple’s official AR SDK. Google’s ARCore is also available for iOS (with Unity).

Other Tools that are necessary, however, for development, but for the design of some fundamental pieces within our applications, are: Blender, 3D max, for modeling and movement, Animvr; another option for animation in a simpler way, for which you don’t need to worry about <<rigging>> or <<skinning>> and for Zbrush texturing.

Challenges for virtual reality developers:

I’ll show three challenges some VR game developers face.

  • User interface

The user interface for console or pc games in 2d is already well developed, but there are usually some problems when this 2d interface must be transferred to a virtual space, when it must render this 2d plane in each corner and region of the screen. The challenges that a developer must face are:

Stereoscopic.-it is a problem that usually happens in real life and also in the virtual space, which leaves some users with a bad experience; and it is the one that consists of the depth of the objects, while they are far away there is no problem, but when there is a very close to the player there is the possibility of seeing this object twice, and this makes it difficult for the user when he needs to see a fixed point to the object which to point

Position Relative to Field of View.- this is a common problem for which there are still no solutions and it consists of the field of vision as a limit within an augmented reality game, since it is a 2d plane that is taken to virtual space and as such a plane has boundaries and frames, and those frames and voids of black space is a bad user experience.

  • Simulator disease

Although this problem is a bad experience for the user, the solution is not entirely in the hands of the developer but also in the little habit that some users usually have, and the problem is the dizziness that some users usually have when the vision is concentrated in a field of movement.

  • Latency

Latency is the enemy of virtual reality. Moderate changes in latency, even 16ms, the time it takes to render a frame at 60fps, can be the difference between immersion and disorientation. What some experts are advising developers to do is make developers mindful of sacrificing visual fidelity for higher frame rate, and for experts it’s just about beefing up the game engine.

Positive aspects of being a VR and AR developer:

From my point of view, a virtual reality or augmented reality developer should be in charge not only of the programming but also of the design of this reality, this professional should be responsible for a satisfactory immersive experience and fluid interaction, I consider that it should not be a very difficult task, and for the same reason the result of seeing a finished project, working and with users happy with the experience, must be a very satisfying emotion; another of the positive aspects is that working in this area you must know that you are going to develop something that the user needs to see and that is pleasing to the eye and that is sufficiently detailed so that the user does not feel so cheated within that virtual reality, and this requirement helps you develop some mathematical skills to be able to model in 3D.

Negative aspects of being a VR and AR developer

As in all areas, here there are also negative aspects and these negative aspects or disadvantages, more than being related to this area, are more linked to the social aspect and depend a lot on the decisions that one makes along the way, within these problems we can find “ Cargo Cult Programming” and this problem consists of continuously performing patterns or practices without knowing why you are using them, another problem is “Group Thinking” this usually happens when a team has only one form.

Here are some reference links:

--

--