• 0

Video Game programming research topic


Question

I am in university for programming video games courses. My teacher want us to research our own a technology topic related to programming video games.

 

Any suggestions what topic should I research? What's a good tool that video game programmers use right now to program?

For instance, they use C++, C# to code most of Xbox/PS games or what else do they use instead?

 

14 answers to this question

Recommended Posts

  • 0

I think Microsoft did came out with some thing like that long time ago.  It's for endorsing game developers.  But the engine looks a bit like it was for kids to play with.  I kinda forgot the project name... has the X or something in the name.  I would love to do this kind of research too but been kinda lazy.  Developing game is fun I think..   Especially the game engine.  If you come out with a good one, you can make good games.  I see a lot of company did that.  Would love to hear your assignment comes out at the end though.  Will check on your progress.

  • 0

I am not sure I understand the question. You want examples of technologies used by video games? Like, programming languages, network protocols, graphics APIs, operating systems, etc.? It's a pretty vague request, Windows is a technology used by video games that are built for Windows, for instance, but it has little to do with video games in and of itself.

 

Anyway, to answer your other question, most games are developed in C++, or at least the engine is. However many video games just re-use existing engines and so most of their specific code is in some other language; which one depends on the engine. For example Unity uses C#, Unreal has its own proprietary scripting language, some use Lua, and so on.

  • 0

It might help if you look up different game engines and see what they use. Like Andre S said, you wont see much outside of C++ and C#. Minecraft uses Java but on consoles was ported to C++. As far as tool, most developers on Windows when working with C++ use Visual Studio. Engines such as Unreal Engine 4 even have integration for it built in. You could take a look at the Blueprints system in UE4.

  • 0

The word "research" here seems to mean "learn something about" as opposed to "do ground breaking research" or "survey some research papers to summarize the results"

 

Some ideas for you:

 

- Summarize the possible advantages of DirectX 12

- Analyze the source code of a major (old) game engine such as Quake 3 and suggest imporvements or find an old undiscovered bug.

- Contrast the capabilities of a modern desktop GPU shader unit against the leading mobile GPUs

- Applications of gaming technology to "real world" applications such as Augmented reality in medicine or VR Headsets for remote robitics etc.

  • 0

Looking at specific programming languages might be a distraction from learning about gaming but here is a summary:

 

By tradition, most games engines use C++ for maximum performance but C# can be close and there are quite a few C# (little used) game engines. Most tool chains for these two are based on Visual Studio.

 

Java is most famous from Minecraft which uses the LWGL game engine.  It would use a tool chain based on Eclipse.

 

Java can also be used for Android games but C++ is also an option there. Uses Android Dev Studio.

 

Objective-C is the main IOS lang using Xcode.

 

Xamarin C# can produce games for Android and IOS.

 

Just about every programming language has been used to make a game at one time or another including JavaScript for which a lot of 2D and 3D libraries exist for web games.

 

Many game engines include a "scritping langauge" designed to permit easier development of the game logic on top of the engine and C#, Lua, Python and Javascript can often be found in that role.

 

Most Windows (and Xbox) based games will end up with the triangles being pushed out by DirectX and most of the other platforms will use OpenGL

 

Learning about most of the above (as opposed to actually using them) will not illuminate very much about actual game programming but for example a good study of GPU shader programming will be quite useful.

  • 0

Honestly, I don't think the language is that important these days. Approach, design, and methodology are what's important. First of all, you need to decide what kind of game you're writing. That will dictate the components you need. For instance, say you're writing a map based game ala Civ V / EU4. You need to decide how you're going to represent the tiles or regions. Civ V clearly uses hexagonal tiles of equal sizes, whereas EU4 defines irregular shaped regions made from line segments (provinces) based on a colour keyed map similar to a GIS shapefile.

 

I'd start with a language you already know, thereby reducing the learning curve. Once you have a design up and running, you can familarise yourself with a graphics API such as OpenGL, or perhaps a wrapper like SDL.

  • 0

