Skip to main content
GameDev.net gamedev.net
🔒 Locked

Unreal Engine 3: Code

Started by TheSyfrX Jun 26, 2012 at 12:37 AM 9 replies 20.7k views
Original Post
TheSyfrX
TheSyfrX
So I am learning C++ and I heard that you need C++ for most game developments. But when I went to go and watch a tutorial on the UDK I saw a 3D modeling program. I am aware of kismet but how do I implement C++ code to use the UDK. Or what language should I use I don't want to use actionscript because I cannot handle memory management like C++ can. Any links or other forums for the answer is helpful.

Thanks,
-Noob
Hodgman
Hodgman
The UDK uses Kismet and UnrealScript.
Only the professional version of Unreal Engine (not the free UDK) allows you to use C++, AFAIK.

If you're new, then you shouldn't use C++ anyway -- it's an advanced, low-level, systems programmer's language, not a beginners game programming language.
TheSyfrX
TheSyfrX

The UDK uses Kismet and UnrealScript.
Only the professional version of Unreal Engine (not the free UDK) allows you to use C++, AFAIK.

If you're new, then you shouldn't use C++ anyway -- it's an advanced, low-level, systems programmer's language, not a beginners game programming language.

Then in your opinion are there any limitations in unrealscript versus cpp?
SimonForsman
SimonForsman

Then in your opinion are there any limitations in unrealscript versus cpp?

Unrealscript can only be used with Unreal Engine / UDK and "only" lets you control the unreal engine.

C++ can be used for anything(almost) but supports almost nothing. it is great for building new systems but not really a nice language to use for controlling existing systems. (Which is why so many games these days use higher level scripting languages(unrealscript, lua, python, etc) for the game logic)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
marvel_magnum
marvel_magnum
UnrealScript is meant for use with unreal engine only and is a highly abstracted scripting language that allows you to focus on writing gameplay without dealing with advanced programming concepts. Performance wise, its much slower than C++, as it uses a middle-ware interpreter to execute. However, for "almost" all gameplay programming needs in UDK, it should suffice. Infact, even Epic suggests to code gameplay with UnrealScript and not C++, unless you are working on really performance driven engine code.

Hope this helps.
M6dEEp
M6dEEp

Only the professional version of Unreal Engine (not the free UDK) allows you to use C++, AFAIK.


Most people don't know this but you can use C++ libraries with UDK by using the "DLLBind" feature:
http://udn.epicgames...ee/DLLBind.html


In fact one clever guy figured out how to trick DLLBind into calling into C# libraries yet this is not officially supported.


UnrealScript is meant for use with unreal engine only and is a highly abstracted scripting language that allows you to focus on writing gameplay without dealing with advanced programming concepts. Performance wise, its much slower than C++, as it uses a middle-ware interpreter to execute. However, for "almost" all gameplay programming needs in UDK, it should suffice. Infact, even Epic suggests to code gameplay with UnrealScript and not C++, unless you are working on really performance driven engine code.

Hope this helps.


Partially true, yes UnrealScript runs 20X slower than C++[1] and it is highly abstracted. But you can do a lot more than basic gameplay scripting with it. The networking component of the engine is very complex and you can even use it to implement web servers. Also a lot of the classes you deal with in UnrealScript are extended directly from C++ classes so most of the "performance critical" code that you would use (vector ops, math functions) have UnrealScript functions , so you wont be needing to really go into C++ at all.

[1] Yes that figure is quoted from Unreal Developer's Network : http://udn.epicgames...amming Strategy

EDIT sorry for my poor grammar, I was drunk.
mike4
mike4
UDK is not free? Hence why not use OGRE etc.? Maybe have a look at gamekit?

I know c++ and Blender, so I'll go with Ogre unless someone has good arguments against.
M6dEEp
M6dEEp

UDK is not free? Hence why not use OGRE etc.? Maybe have a look at gamekit?

I know c++ and Blender, so I'll go with Ogre unless someone has good arguments against.

UDK is free and if you want to go commercial it is ~15 times cheaper than unity (99 USD for license with UDK opposed to 1500 for Unity Pro). UDK is VERY free and everything shipped with it is 100% AAA and tested time and time again to be the best out there. You don't win best engine of the year several times in a row for no reason.

Also it is very interesting to see so little knowledge of UDK on this site.. maybe I should do some posts about it (or maybe I'm just in the wrong forum)?
NightCreature83
NightCreature83

[quote name='Hodgman' timestamp='1340675255' post='4952861']
Only the professional version of Unreal Engine (not the free UDK) allows you to use C++, AFAIK.


Most people don't know this but you can use C++ libraries with UDK by using the "DLLBind" feature:
http://udn.epicgames...ee/DLLBind.html


In fact one clever guy figured out how to trick DLLBind into calling into C# libraries yet this is not officially supported.
[/quote]

Wait for UDK 4 for and we will only have kismet and C++ code they have gotten rid of UnrealScript smile.png, also dynamic C++ compiling on the fly. See last 2 minutes of video.
[media]
[/media]
mike4
mike4
Yes looks good, but unless I could export to Linux, I won't even bother to look at that.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.