Forum

How do I make gun?

Discuss programming in the QuakeC language.

Moderator: InsideQC Admins

How do I make gun?

Postby scar3crow » Tue Dec 02, 2008 5:05 pm

So how do I?

That is part of the situation at Inside3d, we've got a lot of very seasoned veterans here who can code just about anything in QuakeC and are also confident in mucking about in the engine to suit their own needs.

Yet, as recent behavior has shown, we can still attract new people, who are not as skilled in qc-fu. You know, people like me.

What do you think would be the best way to settle these people into the community, without dragging down development time for your own insane projects of ai, physics, and backend revisions? Everyone got their start somewhere after all...

My first thought is a higher grade of beginner tutorials, perhaps a series of tutorials that culminate into a solid mod in time, so it has an overarching goal and very satisfying end result, but each step gets them introduced to a different section.

Perhaps the first part is simply setting up your folders and compiler, where to get the source... Then you move on to changing some damage values, some print messages... Eventually moving up to making your own new gun, and how to replace an existing one with it based upon random chance and difficulty... Then adding a deathmatch mode, adding a centerprint menu for things like a call-vote or a simple class system. Thereafter you could do a side branch of implementing Frikbot into it, or implementing Gyro and what these things can mean, maybe another branch of making something specific to an engine and the advantages and disadvantages of such.

Quite frankly, finding out how to make a star burst gun never did help me, but I learned a lot more when I handed SantaClaws a design doc for a deathmatch mode idea and he walked me through making some of it, and I learned a lot more when Lardarse sat down and had me correct some of the bugs with the Rotfish, and then beef them up a bit more (fear the waterpit in e4m4 with them).

Obviously we all are stretched on free time, to spend training others, but a series of tutorials which follow such a rubric, of stepping, and implementing with the previous in mind... It is progressive inherently, and could culminate in something the new modder could be proud of.

Now the hard part, actually doing it.
...and all around me was the chaos of battle and the reek of running blood.... and for the first time in my life I knew true happiness.
User avatar
scar3crow
InsideQC Staff
 
Posts: 1054
Joined: Tue Jan 18, 2005 8:54 pm
Location: Alabama

Postby ceriux » Tue Dec 02, 2008 5:17 pm

why not a community project, where we each take our skills and make part of a tutorial on how to do part of the turorial (mod) ?

also instead of implementing a new weapon why not just give us the template for a weapon that almost does nothing but basically shoot 1 bullet at a specific speed ect.... idk i also think its a good idea... because im having no issue reading and implementing any of the tutorials but hardly any of them actually sit down and "teach" me anything... i mean technically yes it does... but in a harder way... for someone to learn off of those tutorials they have to do all sorts of research (for someone with no coding knowlege ) i just now figured out what a function was a little bit ago... but i have no idea whats needed to build one... should i make a float... a .float or what? ect... or even why do i need those things just to make a functioin. electro has been helping pretty good though (thanks man).
User avatar
ceriux
 
Posts: 2223
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Postby MauveBib » Tue Dec 02, 2008 9:56 pm

I wrote a couple of step by step, explaining tutorials for Nexuiz once, they're around somewhere.

The AI cafe is still the best resource for actually LEARNING QC through a tutorial rather than just copying and pasting.
Apathy Now!
User avatar
MauveBib
 
Posts: 634
Joined: Thu Nov 04, 2004 1:22 am

Postby redrum » Tue Dec 02, 2008 10:38 pm

I agree, AI Cafe rocks!!!
Welcome to the Overlook Hotel: The-Overlook-Hotel.game-server.cc
User avatar
redrum
 
Posts: 410
Joined: Wed Mar 28, 2007 11:35 pm
Location: Long Island, New York

Postby FrikaC » Tue Dec 02, 2008 11:12 pm

Detailed & commented, interesting end result, reasonable tutorial length - pick any two.
FrikaC
Site Admin
 
Posts: 1026
Joined: Fri Oct 08, 2004 11:19 pm

Postby Urre » Wed Dec 03, 2008 9:55 am

I learns my leet skilz @ AI Cafe, 2! Coffee ftw

