• 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

    • Mixed news. Glad to hear LibreOffice is catching up to MS's Office. The latter has become way too bloated/complicated and non-intuitive to non-power users. Apparently, MS no longer cares for the non-gaming home-based consumer. Sad to hear support for WIndows-7 is ending. Many users remain with Windows-7 as it was easy to use, intuitive, and reliable. Non-power users and gamers don't need to needless complexity, dubious "features," and long-term instability of the last few versions. [After "how many years" Windows-10 is now reasonably stable--as long as MS stops mucking with it.]
    • Yeah but Microsoft actually did a good job with Aero Glass. I remember the only complaints was about how people could not use it without a top tier card back in the day, it would also disable until you activated Windows. Aero Glass was used in window borders, taskbar and yes the Start menu, but only as a border reference, the programs in the Start menu had a black background on Start (if I remember correctly) and All Programs and context menus were not glass.
    • The only thing it looks like to me is harder to read.
    • I am surprised that the kid who got run over next to stop light did not sue...
    • Wine 10.10 released, brings updated Mono engine, bug fixes for several games, and more by David Uzondu Nearly two weeks after Wine 10.9 dropped, Wine 10.10 is here with an updated Mono engine and the complete removal of a major graphics dependency. The Wine Mono engine, which provides .NET Framework support, has been bumped to version 10.1.0. Another major change is the removal of the OSMesa library as a dependency. OpenGL rendering on memory device contexts will now be handled by a pbuffer, cleaning up the graphics stack. Here are other notable changes with this release: More support for generating Windows Runtime metadata in WIDL. Locale data updated to Unicode CLDR 47. P010 format support in Media Foundation. Of course, no development release would be complete without a boatload of bug fixes. This version crushes a total of 38 bugs, addressing problems in a wide range of applications and games. Gamers will be pleased to see fixes for titles like F.E.A.R., S.T.A.L.K.E.R.: Anomaly, and StarCraft Remastered. Issues that caused a black screen in Steam's Big Picture mode and crashes when starting a new game in F.E.A.R. have been resolved. The fixes go way back, even tackling issues in ancient software like Lotus Freelance Graphics 2.1 and input problems in the classic indie game Braid. Here's the full list of game-related issues addressed: Rise of Nations: Both mouse buttons were required for a single left-click Braid: Both Shift keys needed to move puzzle pieces F.E.A.R: Crashed with an "Out of memory" error when starting a new game F.E.A.R Combat: Black screen at startup due to memory error S.T.A.L.K.E.R. Anomaly: Crashed when loading into a save file StarCraft Remastered: Game wouldn't start with Wine 10.5 Unreal II: Hangs with a black screen when switching to 1440x900 resolution Eador. Masters of the Broken World: Bad map textures after starting the game Horizon Chase: Freezes on startup The Fidelio Incident and Vampyr: Beeping noise on exit Burger Shop: Shifted to the top left corner in fullscreen mode And here's the rest of the issues that were fixed: Lotus Freelance Graphics 2.1: Hangs at the splash screen HTML-Kit 292: Tab bar isn't fully visible without scrolling at 96 DPI Tab completion for cmd: Improvements made regedit: Binary values editor layout is broken and .reg files couldn’t be imported Baofeng5-5.31.1128: Welcome window crashes on start Canon printer driver installation now works Steam Big Picture mode: Fixed black screen when using d3d10 Noteworthy Composer: Crashes in winealsa resolved Ricoh Digital Camera Utility 5: Crashes when switching between Browser and Laboratory modes Wondershare Uniconverter 13: Characters now display properly AVCLabs Video Enhancer AI: No longer crashes on start New thread stack memory usage optimized PlayOnline Viewer: Window now properly activates after being minimized Virtual desktop behavior fixed secur32:ntlm tests now pass on Windows 11 24H2 d3d9:device WM_WINDOWPOSCHANGED test no longer fails on Linux GitLab CI no longer crashes in various multimedia tests HP Prime Virtual Calculator: Fixed startup crash Qt Installer for Windows: Now functions correctly SHIFT-based range selection logic corrected Creating 64-bit wineprefix with old wow64 now possible Regression from realloc switch fixed (memory now zeroed as expected) RTTI now works on arm32 after recent changes Smartsuite 3.1 installer no longer crashes Fixed possible use-after-free in dbghelp's symt_add_func_line Build issues with clang for x86_64 resolved due to RTTI changes You can read the full release notes here. The source code for this release is also available. To get started, follow the installation instructions for your platform: Ubuntu/Debian, Fedora, or macOS.
  • Recent Achievements

    • Week One Done
      Simmo3D earned a badge
      Week One Done
    • One Month Later
      Simmo3D earned a badge
      One Month Later
    • One Month Later
      greege earned a badge
      One Month Later
    • Week One Done
      greege earned a badge
      Week One Done
    • Week One Done
      LagFighterZ earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      547
    2. 2
      ATLien_0
      232
    3. 3
      +FloatingFatMan
      165
    4. 4
      Michael Scrip
      119
    5. 5
      +Edouard
      91
  • Tell a friend

    Love Neowin? Tell a friend!