Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
A game engine is used.
I dont believe c++ is used that much programming language used
Java Java Script-Python - lua -object c- html5-SQL CSS3 Action script Squirre- auto Desk. side form the programming there is also the animations art clips sound.
Unreal Engine
https://www.unrealengine.com/en-US/what-is-unreal-engine-4
Lumberyard is a now a major game engine being offered
https://aws.amazon.com/lumberyard/
It being used to develope the game Star Citizen for example
https://en.wikipedia.org/wiki/Star_Citizen
There is a lot of information on the internet.
Game programming
https://en.wikipedia.org/wiki/Game_programming
Top Ten Best Video Game Developers
https://www.thetoptens.com/best-video-game-developers/
What's the backround of your question? If you want to get into creating games, get Unity. If you, for education or personal reasons want to create a game engine from scratch, my condolences. Creating a new 3D engine is nothing short of a monumental task and you REALLY need to learn C. Don't even pretend that Visual Basic is up for the task.
That said, while the Unity team is indeed working on a low-level-performance-oriented dialect of C# (which is, in this context, pretty much the same as Visual Basic), the work they're doing is still grounded in low-level understanding of how a computer actually works.
That said, it'S entirely possible to get into programming with a high-level language and for certain learning types, that's a more viable way, than starting on the lowest level where it's next to impossible to get the simpliest things actually done. I've first learned Delphi & C# myself and got into low-level programming later. But please PLEASE don't expect to be able to create a viable game engine in Visual Basic.
Somebody comes up with a language structure and its conversion into assembler logic, that's how visual basic was created.
Somebody then uses this language and wirtes a couple of methods to do common things so don't have to go through the complete logic every time you want to do something common. Like a method for drawing a triangle on your screen. Those are composed into libraries and can be used by other developers.
This can be repeated ad infinitum and atsome point you end up with a library that allows you to dumb down complex logic into simple method calls. Like "press [key] to move your point of view forward)" and "draw a tree". That are basically game engines.
Than somebody thinks of cool mechanics for a game and translates this into code and makes up models and animations that the code can call, display, or execute when it needs to using the instruction set of their engine.
So for TF2 for example:
You have some logic reading the map files and creating the basic geometry of the map, filling in the textures and placing the objects.
Then you have some logic continously determining where the player is located at and what they see. This is passed onto a render method that tells your graphic cards what to display on your monitor.
Then you have a listener on the input stream that waits for you to e.g. press [W] and then calls a method altering your position, causing your displayed image to change.
Then you have another listener on your input stream waiting for your to press [LMB] which calls some logic creating a vector from your position into the direction you are pointing at, pass this into a method that determines if any object or geometry is in the way. If another player character is in the path of your bullet, it will trigger an event.
This event calls logic that determines how much damage your shot made, which will trigger another event that will call logic of what happens if this actor takes damage (like making the crosshair on your end flash, making the screen on their end flash).
So my little home cooked Java engine is not a game engine? As long as your language of choice has rendering logic, you can use it to create games. Hell, people wrote text based games in Prolog.
https://www.youtube.com/watch?v=rZ34Df9S36I
1. When it comes to controlling graphics devices one would use one of the available APIs (i.e. : OpenGL, DirectX or more recently vulkan).
2. You can interface with these graphics API with almost every popular programming language through language specific bindings that comes with the implementation of one of the graphics APIs. But C++ is the most capable, feature-rich and fast, C is also available, but you will have to reinvent the wheel with some data-structures that are readily available in c++. other than that you can use any language, like python, c#, Haskell... etc
3. You create from primitives like pixel / dots, lines, splines & polygons more complex shapes you want in your scene. you can control the camera/ viewport, Colors (RGBA) of pixels and shapes, you get several controls on shapes you create from readily available functions in the graphics API. also you must create a context(a window) using win32 api or x11 sever on linux.
4. on a more lower the context created and the code of the graphics API are managed as a process by the OS. The graphics card driver client instance is invoked by the OS and on a shared memory location between your process and the graphics device, the graphics driver translates the Graphic API instructions to internal instructions that the graphics device can execute.
You can implement come cool rendering algorithms, your own collision and physics algorithms. its pretty fun.
if you wanna know more about opengl or vulkan there are online tutorials. also a biggners book like Programming Principles and Practice Using C++ 2nd ed is very useful for beginners it teaches problem solving and general thinking as a programmer.
Seriously: in the end the programming language doesn't matter all that much. Now, sure, I definitely agree that if you'd try to build an engine using the 'original' VB then you're in for a really hard time, no arguments there. But don't make it sound as if it were impossible just because of the language.
And just to back up my claim with some facts: look at the .NET framework. There's C#.NET (which is a language that's somewhat similar to Java) and we have VB.NET ('Visual Basic') within the same pool. Two different languages but which will result in the same thing: a program running on the .NET framework.
But... I have to stress this out: I definitely agree with you when you say that using VB would be a horrible choice. But I don't agree with the insinuation that it would be completely impossible just because it's VB. Too many people totally underestimate the stuff you can do with VB, just like some did with Java before Minecraft came around.
Well it's like building (creating) anything extremely complex really, a lot of people contribute a lot of pieces over time with a certain goal in mind and then poof you've created a thing.
The short answer is, it's not all about programming. And it takes a lot of people, with a lot of different skills, working together to make a game like TF2 or CS:GO a reality.
But purely on the programming side, you typically use a game engine (like Source) and you just develop features and gameplay one bit at a time and test as you go. And revise, add, remove. You looks at things from one angle, and then another, top down, bottom up, inside out, and than suddenly you have a program (game). It's hard to conceptualize the whole program at once, because all the code isn't being used at once. You're only use bits of it at a time really, so think about a jump method, and a reload method, and movement method, shooting methods, methods to manage inventory, and weapon loadout, method to calculate damage, etc. You put all those together the right way you can make a pretty decent game, if the design and concept is otherwise good. You just build up the features yo know you'll need a bit at a time and there you go.