Anyhow. This truly is the problem with I3D tutorials. Although there are many of them, they're only really a very complicated way to play a simple mod. You Copy&Paste finished code into the progs106 codebase, and you get say, a sniper rifle. Then what? You rarely learn stuff. The scratch tutorials were informative, but overall, if you want to learn stuff, AI Cafe is the place to be, currently.

scar3: about your idea, where should one start, and what should be the goal? My initial thought is that the idea of an interesting end result would be great, but I'm reconsidering... In the end, the most interesting tutorials for me have been the ones that taught me a lot about the language, and taught me techniques I could use for many things, and not be limited to the scope of the tutorial. My first mod was a pet fiend, which used bits and pieces from AI Cafe and other places, which turned out to be rather cool in the end. It followed invisible breadcrumbs the player dropped, and could even jump up/down to the player or enemies if it needed, and follow through teleporters. There's no tutorial which describes how to do all of this. I managed to do it because AI Cafe was a great place to learn things. I rarely actually finished any of the tutorials, as I found the end result rather uninteresting, but because Coffee explained things well enough, I could learn merely by reading. My question is wether I'm alone at this, or if other aspiring modders would also prefer more broad concepts be explained, or if they truly do prefer to mix and match their own mod from pieces of code. I wonder what teaches best in the end...
I was once a Quake modder
User avatar
Urre
 
Posts: 1109
Joined: Fri Nov 05, 2004 2:36 am
Location: Moon

Postby ceriux » Wed Dec 03, 2008 5:18 pm

you should start with explaining functions and other similar things, because i know what a function is now and where it begins and ends but it ook me awhile just to learn that... but i still dont understand what it takes to make a function. so maybe base things like that?
User avatar
ceriux
 
Posts: 2223
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Postby leileilol » Wed Dec 03, 2008 10:21 pm

I didn't learn my l33t skillz at ai cafe because when I learned them, AI Cafe didn't exist
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Postby goldenboy » Fri Dec 05, 2008 2:19 am

I think there are two parts:

a) the basics of a C-like programming language (many might actually have these - if not, get these first)

b) the basics of QuakeC as related to Quake.

What happens when a client connects to a server, what is protocol 15, which functions does a monster call when spawned, how do I scan for a player in radius X, what are globals, what are possible fields of self, etc. etc.

Those might not be the best examples...

The QC specs explain what kind of variables exist etc., but not which functions are used by what... basically there is a set of general functions in QC, which are used over and over again, and methods to send stuff across the network... this is the kind of stuff that needs documentation.

Not what a float is.

What functions and variables are is actually basic C knowledge, and while a "C basics" tutorial like that would probably help some, you can find that elsewhere - in books or tutorials about C programming for starters.

I'd like explanations about which stuff happens during a frame, in which order, etc. and what the correlation is between QC and the engine... systematic stuff. For example, I used to wonder why certain functions were never called elsewhere in the QC.

So, Urre is right. Techniques, library of functions and often used variables, with examples, concepts. Overview of progs 1.06, and what is done where.

Correlation between entities and fields in a map editor. In the beginning, it wasn't clear to me that setting "target" in an editor was the same as "self.target" in QC.

Explanation of basic things like .think, .nextthink. Explanation of animation frames. Explanation of .touch. Explanation of collision and entity movement. Explanation of impulses.

Game-specific concepts as opposed to C language basics.
User avatar
goldenboy
 
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel

Postby MauveBib » Fri Dec 05, 2008 3:02 pm

I'm going to convert my beginner Nexuix tutorials to Quake, and expand them into a series on creating a new weapon.
Apathy Now!
User avatar
MauveBib
 
Posts: 634
Joined: Thu Nov 04, 2004 1:22 am

Postby MauveBib » Fri Dec 05, 2008 4:32 pm

Here's the first in a series of QC tutorials for absolute beginners:

http://elf.planetquake.gamespy.com/tutorials/tut1.htm
Apathy Now!
User avatar
MauveBib
 
Posts: 634
Joined: Thu Nov 04, 2004 1:22 am

Postby RenegadeC » Sat Dec 06, 2008 5:32 am

I learned fine here at I3D.
User avatar
RenegadeC
 
Posts: 391
Joined: Fri Oct 15, 2004 10:19 pm
Location: The freezing hell; Canada


Return to QuakeC Programming

Who is online

Users browsing this forum: No registered users and 1 guest