View Full Version : UScript documentation and trying to get into Uscript
legacy-ruinerr
06-24-2004, 11:47 PM
Iv just come onto ut2k4 to see what modding is like for the game.
I like the architecture of how uscript actually works but why is there hardly any good documentation at all. Basically there is only wiki and that is pretty bad considering the tutorials are essentially go into some existing code copy and paste it into your new mutator / package.
Is there a resource im missing here or did the people here who are quite knowledgable in uscript sit for days and days going through existing uscript code and finding all the relations and inner workings.
legacy-Asteryus
06-24-2004, 11:51 PM
That seems to be it. There's wiki, and then there are the forums. Basically, you have a bunch of people trying out different things and helping each other out. If you have a problem, post it here or beyonddunreal.com, and people will try to help. If you figure it out, you post the solution, and the community gets more info on the game.
Other than that, I really don't see too many other resources. I mean there are a few here and there, but nothing special, at least nothing I've found.
Hsoolien
06-25-2004, 12:11 AM
MOst of the documenting by epic themselves is only available to lisencees
Since most of the stuff UScript you do is in 2004 built on Epics classes, your best documentation is the code itself
Read throught the really basic classes, like Actor, Pawn, Object
Some higher classes that are usefull, SVehicle, Gametype and Mutator
Epic mostly did a good job of commenting their code
legacy-ruinerr
06-25-2004, 12:24 AM
Take for instance the scorpion.
I have created a new class inheriting the scorpion. I have overriden groundspeed, steerspeed, name and position string.
name and position string are fine, but the groundspeed and steerspeed are unaffected.
legacy-CMan
06-25-2004, 01:00 AM
Well, as far as i can tell, when I changed steer speed, it doesn't seem to do much...
As for ground speed, you probly wont notice visually any changes that are less than 200 or so.
To see if it actuall changed the ground speed, type showdebug into the console, and find out :)
legacy-ruinerr
06-25-2004, 01:17 AM
i upped it to 10000, still no change i will check the debug command.
legacy-Heywood
06-25-2004, 11:14 AM
I think with wheeled vehicles you're better off playing around with the gear ratios to increase the vehicle speed
legacy-PVCGilde
06-25-2004, 02:55 PM
I like uncodex a lot (see wiki for download link) - it lets you switch from package to class and vice versa, it also includes a full text search....
so browsing (and finding something !) the epic code is much faster and easier.
Still - the lack of docs is really a pain - but isnt that a common thing for programers - they hack the hell out of the keyboard but wont think of any documentation for their code at all ....
why bother - the code explains itself... (thats my excuse most of the times :-) )
Andreas
legacy-TheRiv
06-25-2004, 06:45 PM
the lack of support epic gives to the mod community will be their downfall.
I am a good programmer and i understand all the concepts of unrealscript and how it works. I could never remember all that code for the life of me and so i will never be able to help with a mod. You cant remember that much. We need a FULL api reference. Not a 1/2 assed attempt by wiki & co. You probably notice the majority of mods now are just plain balls. Deathball is good but its a small mod and look how long it has taken.
Ut2004 scripting is to vast. You need a very good memory to work with it.
When i am doing java/c++ i am constantly looking stuff up in the MSDN or java api.
epic need to make something similar to this
java api (http://java.sun.com/j2se/1.4.2/docs/api/)
or the mod community is doomed.
i say there is a 70% chance that the thread starter will give up after 6 months. No offense. I have given up and i worked my balls off.
legacy-mrslatezb
06-25-2004, 07:06 PM
but discovery is half the battle!!! Regardless of epics comments however, if you sit around long enough you will learn. Their code does speak for itself in many many places. I'm an experienced programming in java/c++ as well and turst me I LOVE java's api. I just dont think thats the highest priority on EPIC's todo list.
legacy-ruinerr
06-25-2004, 07:41 PM
More like i will give up in 6 weeks, i dont waste time on inane ****, if there is no documentation on a language im not going to spend months swimming through it trying to find how things work, not worth my time.
Just plan the mod in its theory stages completly wait for d3 or hl2 and see who has the better mod support, hopefully someone will come out with the goods.
legacy-mrslatezb
06-25-2004, 07:46 PM
Well at least tehy give out the source and come to these boards to support the community. If you know C++ tehn picking up unrealscript should be easy. Unfortunately, its just like joining any other code project. You have to familiarize yourself with teh base you are working off of.
Hsoolien
06-26-2004, 12:18 AM
I actually retaught myself to program using UnrealScript.
I had originally been programming small games for an Atari 130XE (cookie to whoever has heard of it) using Atari's proprietary BASIC
That was IDK about 15 years ago. Since then I have had no real effort at learning to program. Till UScript. And I think EPIC's code is probably why I was able to learn it. I have perused PHP, Java, and C/C++ coding books, and websites. Bt I was never able to grasp the concepts of function and OOP based programming.
But with Epic's code I was see something I wanted to do and then go back and see exactly how it was done. And from their I have gone on. It can eb annoying sometiems to find what some fucntion they call isactually doing all the way back up the tree, but sometimes you end up learning something you never even concevied could be done while doing it.
legacy-EvilDrWong
06-26-2004, 04:36 AM
No matter how much documentation you have, it will never be a substitute for EFFORT. If youre not willing to learn, you wont.
Have fun engine hopping.
legacy-mkhaos7
06-26-2004, 09:25 AM
Originally posted by TheRiv
the lack of support epic gives to the mod community will be their downfall.
I am a good programmer and i understand all the concepts of unrealscript and how it works. I could never remember all that code for the life of me and so i will never be able to help with a mod. You cant remember that much. We need a FULL api reference. Not a 1/2 assed attempt by wiki & co. You probably notice the majority of mods now are just plain balls. Deathball is good but its a small mod and look how long it has taken.
Ut2004 scripting is to vast. You need a very good memory to work with it.
When i am doing java/c++ i am constantly looking stuff up in the MSDN or java api.
epic need to make something similar to this
java api (http://java.sun.com/j2se/1.4.2/docs/api/)
or the mod community is doomed.
i say there is a 70% chance that the thread starter will give up after 6 months. No offense. I have given up and i worked my balls off.
I must disagree with you here
If the lack of documentation was really a problem like you make it looks probably most of the community woudl have give up still in the Unreal times, and we wouldn't here about UT, UT2003 or even UT2004.
Not to mention all the hight quality mods that are out there!
Look for example the RTS mods and the Racing mods poping arround. I'm pretty sure they have start from scratch to do most of their job!
It takes LOTS of time to do it? Of course! everything takes time and persevarence to be accomplished. IF you really want to do something nothing will be an obstacle for you.
I have never programmed/mapped for any other engine, but i don't thing they offer a full book on the web showing everything about everyfunction in their code (this will always be just for licensees).
Epic does a greate job supporting the community (like mrslatezb said they are always around the forums and look at udn too for LOTS of info). Adn the community also doe a grate job supporting the community (wikki,BU, buzz, ina forums ... ). IF still with all this you can't found what you want you can alwasy dig the code till you find it. Then post to the community so we all weill benefity form it ;)
Also i must agree with EvilDrWrong, nothing will ever be a substitute for effort.
Keep going man, and keep coming here with your doubts, if we can help, we weill
legacy-TheRiv
06-26-2004, 10:38 AM
there are countless java books. Countless c++ books. There are countless books for almost every programming language around. There are so many books some books are just pointless.
Unrealscript is no different to any language. Give us books and api references for unrealscript and the mod community will boom.
gmae dev forums (http://www.gamedev.net/community/forums/)
That is a forum which has books and api references.
I dont even know how to close a menu in ut2004. Ive searched through the code for many many days. And posted on these forums and 3d buzz forums. Basics are always left out. Ive also watched all the unrealscript training videos. Its just to much to remember, some people have better memories than others.
The majority of people on this forum would say this isnt a problem, thats because the people who agree with me gave up and never visit this forum.
legacy-whup:zen
06-26-2004, 11:37 AM
TheRiv is completely right. There is certainly no lack of any documentation at all or support from Epic or the community for UnrealScript, but when you compare it to the Microsoft MSDN or Java resources, it's tiny.
It's unfair to compare UnrealScript to those technologies, but there's no reason we can't have the same sort of things. i.e.:
Knowledge Base
Common, central forums
Most importantly: Samples, Best practices, walkthroughs!
Delving into the internal code is very interesting, but only when you really feel like it. You shouldn't have to do that just to find out, say, how to close a menu, or what variable to change to do foo.
The UnrealWiki is damn good, if we could have that, then some official UnrealScript forums with its own sub forums (rather than just this one forum) e.g. GUI forum, Newbie forum, Total Conversion forum, Mutator forum etc, that would rock.
This stuff would server as the kickstarts and the timesavers, allowing people to focus on the what rather than the how. People should be able to invest their time in creating and enhancing their mod, without spending hours trying to find the classes and methods they need to use to implement what they already have in their head.
That's what's put me off for now, like TheRiv and probably many others that have had a shot. I've been a programmer for years, and I'm more than capable of using UnrealScript to its potential to make something interesting, but if the little time I can dedicate to modding is just going to be wasted fluffing around, then I'd rather spend that time on something more worthwhile!
legacy-mkhaos7
06-26-2004, 01:16 PM
whup, as you said "It's unfair to compare UnrealScript to those technologies" but there IS a reason why "we can't have the same sort of things". And its so damn obivous: they aren't going to make any profit out of it.
I'm pretty sure that the licensees have lots and i mean LOTS of documentation at UScript and all other things in the game. Just look at UDN (our central resource/knowledgement base for any Unreal techonology) there is various sections that you don't have access if you are not a licensee. This mean that there is information on that. But Epic will not distribute if freely, after all the main itnerest of them is to make money. There is no way to denial it.
And again, tehre is no best teacher than practice , even if we had a book it surely wouldn't cover all things in Uscript, you would still need to dig a lot to find what you want.
legacy-whup:zen
06-26-2004, 01:21 PM
I'm not suggesting it's up to Epic. What I'm saying is that perhaps we can work together, and get something set up so we can actually share with each other, and make UnrealScript something easier to get into.
Support from Epic would be good though. It's a multi-million dollar engine, and the modding community enriches existing content and makes the games and the engine more attractive and more successful which does translate to some bottom line. The Make Something Unreal contest is a real good sign of this, but it would be good if some of that money could go towards something the developers could maintain, and you could well see an explosion of the modding community, and the quality of mods increasing.
legacy-whup:zen
06-26-2004, 01:22 PM
lol also congrats, most people think my name is zen and my clan is whup, not the other way around. You got it right :heart:
legacy-mkhaos7
06-26-2004, 02:35 PM
Yeah, i know what you mean.
But thats why Wiki is a open proejct and any one thats willing to contribute can edit its pages ;)
legacy-dataangel
06-26-2004, 02:53 PM
Everyone who considers themselves to be somewhat knowledgeable of Unrealscript should go to the UnrealScript Lessons page on the Wiki.
It is very very very poor. The first few lessons will get you through your first mutator. Then either:
A) The lessons go for about 3 sections then are unfinished
B) Apply only to the original UT
C) Only cover advanced topics
Although there isn't a link to it on that page, there's a page where somebody tried to put up a replication tutorial, but got stuck. There's TONS of stuff that needs filling in:
1. A series of replication tutorials, done by examples, not by explaining each individual keyword of technical jargon. The existing tutorial tries to do this, but like I said, the guy got stuck.
2. When to subclass what. On the Pawn page there should be explanations of when a Pawn needs to be subclassed to accomplish something. Or when Controller needs to be subclassed, etc.
3. The relationships between the classes need to be better explained. Every class should have it's layman explanation: Xpawn -- your guy walking around in the game. xPlayer -- the player controlling the xPawn, and so on.
4. An explanation of the relationship between Pawns and Controllers. I see alot of newbs get confused by the fact that there is a Controller variable of type Controller in Pawn, and a class defined called Controller. When they do Controller.SetViewRotation they have no idea what the hell they're doing.
5. Not a tutorial, but the vast majority of methods listed in Actor, Pawn, etc. are not explained on the Wiki. They should be.
The list goes on. Simply, more community contributions are needed.
ANYONE CAN EDIT THE WIKI! GO HELP THE WIKI! LONG LIVE THE WIKI! ;)
Honestly though, Epics support for up and coming mod makers is very very very poor. There's plenty of encouragement for the experienced, but hardly any for the neophytes. I've only picked up the bits I have from hanging out in #unrealscript on EnterTheGame irc, reading this forum, the 3dbuzz forum, and the beyondunreal forum continuously, and trying to read the included epic classes.
And for those saying, "Just look at Actor.uc and the other builtin classes," that really does not help a new scripter. It's not self explanatory at all. There's tons of stuff hidden in native code that you wouldn't think of, tons of tiny little undocumented nuances. For example, physics changes take a tick to take affect. So if you do a physics change and then call a function that only does something under the new physics, it won't run. I figured this out after a TON of testing -- time that didn't have to be wasted. No matter of reading Actor.uc or Pawn.uc helped me there.
Not only that, the code that is there is actually pretty complex. No experience with C++ is going to clue you in to replication syntax. Only an extremely experienced programmer is going to understand the depths of ServerMove, ProcessMove, and stuff like that.
legacy-TheRiv
06-26-2004, 03:40 PM
books cost money, i think the majority of people would buy an unreal script book before paying for access to downloads.
If these existed i would have em
UScript for dummies
UScript for beginners
UScript made easy
and i would pay handsomely for em.
epic get profits from books.
tbh i think it makes more sense than a strategy guide
legacy-mkhaos7
06-26-2004, 04:04 PM
Now that you mention it, 3DBuzz is going to release some books on Unreal this year.
VOl1 details can be found on this page:
http://sv1.3dbuzz.com/vbforum/showthread.php?s=&threadid=69471&highlight=book+unreal
vol2 is said to be all dedicated to Uscript. ;)
legacy-EvilDrWong
06-26-2004, 07:05 PM
http://wiki.beyondunreal.com/wiki/UnCodeX
legacy-ruinerr
06-26-2004, 09:23 PM
I think there is a reason that there should be documentation to help the mod community boom which will end up in a profit for epic.
The reason is illustrated with halflife and cs. You think half life would have been even half as popular or lasted as long as it has without cs. That mod probably doubled or tripled half life sales just so people could play that mod.
The damn game is still around and because valve bought cs and now distribute it on its own its still making money and ****loads of it.
legacy-dataangel
06-26-2004, 09:49 PM
Here's an example of a Wiki page it would be awesome for someone to update to UT2004:
http://wiki.beyondunreal.com/wiki/Unreal_Engine_And_Game_Code_Overview
elmuerte
06-27-2004, 07:17 AM
All UnrealScript related documentation on the UDN is open to everybody. The Licensee only documentation only covers native code.
legacy-whup:zen
06-28-2004, 05:09 AM
Does anyone know who has control over and looks after the UnrealWiki @ BeyondUnreal? I'd like to contact them.
elmuerte
06-28-2004, 05:49 AM
http://wiki.beyondunreal.com/wiki#0.5
tarquin and Michaeel run the UnrealWiki
but every user controls and looks after the UnrealWiki
legacy-whup:zen
06-28-2004, 06:39 AM
Originally posted by El_Muerte_[TDS]
http://wiki.beyondunreal.com/wiki#0.5
tarquin and Michaeel run the UnrealWiki
but every user controls and looks after the UnrealWiki
How did I miss that? :bulb:
Thanks :heart:
Powered by vBulletin® Version 4.2.0 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.