Some technologies used in games..... I am studying more towards business oriented software using languages such as Java / C#. I have made a simply snake game in Java and I know the Unity 3D engine uses a mix on JavaScript and C#. Although C++ is a very fast language to code in with many API's built in. But in terms of languages mostly C++ / C# .

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • They forgot this slide: "If I get a Mac I won't be able to play games, therefore I will have more time for my studies."
    • It’s not desperation, it’s marketing. Companies do that…
    • Some AMD Ryzen users can get free Windows performance boost with this simple system tweak by Sayan Sen AMD understands that there is a lot of demand for its X3D processors and for good reason too, since they offer some of the best gaming experiences. As such, the company plans to launch a new 6-core Ryzen 5 9600X3D for those who may not want to spend top dollar on a 9800X3D. What makes X3D special is the densely packed last level cache (LLC) wherein the L3 (level 3) cache is 3D die-stacked such that there is a whole lot of it that the cores can access on demand all within the smallest footprint. This is said to help with latency especially, and games happen to be quite sensitive to it since they are a mixed workload and so there is a lot of to-and-fro. However, despite that fact, users have noticed micro-stuttering and freezes on Ryzen X3D CPUs. Although there is no official fix, some of the affected users have managed to resolve the issues by tweaking a motherboard setting. The tweak is related to a setting called "GLOBAL C-STATE CONTROL" (it may be called something else by your motherboard vendor) and changing it to 'Enabled' from 'Auto' could fix stuttering and lag-related issues in games. If you are not familiar with them, Processor Power Management is done through Advanced Configuration and Power Interface (ACPI) P-states or C-states. While P-states or performance states handle CPU voltage-frequency scaling, C-states deal with CPU sleep states so that some of the CPU functions, which are not necessary at that moment, are disabled. The P-states and C-states work together to make the processor run more efficiently. It helps the OS and apps determine which cores can be parked. The Global C-state control setting helps users manage not only the DF and CPU core C-states but also the I/O C-states too. For those wondering, DF here refers to Data Fabric or AMD's high bandwidth Infinity Fabric interconnect between CPUs, GPUs, and more, on AMD systems. By default, this is set to "Auto" which also means that it is "Enabled" by default. However, in the case of X3D parts, Auto may set this setting to "Disabled" and thus manually toggling it to "Enabled" may be necessary. X3D processors, the dual CCD (core complex die) ones especially, have their V-cache on a single CCD. If the CPPC (Collaborative Processor Performance Control), which lets an OS like Windows control the "preferred core" and clock speed boost, isn't working optimally to assign the correct gaming CCD, then this fix could well work. Global C-State Auto: Global C-State Enabled: We ran a benchmark on our Ryzen 9 9950X3D to see if toggling the settings would make a difference, and well, it didn't in the case of AIDA64. However, since this is a synthetic test that measures cache and memory exclusively, we can't definitively conclude that the fix will also not make a difference in the case of games. Another remedy for stuttering is to disable the monitoring of the "Power percent" metric on MSI Afterburner if you have it on. This has been a long-known issue and in fact can help you even if you are not using an X3D CPU. Source: Reddit (link1, link2) via YouTube
    • I only have one contact on WhatsApp. And that contact has sms also. I have many more contacts that use WhatsApp also, but everyone defaults to use iMessage, SMS or RCS anyway. Not a loss for me. I'm in Norway where mostly nobody uses WhatsApp.
    • Apple is boring for a kid. Only fun is browsing websites for HTML games. A PC with steam is another story. Of course if the child plays video games all day then maybe that might not be a good idea. :-)
  • Recent Achievements

    • One Month Later
      DecaffKnight94 earned a badge
      One Month Later
    • Dedicated
      S.P earned a badge
      Dedicated
    • One Month Later
      adxnksd42031 earned a badge
      One Month Later
    • Rising Star
      aphanic went up a rank
      Rising Star
    • Contributor
      GravityDead went up a rank
      Contributor
  • Popular Contributors

    1. 1
      +primortal
      663
    2. 2
      ATLien_0
      261
    3. 3
      Michael Scrip
      234
    4. 4
      Steven P.
      157
    5. 5
      +FloatingFatMan
      151
  • Tell a friend

    Love Neowin? Tell a friend!