Latest Blogs

All About Viper, Part 1: The Story

Beginnings

Years ago, when I had just begun to pick up heavier languages from PHP and JavaScript, I discovered SourceMod (SM) -- a third-party extension to the game engine used by Half-Life 2, named the Source Engine. (Actually, I started learning EventScripts first, but I was saved when I found SourceMod.) Though still in beta stage, SourceMod provided a rewarding learning environment for an aspiring programmer. I wrote a few plug-ins and marveled at what I was capable of. I really enjoyed working with the Source Engine and SourceMod, despite the oddities and quirks of each.

The SM community was amazing then, as it still is now -- they'll show you how to fix your plug-in, troubleshoot your server installation, or release useful tools for free, like Basic-Master's syntax highlighting code editor, Pawn Studio, or Nican's web-based API viewer. As I learned more and more about programming and SourceMod, I befriended many people in the community, including the dev team (except for sawce; you can keep him).

During the summer of '07, pRED of the dev team jokingly instructed me to drop Python into SourceMod, because I was such an avid fan of Python. Because yaks don't understand sarcasm, I took pRED's words literally.

SMPython was built from the ground up using loose bits of C++ gathered from past experiences with Java and PHP, and the SM source code and wiki. I coded it on Windows, because I'd never used Linux before. I figured out how to delay-load the Python library (more on that later) and run Python scripts in-game. The code was held together by toothpicks and mud, but I was proud of it. After all, I was just an immature 15-year-old. I'd never done anything of real value.

Name Change

I announced SMPython to #sourcemod. Everyone thought it was cool [and/or laughed at me], but they didn't like the name. After a few weeks, they convinced me to change the name. But what name would fit the project? What's catchy?

Then I had an epiphany. A cool guy named Viper hung out in #sourcemod. He runs SteamFriends and is involved in many Half-Life 2 modding community events and functions. I thought "hey, Viper is a snake, just like Python." I really liked the name. Plus, if I changed SMPython to Viper, the cool guy Viper would be highlighted many times as the project Viper was discussed on #sourcemod.

And so, I changed SMPython to Viper.

Middles

I was having lots of trouble with all the hacky code I wrote, so I decided to take a hiatus from development. I went on with my life, learning many new concepts and skills on and off the computer. When I finally came back to SMPython a good year later, I was a less-immature 16-year-old, and I was disgusted with the code my 15-year-old self had crapped out.

I scrapped the entire codebase and started anew. My new code was a lot better. It had structure and meaning. I spent hours thinking over and discussing the design of Viper with people from the SourceMod community. It was also written completely for Linux.

Before my hiatus with Viper Mark 1, I'd decided to install and boot into Linux to compile Viper. What I found was an awesome experience. Sure, I had some troubles at the beginning, but I figured them all out -- first with Google, then by reading programs' source code. I loved the power of customization given to me by the grand open-source project of GNU/Linux. Anyways, Viper code trouble ensued, and I went into hiatus.

Writing Viper in Linux forced many changes. For one, loading Python was greatly simplified, but introduced a couple problems (more on this later). I also had to write a Makefile to build the project, unlike with Visual Studio, where the build process was automated -- the development program I used on Windows.

I completed around 80% of what I wanted to complete before releasing Viper. But then the unexpected happened: I lost motivation. I made a final git push into the Viper repository before booting over to Windows 7 and never looking back to Linux.

Currents

In late December of '09, I decided to release what everything I had on Viper. It turned out I only had the Linux build for the Orange Box version of the Source Engine -- the engine used on Team Fortress 2, Portal, and Half-Life 2: Episode 2.

I finished the documentation of Viper's API, wrote up a quick explanation as to why I was releasing Viper so poorly, and posted it on the AlliedModders forums. I am still working to get Viper ready for a Windows release.

Comments

Re: All About Viper, Part 1: The Story

Evening dresses
With more 1000 Designer dresses,we supply Evening Dresses,Custom Dresses,formal gowns,cocktail dresses with wholesale price
prom dresses
Dresses, evening, cocktail, prom dresses, formal gowns from dresseslife. Homecoming dresses and bridesmaid
Graduation Dresses
Looking For discount Balenciaga handbags? The store online sells the Balenciaga bags.
Welcome to visit and buy Balenciaga handbags. we offer Balenciaga Handbags,Balenciaga
Balenciaga Handbags
Balenciaga
Balenciaga sale

Re: All About Viper, Part 1: The Story

supply in stock and custom lace front wigs, full lace wigs, lace wigs, human hair wigs,
remy lace front wigs, cheap wigs, cheap, buy, celebrity
full lace wigs
lace wigs
lace wigs sale
lace front wigs
synthetic front lace wigs
A Famous Dresses Shop which sell directly Wedding Dresses, Evening Dress, Bridesmaid Dresses,Prom dresses
cheap wedding dresses
cheap evening dresses
cheap prom dresses
cheap evening dresses
cheap prom dresses
Elegant evening dresses are always associated with the brides and their bridesmaids.Shopping for evening dresses and your wedding dress in stylish bridal ..

Re: All About Viper, Part 1: The Story

hey there, such great post. thanks for sharing it with us!

Re: All About Viper, Part 1: The Story

well, i read your blog for a while, and i really liked it, it's gorgeous

Re: All About Viper, Part 1: The Story

Students think that to order custom term paper at business writing service is cheating, however if your essays writing technique appears to be not very good, it will be correct decision to buy essay writing online.

Re: All About Viper, Part 1: The Story

Now, there're no college students, who create term papers themselves, because that is more reasonable to use the non plagiarized essay service.

Re: All About Viper, Part 1: The Story

Which way did you complete the superior outcome related to this good topic we wonder? The dissertation service could employ writers as you for the thesis write finishing. Hence you can have a nice chance to get to the association of professionals.