Exploring Verge³

by Overkill


First Things First.

Some things to go over before I'll go any further.


Salutations!

Hello there! Greetings! Hody two. My name is Overkill. I enjoy web design, programming and making games. Verge³ feeds my hobby of game creation, even on my horribly subpar Pentium 166-mhz computer. I've been hanging in the Verge community since about 2000.

Over the years I've gained much knowledge about Verge³ and programming. I'd like to share this knowledge. That is why I have started this project of writing tutorials. I'll try my best to explain in a way a newbie can understand, but I can't guarantee everything I say makes sense. The people who have been around Verge long enough to have programmed something might gain more from this. I honestly don't know. Anyway, I'm hoping someone might get something out of my rants and explanations.

Well, that I've introduced myself let's get rolling on the Verge³, shall we?


What You'll Need

The following are some files you'll need or possibly want for your development:

Note: MapEd3 and PackEd both require the .NET RunTime, which can be found *here*.

Verge.cfg

This file allows you to do some basic configurations to verge. You should be able to simply edit it. If you don't have a verge.cfg, just make a plain text file in Notepad and save it as Verge.cfg (make sure it's not Verge.cfg.txt, or something though!). The below are some various commands you set.


xres [res]
yres [res]

Sets the horizontal x resolution, and vertical y resolution of the screen or window. Some common resolutions used are:

...Anything bigger or smaller will have serious speed differences for each PC running your project.

Example:

This sets the resolution to 320x200.
xres 320
yres 240

nosound [0/1]

This sets sound off when true (1). The sound is on by default (0) if not specified.

Example:

This mutes the sound.
nosound 1

windowmode [0/1]

This sets windowed mode when true (1). If set to false (0), the game will play fullscreen. Nice people don't make their games fullscreen, since fullscreen has various issues on high-res and low-res monitors. Plus, if Verge freezes in fullscreen, you can't CTRL-ALT-DEL it!

Example:

This makes the screen windowed, because I'm friendly.
windowmode 1

automax [0/1]

This maximizes the screen when true (1). However, maximized view stretches the screen to fit the window, and the screen will look somewhat skewed. If set to false (0), the window will be match the exact resolution. Automax only applies to windowed mode.

Example:

Sets the window to look normal size, but might be hard to see on dual monitors with your triple prescription glasses or something.
automax 0

Note: Windows 98 users (like me), will notice an odd occurrance when they set "automax 0". The window will appear to be a title bar with no screen! To fix the problem, grab the lower-right corner and drag until the sizer "snaps" into place. Or, you could just set automax 1, your choice, not mine.


releasemode [0/1]

This will compile VC code when false (0). If true (1), VC code won't be compiled and instead it'll read what you compiled last. Turning on releasemode will speed things up considerably when you have massive chunks of code. Releasemode was designed to make it easy for others to play your release (duh! ^_-).

Example:

The code will compile as usual, which is what you want until you release your project for public consumption.
releasemode 0

startmap [mapname.map]

This picks the map you start on, not required. The map must exist, obviously, or Verge'll hate you.

Example:

Let's make Verge pop up with a test map!.
startmap test.map

vcverbose [0/1]

When true (1), Verge writes a useful debug file when compiling. I don't see why you'd want this off, really... >__>

Example:

Write a debug file when we compile things!
vcverbose 1

mount1 [packfile.vpk]
mount2 [packfile.vpk]
mount3 [packfile.vpk]
mount4 [packfile.vpk]

Loads pack files created by PackEd. The .vpk files have to actually exist if specified, and can't be corrupted (sorry! ;___;). These commands are entirely optional

Example:

Load a fancy splash introduction to verge³!
mount1 zarilsplash.vpk

gamerate [ticks per second]

Whatever. Don't use this. I don't, nobody I know does. Adding this command changes the timing of *everything* according to the docs, which I strongly reccommend against.

Example:

...Look, don't use it, please. Never use this. Ever. This example makes there only be 60 ticks per second as opposed to the default 100 ticks/second. Remember, don't... use... it.
gamerate 60

System.vc

Verge needs you to make this file somehow. For non-coders, if you have a system.vc file existing already, open it with a text editor like Notepad (Next chapter I'll scold for using Notepad though!) and paste the following lines. If you don't have a system.vc, make a plain text file and save it as system.vc (make sure it isn't system.vc.txt!), then paste the following in it:

void AutoExec()
{
	Exit("Yay, I run VERGE!!!!!!! :o :o :o");
}

That program should compile and exit with a window saying "Yay, I run VERGE!!!!!!! :o :o :o". Simple. Next chapter I'll explain how to actually code and replace this crappy placeholder file.