Page 1 of 1
Serious question - OTish
Posted: Mon Jul 22, 2002 9:43 pm
by McBa1n
Hello, I figure since I spend the majority of my time designing MOH maps and combing this site for info, etc, I would ask here...
I've been designing maps since the doom days, I've built a bazillion maps, mostly for Q2, Doom 2 and Duke 3d... I was close to working with Raven years back, but didn't have the programming experience to complement my map designing. I want to get to the next level in game design, but am finding more and more that scripting is a MUST for any real professional level designer. I can handle scripts a bit, with 0 in the lines of education to back it up, however, this process takes me quite awhile. In fact, my lack of programming skill is why I moved into other areas in the gaming industry, although I did do some design using Wild Tangent's web driver (what they used for that cool MIB 2 web game)... Which is a really kickass little engine.
But at any rate, my question is this...
I really need a better understanding of scripting to get to the next level, and a better grasp of the fundamentals of it. What would YOU recommend - and where would you start, if that was your desire, also?
It's a tough question, I guess, but I have to start somewhere:>
Mapping is my life, and whatever it takes to improve on that, I definitly want to go that route.. This seems the next logical step. Any thoughts?
Thanks much
-McBa1n
Posted: Tue Jul 23, 2002 6:51 am
by NathanielPT
Some in these forums said that programming/scriptting is an art form, much like mapping. How ever, unlike mapping there are many resources to help you get going. I've been programming for 7 years or so, I've read 0 books on it. Now I've taken 7 years to get where I am, and I pretty sure that I could have gotten here much faster with books. Now onto your problem.
Having programed MOH Script, it is very close to JavaScript or C. Since C has a very steep learning curve, I recommend getting a book on JavaScript, like JavaScript for Dummies. It should get you into the way the langauge handles, and program flow.
Now you've heard the age old saying, Practice makes perfect. It has never been more true in programming. You will just have to start with simple stuff and work you way up. You will also have develope the programmers mindset, which is one of a problem solver.
I hope this is of some help. Now can I ask you a question. You've said you've got the skill in mapping but your scripting is lacking. I've got the oppisite problem. How can I get better at mapping?
Thanks for your time,
Nathaniel Troutman
Posted: Tue Jul 23, 2002 6:56 pm
by McBa1n
Thats the most interesting response I've heard yet... Actually, more specific than what Levelord told me 7 years ago.. to 'drop out of school and study programming for 6 months'. I will take that advice, definitly... Thanks:>
Learning mapping on the other hand is probably 25% studying, 15% tinkering, 60% just straight up building to me.
What I do when studying how to build for an engine is look at as many different levels/mods as possible to begin.. And actually play for a couple of weeks inside the world. Playing mods helps, because the maps are not 'optimal' vs commercial maps. They help you see what will/won't work. What makes the Q3 engine interesting is the amount of polygons visable that you can get away with that is actually very playable.
Looking at commercial maps helps you see the conservative approach to incorporating 'eyecandy' along with max frame rates. Most commercial developers are very very cautious about their low-end system users, so most of their layout designs are not very ambitious. I will say MOH has some extremely ambitious design (read: Omaha aka obj/team3) for a commercial product, and they did about as good a job as you can hope for.
Now, important things to study after you get a feel for the engine, and you have an idea for a map...
1- Architecture. This is where you start to see the beginnings of how things look/feel. While MOH, for example, is very 'cartoony realistic', it's still only about 60-75% 'true' to peroid architecture in most spots. But seeing why some of those design decisions are made make sense. If I'm going to do a period map (sort of like MOH maps, for example), I'll hit the library and comb around online looking for pictures to study... I have no formal education in this area - but looking at things like rooftops, archways, trim, windows, layouts, etc is a big helper in orienting you as a mapper in how to make things look the way you want. It's also a great way to help give you ideas. Architecture in 3d gaming is a hybrid between texture mapping and creating the least amount of polygons possible when building something.
Which leads to..
2- Texture mapping. Not having a pocket artist can be very difficult when being an ambitious designer - however, you do normally have the textures you will need right in front of you - so that helps you make decisions on what to keep/kill in your maps. If you have a good source to find external textures - great. If not, knowing what textures you CAN use sometimes is more important than knowing what textures you WANT. At least if you're just a homebrew map-maker like I am. MOH's texture layout is friggin terrible - but it makes some sense. Knowing them all will help your design a lot, however it can take months... Frankly, I spent upwards of 20+ hours (just under 10% of my dev time) on my first MOH map, just looking for textures - be it running around maps or opening up the art files to see if I could find the bloody ones I wanted. I made a reference guide to help me a bit - but even so, I still havn't a clue where 50% of the textures IN GAME can be found - and that sucks.
Developing the skill of texture mapping things is important, however. Letting the 2d enhance the 3d is critical for the optimization of your map... Although ultimatly, it's not EVERYTHING to a map. You can go TOO far in cutting down on brush counts, IMO. MOH as a game is pretty solid on capturing ambience/low poly counts - looking at how the designers built things is extremely helpful. It's not law, however...
3- Studying/reading/learning
This is probably my favorite part. Reading about the engines, how they are rendered (like the process for bsp'n, vis, light, etc) is important to know and takes a ton of practice to perfect. The Q3 engine, for example has fun stuff like hint brushes... Learning fun stuff about leaf nodes, and how they work is extremely important - but 100% mastery is not needed. It can help optimize your maps (IMO, people put waaaay too much stock into this), but rarely does spending time with this make the map you are making 'more fun'. It may help you change your layouts a touch, but in the end, I guess performance for the player is key... But the maps still gotta be fun... and IMO, losing 10 frames per second for something fun is way more important than saving those frames. I'm sure most people would debate that with me.
4- Know the gamer that wants to play your maps/you want to play your maps. This is something I think id software and some other major dev houses need to work on in a BIG way. I develop primarily multi-player content. I'm also from the school of the 'slaugherfest' type of game - however, that doesn't mean that everything I build has to be this way. What maps are fun? What do most people like to play? How about you - what style of level do you like playing in? Theres sooooo many different styles of gamers, picking a style to map in can be tricky. I build things that I think people who like 'intense' action like to play in. Framerates in my maps normally aren't 'optimal', but close - that is the bane of all true 'slaugherfest' maps.
There really is a ton to mapping... Normally working with a friend on maps or alongside a team of people helps - they can break down your work for you and help you see things that perhaps you didn't see along the way that can help your designs.
Also, looking at what other designers are doing that is popular is also important - that helps you understand what gamers are into...
But for me, I think just building something I really want to build and then tweaking the HELL out of it is probably the best way I learn. Not everyone learns the same way - this is just how I learned. Just building building building tweaking and seeing everything around you (other people's work, period architecture, etc). But if you are building... Make sure you are having fun with it, and make sure if you are playing your design, it's fun. If either component isn't there, then there really is no point, is there? It's easy to lose sight of that.
I wish I could be more brief, but IMO, level designers have THE hardest - and also - most important job in creating games. There is so many 'tools' that you need in the 'toolbox' and so many things to consider.
If you are building and want constructive help, I'd be more than glad to help out. I'm not the best mapper in the world. Actually, I'm just getting back into it. I make fun layouts, but beyond that, I do have my shortcomings:> It's hard going from having a 2d artist at your side to having only whats in front of you... But it's something I love, and something I want to improve at... and if I can help someone else make fun maps... I'm all for it. Afterall, nothing beats a killer map:>
I hope I helped in some way... You definitly helped me:>
-Mc
Java
Posted: Tue Jul 23, 2002 11:53 pm
by tltrude
Java is probably fairly easy to learn if you have somewhere to apply it. Myself, I would think C++ would be a better place to start for your needs. There are easy starter courses (Sam's C++ in 21 days) that are also easy on the pocketbook. However, a good compiler is a must for those courses--the ones that come with them wont let you make real programs. And compilers are not cheap.
Good luck.
Posted: Wed Jul 24, 2002 2:05 am
by Moal
Java and Javascript are simlaur but different
javascript is more like CGI and C or C+ or C++
vbscript and VB and Perl are simlaur
any of the above would probably help you some what
of them Java and VB are probably the easyest to learn
like NathanielPT said C has a very steep learning curve
comapired to others but is more script then the others too
I would say from what I have seen of MOH script so far
that C would be your best bet, as from what I can tell
looks like they used Microsoft Visual Studio to make MOH
mainly it's Microsoft Visual C++ with some Microsoft Visual Basic 5.0 thrown in
so go for the C
if you by chance know a collage student you can get them to
get you the student version of Microsoft Visual C++ for a couple of hunderd versis like $600
it will include a compiler
Posted: Wed Jul 24, 2002 6:19 am
by NathanielPT
You guys are right in the avialibility of matirials, and MOHScript[\i]'s closesness to C. However, if you start learning C your going to get into a lot of stuff that is not need, like stdin and stdout. C's cumbersome, gratned powerful, way of handling strings, it is also very picky about data typing, and a host of other things that make C a less than perfect choice for a first langauge.
I agree that VB(Visual Basic) is by the easiest to learn. That is what I have been programming in and will continue to program in for the time being. Yet I strongly recommend that if someone wants to learn MOHScript[\i] they don't learn VB. VB is very different in syntax, different enough to be quite confusing.
I think I will continue to stand by my early statment concering MOHScript[\i]'s closeness to JavaScript.
McBain, thanks for your reply to my post, I found it very helpfull and interesting. If you would like to talk about mapping more please do. I am eager to learn all that I can from the people who know what want to know. Thanks for your time.
Nathaniel
Posted: Wed Jul 24, 2002 4:22 pm
by Moal
I agree C can be very confusing, expectly for those of us that learned Basic first but guys that learned C first say Basic is confusing at first
javascript would be easyer to learn
I'm just saying that Javascript wouldnt be as pratical as some of the others unless you plan to do web pages
now on the other hand MS's version of jsScript could come in handy in the
future or XML
Windows is heading to useing jsScript and XML (which is also a script) more, actually 98 and up uses some of both and future windows will be mainly XML, didnt even think of XML yesterday, but XML uses C style scripting.
So if you plan to stay with windows and windows games then that is where I would look.
dont get me wrong NathanielPT I like VB and java/javascript
and use them as I program and do web pages
but for someone just starting that dont know any of it, then it depense on that they want to do in the future as to what they should learn
Well thats just my humble opinion
XML
Posted: Wed Jul 24, 2002 6:19 pm
by tltrude
XML is fun and there are free learning rescorses on the web for it. It can be compressed using winzip, so no compiler is needed. I used it to make a skin for Windows media player 7 and it came out out great.
This web site has videos you can watch about different types of programing for windows:
http://www.microsoft.com/seminar/defaul ... uct=103337
Posted: Wed Jul 24, 2002 7:44 pm
by McBa1n
This is turning into a great thread, this is great stuff...
I'm seeing positives and negatives on both sides... Hopefully some more feedback will come in. C does sound more practical, sheesh, but it's such a tough call.
I'll be posting a lot more here, discussing mapping.. I love talking maping and game design:> It's been my life since I played pong at the ripe age of 5
Posted: Tue Oct 29, 2002 4:37 am
by KcAX19
thanks heeps d00ds u helped me alot....
thanks again
