<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Overv Projects</title>
	<atom:link href="http://www.overvprojects.nl/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.overvprojects.nl</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sat, 04 Sep 2010 16:16:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Development</title>
		<link>http://www.overvprojects.nl/?p=280</link>
		<comments>http://www.overvprojects.nl/?p=280#comments</comments>
		<pubDate>Sat, 04 Sep 2010 16:16:20 +0000</pubDate>
		<dc:creator>Overv</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.overvprojects.nl/?p=280</guid>
		<description><![CDATA[There’s things I will never develop, such as the skill to update my blog at regular intervals, but luckily also things that I will, such as Passion and my Lua projects. In this post I’ll be talking about Passion, Evolve and a new project called Crafty.
Passion
It’s a shame that all the work I’ve put into [...]]]></description>
			<content:encoded><![CDATA[<p>There’s things I will never develop, such as the skill to update my blog at regular intervals, but luckily also things that I will, such as Passion and my Lua projects. In this post I’ll be talking about Passion, Evolve and a <em>new </em>project called Crafty.</p>
<p><strong>Passion</strong></p>
<p><font face="Lucida Sans">It’s a shame that all the work I’ve put into Passion lately can be summed up in two words: Lua bindings. Using these binds I’ve written two demo projects, which aren’t all that spectacular, but they prove Passion is ready for some action.</font></p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/08/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.overvprojects.nl/wp-content/uploads/2010/08/image_thumb.png" width="289" height="227" /></a> <a href="http://www.overvprojects.nl/wp-content/uploads/2010/08/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.overvprojects.nl/wp-content/uploads/2010/08/image_thumb1.png" width="287" height="226" /></a> </p>
<p>On the left you see the old tank demo again, but this time rendered to a render target so that it can be drawn 4 times as 2D quads and on the right you see some 2D shadows. I’ve started experimenting with 2D shadows instead of 3D ones, to understand how it works without the complications in 3D. What I’m proud of is that the 2D shadows are completely calculated in Lua with a nice framerate above 100, which proves Lua is up for the task of doing real-time 3D games.</p>
<p>The problem is that I could have done the same thing in C++ months ago, but now that the Lua rendering (and basic input interface) is almost done, I can start working on my first game. Yes, I’ve made enough demos and it’s time for the real work! A great game will function as an advertisement for Passion as game development tool at the same time. More details about this game later, because I haven’t worked out all of the details yet. I can at least tell you that it will be a TPS (Top Down Shooter), but there will be a bigger focus on platforming than shooting.</p>
<p><strong>Evolve</strong></p>
<p><font face="Lucida Sans">Due to the bigger time span between updates for Evolve, I know it seems like I’m neglecting it, but I think it’s stable enough to do its job right now. There are still important features missing, like tool restriction, map cycling and SourceBans admin integration, but other projects unfortunately have a higher priority for me right now.</font></p>
<p><strong>Crafty (formerly known as GCraft)</strong></p>
<p><font face="Lucida Sans">Yes, you heard it right (or you’ll hear it now), I’m actually working on the first serious new gamemode project since Puzzle Gamemode. It can be described as a remake of the Minecraft alpha in Garry’s Mod. Why was it renamed from GCraft to Crafty? Well, another developer, thomasfn, also started working on a Minecraft gamemode with the same name. Because he started one day before me, he gets the name GCraft. Here’s an update on the current state of the gamemode:</font></p>
</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:5925ceb4-c2c8-4ba9-aeac-d755897958a5" class="wlWriterEditableSmartContent">
<div><object width="620" height="465"><param name="movie" value="http://www.youtube.com/v/d2zRCCtcqaM&amp;hl=en"></param><embed src="http://www.youtube.com/v/d2zRCCtcqaM&amp;hl=en" type="application/x-shockwave-flash" width="620" height="465"></embed></object></div>
</div>
<p>As you can see the following features have been<strong> implemented</strong> so far:</p>
<ul>
<li>Working inventory and slots. </li>
<li>Completely authentic HUD. </li>
<li>Block crafting, both with the 2&#215;2 grid and 3&#215;3 grid. </li>
<li>Physics simulation (gravity, fluids) </li>
<li>Ambient lighting for a day and night cycle (sky gets darker, blocks get darker). </li>
</ul>
<p>And the following things are <strong>left to do</strong>:</p>
<ul>
<li>Dynamic lighting. </li>
<li>Handling items in addition to blocks. </li>
<li>Mobs (Yes, they are planned!) </li>
<li>Better map generation. </li>
</ul>
<p>One major difference between GCraft (both thomasfn’s and my old one) is that the server backend is mostly written in C++ now. This made the physics and large map management possible. The blocks can get 8 times as small by the way, so stop moaning about that. I made them that big to make reloading the map while developing less of a pain in the ass. The clientside part is all Lua and it’s going to stay like that. I don’t think a clientside C++ module would make things easier anyway, because Lua handles map loading a lot better than saving. Another noteworthy difference is the fact the map is now sent as a regular file that appears when joining a server, instead of some user message crap. I’m currently figuring out how I’m going to do the lighting, so stay tuned for this!</p>
<p><strong>Cloudscripts</strong></p>
<p>Cloudscript is a new interesting thing in Garry’s Mod that makes it possible to download entities from a website similar to garrysmod.org and use them right away. You can read more about that <a href="http://www.garry.tv/?p=1844">here</a>.</p>
<p>For a developer there’s a lot of advantages to this kind of addon publishing. Because users don’t store entities, but downloads them every time you spawn them, you’re sure people are always using the latest version of your addon and they aren’t moaning about bugs in old versions. You just submit the new code and instantly everyone has the latest version of your entity or weapon. Because there’s a relatively small amount of entities and weapons being released this way right now, there’s a big amount of people who will try your addon, which in turn assures quick feedback.</p>
<p>Initially I didn’t really care about it, because I almost never make entities and if I do, I never think they’re worth releasing. A week ago I started trying the entities and weapons that were most popular on Cloudscript and it made me want to make at least one too. Inspired by the Portal 2 E3 videos, I set out to make a simple version of the repulsion and propulsion gel. The repulsion gel acts as a trampoline and the propulsion gel makes you move faster.</p>
<p>I started working on the repulsion gel first, because I expected it to be the most fun using. For the icon, I cut this picture from the E3 video and later for the propulsion gel a similar picture:</p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/08/RepulsionGel.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Repulsion Gel" border="0" alt="Repulsion Gel" src="http://www.overvprojects.nl/wp-content/uploads/2010/08/RepulsionGel_thumb.png" width="130" height="130" /></a> <a href="http://www.overvprojects.nl/wp-content/uploads/2010/08/PropulsionGel.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Propulsion Gel" border="0" alt="Propulsion Gel" src="http://www.overvprojects.nl/wp-content/uploads/2010/08/PropulsionGel_thumb.png" width="130" height="130" /></a> </p>
<p>I had some trouble coming up with the way you’d spawn the gel and my first idea was to make the entity initially a blob that would turn into a splash if you threw it fast enough against a surface. I took the bouncy ball design and made it deform a little when hitting stuff, but it looked like shit. Then I took a look again at the picture above and tried making a bucket. It turned out pretty well. I made the entity render the bucket model twice, once with the regular model and material and once with a shrunk model and a solid blue material to represent the gel inside the bucket. As soon as you moved the bucket, I made the gel shake a bit which looked pretty cool. I also made it slowly get near the edge if you held the bucket upside down. The bucket part was done.</p>
<p>Then the old problem came back. What is the gel supposed to look like outside the bucket? I chose the bouncy ball look after all, which doesn’t even look that bad for it. Another advantage is that the gel generally doesn’t fall for longer than half a second.</p>
<p>Then came the final problem. Or at least I thought it was. How was I supposed to make the gel splash without custom materials? I decided to take the paint decal material and apply the same solid blue material to it. The decal is too small, so I used the mesh library to manually draw an enlarged paint spot. I figured the physics would be a piece of cake after that.</p>
<p>I turned out to be very wrong. I won’t describe the full progress, but the physics made either the server crash, the gel splash would move or the player wouldn’t collide with it at all. After all the pain I finally got it to work. I uploaded it to the Cloudscript page, made sure it worked as a Cloudscript and waited for the response. Initially it turned out to be pretty buggy and Garry even had to change some stuff in Garry’s Mod to make the first version not crash, but it improved over the past week.</p>
<p>And then something that I hadn’t expected in the slightest. Suddenly my gel was the most popular Cloudscript entity currently available along with the infamous <em>Friendly Gnome</em>!</p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/08/image2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.overvprojects.nl/wp-content/uploads/2010/08/image_thumb2.png" width="244" height="228" /></a> </p>
<p>This inspired me to work on the propulsion gel which I released today. It’s now also slowly working it’s way up the <em>Recently Most Popular</em> list, but I don’t expect it to eventually sit next to the Repulsion Gel. Simply because it’s less fun in my opinion and I think other people will think the same. Because of the sudden success, I’m already making plans for a new entity. It’ll probably be something related to 3D2D.</p>
<p>That’s all I have to say right now. I’m sorry for the long read, but that’s what you can expect after like 3 months of no posts. I hope I made it interesting enough to be worth the read! School is starting for real for me again next week, but I think I can show the first stages of my Passion game and maaaaybe dynamic lighting in Crafty.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.overvprojects.nl/?feed=rss2&amp;p=280</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Busy days</title>
		<link>http://www.overvprojects.nl/?p=279</link>
		<comments>http://www.overvprojects.nl/?p=279#comments</comments>
		<pubDate>Tue, 25 May 2010 17:00:46 +0000</pubDate>
		<dc:creator>Overv</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.overvprojects.nl/?p=279</guid>
		<description><![CDATA[It&#8217;s been ages, but then again I&#8217;ve been really busy lately and I&#8217;m afraid that will continue for a while. I almost daily have tests at school, I have an admin mod for Garry&#8217;s Mod to finish while dealing with competition and I have a life to live. Anyways, let&#8217;s start with some screenshots of [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been ages, but then again I&#8217;ve been really busy lately and I&#8217;m afraid that <b>will</b> continue for a while. I almost daily have tests at school, I have an admin mod for Garry&#8217;s Mod to finish while dealing with competition and I have a life to live. Anyways, let&#8217;s start with some screenshots of demos I made for my engine.</p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/05/PassionGameofLife.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Passion - Game of Life" border="0" alt="Passion - Game of Life" src="http://www.overvprojects.nl/wp-content/uploads/2010/05/PassionGameofLife_thumb.jpg" width="626" height="367" /></a></p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/05/PassionJulia.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Passion - Julia" border="0" alt="Passion - Julia" src="http://www.overvprojects.nl/wp-content/uploads/2010/05/PassionJulia_thumb.jpg" width="625" height="366" /></a> </p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/05/PassionBlur.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Passion - Blur" border="0" alt="Passion - Blur" src="http://www.overvprojects.nl/wp-content/uploads/2010/05/PassionBlur_thumb.jpg" width="625" height="366" /></a> </p>
<p>From top to bottom, it’s demos showing off basic primitives and texturing, shaders and&#160; <br />post-processing effects using render targets. I know it’s not all that impressive yet, but the functionality these demos show off are basic features a render library needs to have. Currently the only things left are:</p>
<ul>
<li>Model loading </li>
<li>Text rendering </li>
<li>Clipping planes </li>
</ul>
<p>After that I will start working on the physics and scripting libraries. I’ve also switched from SVN to Git for source control. What I really like about Git so far are the branching and merging features. You should try it!</p>
<p><strong>Evolve</strong></p>
<p><font face="Lucida Sans">About a week ago I finally posted the beta thread of Evolve in the Lua section on Facepunch. The responses have been largely positive so far and currently about 70 (!) servers are running the mod. This is really satisfactory and motivates me to continue working on it and adding the features to do a proper release. I’ve also bumped into competition, which I didn’t expect at all. The competition is an admin mod called <em>Exsto</em> by a guy called Prefantastica. He’s an awesome dude, so I hope this doesn’t kill our friendship. Here’s some screenshots, which almost everyone has probably already seen:</font></p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/05/menu.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="menu" border="0" alt="menu" src="http://www.overvprojects.nl/wp-content/uploads/2010/05/menu_thumb.png" width="296" height="394" /></a> <a href="http://www.overvprojects.nl/wp-content/uploads/2010/05/menu2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="menu2" border="0" alt="menu2" src="http://www.overvprojects.nl/wp-content/uploads/2010/05/menu2_thumb.png" width="296" height="394" /></a> </p>
<p><strong>Birthday</strong></p>
<p><font face="Lucida Sans">Last but not least, I celebrated my birthday this Saturday. I bought a PlayStation 3 for myself and my parents got me the games Little Big Planet and Red Dead Redemption <img src='http://www.overvprojects.nl/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . Little Big Planet has a lot of features including physics cutting! Of course, the past few days I’ve mostly played Red Dead Redemption and I’m at about 44% of the storyline right now. I’m not going to explain how amazing it is, because there’s enough people who have already done that.</font></p>
<p><font face="Lucida Sans">In the next few months I hope to show more and more pictures of my engine getting more features and my first actual game made with it.</font></p>
<p>Oh, I almost forgot posting this video of the first demo. Enjoy.</p>
<p> <object width="600" height="365"><param name="movie" value="http://www.youtube.com/v/xg0PKAvL01Y&amp;hl=en_US&amp;fs=1&amp;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/xg0PKAvL01Y&amp;hl=en_US&amp;fs=1&amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="365"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.overvprojects.nl/?feed=rss2&amp;p=279</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>P&#228;ssion</title>
		<link>http://www.overvprojects.nl/?p=265</link>
		<comments>http://www.overvprojects.nl/?p=265#comments</comments>
		<pubDate>Tue, 16 Mar 2010 19:48:09 +0000</pubDate>
		<dc:creator>Overv</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.overvprojects.nl/?p=265</guid>
		<description><![CDATA[This time I’m not going to talk about any Garry’s Mod related projects. Actually Garry’s Mod does not even show up in my recently played games list at the moment, which is quite unique for me.
LÖVE
Those of you who know Lua have probably already heard of or even used LÖVE. It’s a 2D game engine [...]]]></description>
			<content:encoded><![CDATA[<p>This time I’m not going to talk about any Garry’s Mod related projects. Actually Garry’s Mod does not even show up in my recently played games list at the moment, which is quite unique for me.</p>
<p><strong>LÖVE</strong></p>
<p>Those of you who know Lua have probably already heard of or even used LÖVE. <span style="font-family: Lucida Sans;">It’s a 2D game engine which allows you to write games using Lua only. It’s feature rich as it includes libraries to create particle effects, simulate physics and do the fancy drawing you need for a 2D game. Distribution is also extremely efficient. All you need to do is zip the folder of your game (which includes your .lua files, textures, music, etc.), change its extension to .love and you’re ready to distribute it to all your friends. I believe you can even turn your game into an .exe file, so the players of your game don’t need to have LÖVE installed, but I’m not sure about that.</span></p>
<p><strong>Pässion</strong></p>
<p><span style="font-family: Lucida Sans;">As I said, LÖVE is an excellent 2D game engine. However, even though 2D games can still be a lot of fun (Tetris, platformers like Mario, physics sandboxes) three dimensions are quite appealing to both developers and gamers.</span></p>
<p><span style="font-family: Lucida Sans;">Now, that’s where Pässion comes in, as you would’ve probably already guessed. Pässion aims to be a 3D game engine which is as easy to use as LÖVE. Its main goal is to make 3D game development as easy and as accessible as it should be. Although I’m by no means a professional developer and I will not be developing an engine as powerful as Unreal, it will support all the features a modern 3D game needs, ranging from pixel shaders to volumetric shadows using a stencil buffer. Don’t let those words scare you, most of the content you’ll need for your first game will be shipped with the engine and pre-coded.</span></p>
<p><span style="font-family: Lucida Sans;">I’ve been working on the renderer of the engine for about two weeks now and it’s starting to turn out quite nicely. The screenshots below range from the first steps to where I am right now:</span></p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/03/PassionBenchmark.png"><img style="display: inline; border-width: 0px;" title="Passion - Benchmark" src="http://www.overvprojects.nl/wp-content/uploads/2010/03/PassionBenchmark_thumb.png" border="0" alt="Passion - Benchmark" width="604" height="426" /></a></p>
<p><em>Benchmarking the 2D renderer.</em></p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/03/EngineFirst3Dshot.png"><img style="display: inline; border-width: 0px;" title="Engine - First 3D shot" src="http://www.overvprojects.nl/wp-content/uploads/2010/03/EngineFirst3Dshot_thumb.png" border="0" alt="Engine - First 3D shot" width="607" height="428" /></a></p>
<p><em>First test of the 3D renderer.</em></p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/03/Models.png"><img style="display: inline; border-width: 0px;" title="Models" src="http://www.overvprojects.nl/wp-content/uploads/2010/03/Models_thumb.png" border="0" alt="Models" width="608" height="460" /></a></p>
<p><em>First test of loading model files instead of boring triangles and quads.</em></p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/03/EngineTexturecoordinates.png"><img style="display: inline; border-width: 0px;" title="Engine - Texture coordinates" src="http://www.overvprojects.nl/wp-content/uploads/2010/03/EngineTexturecoordinates_thumb.png" border="0" alt="Engine - Texture coordinates" width="608" height="460" /></a></p>
<p><em>First test with texture coordinates. It’s not noticeable, but they’re wrong in this shot.</em></p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/03/EngineRealmodels.png"><img style="display: inline; border-width: 0px;" title="Engine - Real models" src="http://www.overvprojects.nl/wp-content/uploads/2010/03/EngineRealmodels_thumb.png" border="0" alt="Engine - Real models" width="609" height="460" /></a></p>
<p><em>Got the texture coordinates working. The raped face is not an issue with my code, but the SMD importer.</em></p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/03/EngineLighting.jpg"><img style="display: inline; border-width: 0px;" title="Engine - Lighting" src="http://www.overvprojects.nl/wp-content/uploads/2010/03/EngineLighting_thumb.jpg" border="0" alt="Engine - Lighting" width="614" height="373" /></a></p>
<p><em>Testing directional lights and spot lights. The cone represents the spotlight.</em></p>
<p><span style="font-family: Lucida Sans;">As you can see the development is going lightning fast and I hope to keep up with that. Let me know what kind of features you would like to see (level format, features like the stencil buffer) and what you think of the results so far. <a href="http://www.overvprojects.nl/wp-content/uploads/2010/03/emoticon_waii.png"><img style="display: inline; border-width: 0px;" title="emoticon_waii" src="http://www.overvprojects.nl/wp-content/uploads/2010/03/emoticon_waii_thumb.png" border="0" alt="emoticon_waii" width="16" height="16" /></a> Also, should I do more of these posts? </span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.overvprojects.nl/?feed=rss2&amp;p=265</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Layers update</title>
		<link>http://www.overvprojects.nl/?p=238</link>
		<comments>http://www.overvprojects.nl/?p=238#comments</comments>
		<pubDate>Thu, 18 Feb 2010 22:17:12 +0000</pubDate>
		<dc:creator>Overv</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.overvprojects.nl/?p=238</guid>
		<description><![CDATA[Yep, nearly two months without an update. I&#8217;m sorry, but I didn&#8217;t really have something blogworthy until now. Anyway, I&#8217;ve rewritten a large deal of the Layers code and added a neat little menu to it:

Instead of choosing a layer from 1 to 20, now every player has the ability to create their own layer. [...]]]></description>
			<content:encoded><![CDATA[<p>Yep, nearly two months without an update. I&#8217;m sorry, but I didn&#8217;t really have something blogworthy until now. Anyway, I&#8217;ve rewritten a large deal of the Layers code and added a neat little menu to it:</p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/02/Layers-tool-menu-WIP.jpg"><img class="size-full wp-image-239" title="Layers tool - menu WIP" src="http://www.overvprojects.nl/wp-content/uploads/2010/02/Layers-tool-menu-WIP.jpg" alt="" width="442" height="625" /></a></p>
<p>Instead of choosing a layer from 1 to 20, now every player has the ability to create their own layer. Additionally, there&#8217;s three icons which display the players, the amount of entities and the owner of each layer. I&#8217;ve added an icon for the owner because the title of layers will probably be changeable. I&#8217;m currently looking into minor issues and measuring how much lag it causes. I&#8217;m not going to show a video of it yet, because it&#8217;s not perfect yet, but you can expect a video very soon.</p>
<p><strong>Evolve</strong></p>
<p>Currently I&#8217;m not paying a lot of attention to Evolve, but it is not dead and I&#8217;m constantly adding small new features and fixing reported bugs. The chat command and console command code is pretty much done, so soon you&#8217;ll be seeing progress on the new menu:</p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2010/02/Evolve-menu-2.png"><img class="size-full wp-image-246" title="Evolve menu 2" src="http://www.overvprojects.nl/wp-content/uploads/2010/02/Evolve-menu-2.png" alt="" width="276" height="469" /></a></p>
<p>The idea of the layout is a mix between a big menu like ULX and the compactness of ASSMod. Tell me what you think of it!</p>
<p><strong>Sandbox server</strong></p>
<p>I&#8217;ve bought a new sandbox server (yet again) which you can find <a href="steam://connect/89.238.160.175:27015">here</a>. This time I really want to spend some time to make it special. Perhaps you also have some suggestions regarding that? Currently I&#8217;m thinking of the following features:</p>
<ul>
<li>Lobby at the spawn with minigames for when you have nothing to do</li>
<li>Fancy background music</li>
<li>Designated build areas (You have your own space which other people can&#8217;t build in)</li>
<li>A hat store (Cliche, but nonetheless pretty cool :3)</li>
</ul>
<p><strong>What&#8217;s next?<br />
</strong></p>
<p>I&#8217;m going to France for a few days, so I&#8217;ll probably make a post about that some day next week. Anyway, next week I&#8217;ll likely post a video of the new Layers in action and perhaps the first steps of the new Evolve menu (which will include entity/weapon restriction and rank modification!).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.overvprojects.nl/?feed=rss2&amp;p=238</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evolve and rising water</title>
		<link>http://www.overvprojects.nl/?p=208</link>
		<comments>http://www.overvprojects.nl/?p=208#comments</comments>
		<pubDate>Tue, 22 Dec 2009 19:00:55 +0000</pubDate>
		<dc:creator>Overv</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.overvprojects.nl/?p=208</guid>
		<description><![CDATA[To start off, I&#8217;ve been working on my Fretta gamemode. To be more specific, on the developing map which just acts as a map to test gamemode mechanics. I&#8217;ve been having trouble with actually moving water, so I decided to move the level down instead. Here&#8217;s a video of it:

Someone did state that clientside prediction [...]]]></description>
			<content:encoded><![CDATA[<p>To start off, I&#8217;ve been working on my Fretta gamemode. To be more specific, on the developing map which just acts as a map to test gamemode mechanics. I&#8217;ve been having trouble with actually moving water, so I decided to move the level down instead. Here&#8217;s a video of it:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="600" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/61uBEGxZCBw&amp;hl=nl_NL&amp;fs=1&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="600" height="400" src="http://www.youtube.com/v/61uBEGxZCBw&amp;hl=nl_NL&amp;fs=1&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Someone did state that clientside prediction might not do so well with moving level architecture, so I might use moving water after all. What do you guys think? Good prediction or fancy water?</p>
<p>The work I&#8217;ve finished for Evolve is equally awesome (I guess). Let me start off with the <strong>spelling suggestion </strong>feature. Has it ever annoyed you when you typed</p>
<blockquote><p>!ramk mingebag superadmin</p></blockquote>
<p>and it responds with <em>Unknown command ramk</em><strong> </strong>and you&#8217;re all like</p>
<blockquote><p>Fuck, now I need to retype that shit, just because I hit the M key instead of the N <img src='http://www.overvprojects.nl/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p></blockquote>
<p>Now that isn&#8217;t a problem anymore with the built in spelling suggestion feature. Instead of giving back <em>Unknown command</em>, it will know that you meant !rank instead and correct you. So from now on you can reload the map with <em>!reloasd</em>!</p>
<p>Anyway, here&#8217;s the progress on the Lua version of the photoshopped concept I had posted earlier in the What are you working on? thread on Facepunch:</p>
<p><a href="http://www.overvprojects.nl/wp-content/uploads/2009/12/Sandbox-server-scoreboard-test-e1261507696916.png"><img class="size-full wp-image-228 alignnone" style="border: 1px solid black;" title="Sandbox server scoreboard test" src="http://www.overvprojects.nl/wp-content/uploads/2009/12/Sandbox-server-scoreboard-test-e1261507696916.png" alt="" width="600" height="338" /></a></p>
<p>It&#8217;s far from done, but I think the result so far is pretty cool. Remember that the admin menu is going to be integrated in it. However, I&#8217;m not targeting sandbox servers only with this admin mod, other gamemodes will use their default scoreboards and the admin menu will be shown another way. Let me know your suggestions and other comments.</p>
<p>I also decided to enter Evolve as tag in the server browser, just to see the result and found out 20 servers are already running the mod. That&#8217;s pretty cool and rewarding for me. More so because I&#8217;ve not in any way advertised it and it&#8217;s only available by SVN.</p>
<p>Finally, I&#8217;d like to congratulate my server host, since it&#8217;s been doing pretty well despite the activity in my build server. I&#8217;m pretty sure they&#8217;re one of the cheapest hosts after UKGame.com, but then again UKGame.com fails big time.</p>
<p>Happy holidays.. and I&#8217;m preparing a surprise for you guys!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.overvprojects.nl/?feed=rss2&amp;p=208</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>WebOS, blogging and GMod</title>
		<link>http://www.overvprojects.nl/?p=203</link>
		<comments>http://www.overvprojects.nl/?p=203#comments</comments>
		<pubDate>Tue, 15 Dec 2009 21:23:19 +0000</pubDate>
		<dc:creator>Overv</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://www.overvprojects.nl/?p=203</guid>
		<description><![CDATA[Luaduck let me know about the WebOS SDK on Steam friends today. For those who don’t know what WebOS is, here’s a small summary:
 Palm webOS is a mobile operating system running on the Linux kernel with proprietary components developed by Palm.
webOS&#8217;s graphical user interface is designed for use on devices with touchscreens. It includes [...]]]></description>
			<content:encoded><![CDATA[<p>Luaduck let me know about the WebOS SDK on Steam friends today. For those who don’t know what WebOS is, here’s a small summary:</p>
<blockquote><p><strong><strong><strong><a href="http://www.overvprojects.nl/wp-content/uploads/2009/12/WebOS_Launcher1.png"><em> </em></a><a href="http://upload.wikimedia.org/wikipedia/en/3/3e/WebOS_Launcher.png"><img style="border-right-width: 0px; margin: 0px 0px 0px 25px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="WebOS_Launcher[1]" src="http://upload.wikimedia.org/wikipedia/en/3/3e/WebOS_Launcher.png" border="0" alt="WebOS_Launcher[1]" width="121" height="180" align="right" /></a></strong></strong>Palm webOS</strong> is a <a href="http://en.wikipedia.org/wiki/Mobile_operating_system">mobile operating system</a> running on the <a href="http://en.wikipedia.org/wiki/Linux_kernel">Linux kernel</a> with <a href="http://en.wikipedia.org/wiki/Proprietary_software">proprietary</a> components developed by <a href="http://en.wikipedia.org/wiki/Palm,_Inc.">Palm</a>.</p>
<p>webOS&#8217;s <a href="http://en.wikipedia.org/wiki/Graphical_user_interface">graphical user interface</a> is designed for use on devices with <a href="http://en.wikipedia.org/wiki/Touchscreen">touchscreens</a>. It includes a suite of applications for personal information management and makes use of a number of web technologies such as <a href="http://en.wikipedia.org/wiki/HTML_5">HTML 5</a>, <a href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a>, and <a href="http://en.wikipedia.org/wiki/CSS">CSS</a>.<sup><a href="http://en.wikipedia.org/#cite_note-3">[4]</a></sup><sup><a href="http://en.wikipedia.org/#cite_note-4">[5]</a></sup>Palm claims that the design around these existing technologies was intended to spare developers from learning a new programming language.</p></blockquote>
<p>So, basically, you write applications in HTML or Java. Setting up the development environment took some time, but writing the Hello World application was worth it. You can just drag images, stylesheets and other files to your project, press the play button and your application runs in the Palm Emulator.</p>
<p><a href="http://i46.tinypic.com/2uz2p15.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2uz2p15[1]" src="http://i46.tinypic.com/2uz2p15.png" border="0" alt="2uz2p15[1]" width="148" height="244" /></a></p>
<p>Neat.</p>
<p><strong>New avatar</strong></p>
<p><a href=http://media.steampowered.com/steamcommunity/public/images/avatars/23/237537ed1e5ce13b50268c5a292a2872a5e3e835_full.jpg"><img style="border-right-width: 0px; margin: 0px 0px 4px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="237537ed1e5ce13b50268c5a292a2872a5e3e835_full[1]" src="http://media.steampowered.com/steamcommunity/public/images/avatars/23/237537ed1e5ce13b50268c5a292a2872a5e3e835_full.jpg" border="0" alt="237537ed1e5ce13b50268c5a292a2872a5e3e835_full[1]" width="81" height="81" align="right" /></a>That brings me to my next subject. I made a new avatar, again with our beloved male_07. This time he wears a rebel suit and has a cheesy smile. Took about 20 minutes to get the smile and pose right and about 10 minutes to find the <a href="http://best-photoshop-tutorials.blogspot.com/2008/11/create-sunburst-effect-rising-sun.html">tutorial for the rising sun background</a>.</p>
<p><strong>Windows Live Writer</strong></p>
<p>Actually, you might be surprised now that I’ve posted a new blog post within a week of posting the last one. That’s because I’ve discovered a shiny new tool to make updating my blog a lot easier: <a href="http://windowslivewriter.spaces.live.com/">Windows Live Writer</a>. I’m not going to discuss all of it, as Garry <a href="http://www.garry.tv/?p=1333">already covered it</a>, but it’s like writing a blog post with Word. You can position items wherever you want, insert images from any source automatically and all you have to do to configure it is inserting your blog url and username and password. Really cool.</p>
<p><strong>Fretta gamemode contest</strong></p>
<p><span style="font-family: 'Lucida Sans';"><a href="http://i48.tinypic.com/23hk84x.jpg"><img style="border-right-width: 0px; margin: 0px 0px 4px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="23hk84x[1]" src="http://i48.tinypic.com/23hk84x.jpg" border="0" alt="23hk84x[1]" width="244" height="154" align="right" /></a>I’m pretty sure most of you have already heard of it, but Facepunch Studios is hosting a gamemode contest with prices ranging from $1000 to $5000, read more about it <a href="http://frettacontest.facepunchstudios.com/">here</a>. Anyway, I’ve started working on my own entry: Flood Control. It’s pretty much a remake of Puzzle, only it’s third-person, there’s two teams and there’s rising water. <a href="http://www.facepunch.com/showthread.php?t=861808">Here</a>’s a full description. </span></p>
<p><strong>Evolve menu and scoreboard</strong></p>
<p><span style="font-family: 'Lucida Sans';">I can’t tell a lot about this yet, but the menu of Evolve will be integrated into a custom scoreboard. This has several advantages:</span></p>
<ul>
<li><span style="font-family: 'Lucida Sans';">You don’t have to bind a key to some obscure command.</span></li>
<li><span style="font-family: 'Lucida Sans';">It integrates better into GMod which is one of the goals of my admin mod.</span></li>
<li><span style="font-family: 'Lucida Sans';">I can make the menu look more interesting.</span></li>
</ul>
<p><span style="font-family: 'Lucida Sans';">More information about this soon enough.</span></p>
<p><span style="font-family: 'Lucida Sans';">I’d like to end this time with a video of RayWilliamJohnson, featuring a cat which actually says OM NOM NOM while eating. Worth checking out!</span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/fam-F-PmCC0&amp;hl=nl_NL&amp;fs=1&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/fam-F-PmCC0&amp;hl=nl_NL&amp;fs=1&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.overvprojects.nl/?feed=rss2&amp;p=203</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Multiple worlds in MY gmod?</title>
		<link>http://www.overvprojects.nl/?p=183</link>
		<comments>http://www.overvprojects.nl/?p=183#comments</comments>
		<pubDate>Sat, 12 Dec 2009 13:09:51 +0000</pubDate>
		<dc:creator>Overv</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.overvprojects.nl/?p=183</guid>
		<description><![CDATA[It&#8217;s more likely than you think. First have a look at the video below:

So, how does this work? Using the new predicted networked variables, entities remember in which layer they are:
function _R.Entity:GetLayer()
	return math.Clamp( self:GetDTInt( 0 ), 1, 20 )
end

function _R.Entity:SetLayer( layer )
	self:SetDTInt( 0, layer )
end
With that information, the server makes entities in different layers not [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s more likely than you think. First have a look at the video below:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="600" height="360" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/QPEVXTZhJZ4&amp;hl=nl_NL&amp;fs=1&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="600" height="360" src="http://www.youtube.com/v/QPEVXTZhJZ4&amp;hl=nl_NL&amp;fs=1&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>So, how does this work? Using the new predicted networked variables, entities remember in which layer they are:</p>
<pre name="code" class="lua">function _R.Entity:GetLayer()
	return math.Clamp( self:GetDTInt( 0 ), 1, 20 )
end

function _R.Entity:SetLayer( layer )
	self:SetDTInt( 0, layer )
end</pre>
<p>With that information, the server makes entities in different layers not collide using the ShouldCollide hook. In this hook, a pair of entities is passed to you and you specify whether they should collide or not. Clientside Entity.SetNoDraw is used in the RenderScene hook. If an entity is in the same layer as the local player, it&#8217;s visible, otherwise it&#8217;s not. Simple.</p>
<p>But it&#8217;s not without its problems yet. Here&#8217;s a list of the known problems at the moment:</p>
<ul>
<li>Sound is still heard throughout all layers.</li>
<li>Constraints (ropes, hydraulics, &#8230;) can be seen throughout all layers.</li>
<li>Some effects show throughout all layers and some don&#8217;t show anymore at all.</li>
<li>E2 holograms aren&#8217;t layered yet, which causes trouble.</li>
</ul>
<p>And on top of that, the tool &#8211; in its current state &#8211; is obviously ideal for spammers. I&#8217;m currently working on the constraint issue and I am confident the other problems will be solved over time too.</p>
<p>To solve the spamming issue, my idea is to have a scoreboard in the STOOL menu which shows every layer with the amount of entities and the players into it.</p>
<p>Tell me what you think of it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.overvprojects.nl/?feed=rss2&amp;p=183</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>New website design</title>
		<link>http://www.overvprojects.nl/?p=179</link>
		<comments>http://www.overvprojects.nl/?p=179#comments</comments>
		<pubDate>Mon, 07 Dec 2009 19:52:18 +0000</pubDate>
		<dc:creator>Overv</dc:creator>
				<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://www.overvprojects.nl/?p=179</guid>
		<description><![CDATA[Yes, I have finally made the change to Wordpress. The name of this theme is K2 and I&#8217;ve done my best to make it look like the old site as much as possible.
So, why did I switch to Wordpress? In short, my own PHP code was starting to get incredibly messy and why not use [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, I have finally made the change to Wordpress. The name of this theme is K2 and I&#8217;ve done my best to make it look like the old site as much as possible.</p>
<p>So, why did I switch to Wordpress? In short, my own PHP code was starting to get incredibly messy and why not use an awesome free solution to all your problems?</p>
<p>I&#8217;ll be adding a picture of me to the About page as soon as I can scan it, as promised. In other news, I know you&#8217;ve been waiting for a new blog post for about 2 months and I am going to give you (a real) one tomorrow about an exciting new project. I&#8217;m also planning to review the beta of the game R.U.S.E.</p>
<p>Stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.overvprojects.nl/?feed=rss2&amp;p=179</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Planning SourceScript and some Evolve work</title>
		<link>http://www.overvprojects.nl/?p=105</link>
		<comments>http://www.overvprojects.nl/?p=105#comments</comments>
		<pubDate>Thu, 08 Oct 2009 15:13:03 +0000</pubDate>
		<dc:creator>Overv</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://lab.overvprojects.nl/?p=105</guid>
		<description><![CDATA[As I said in the last post, SourceScript&#8217;s hooks are still very rough and almost perfectly relay the game events Source sends me. So, I started planning the names and arguments of the hooks. Here&#8217;s the result:

(Sorry, I couldn&#8217;t be bothered to convert the Word table to XHTML)
So, what&#8217;s currently on my to do list?

Write [...]]]></description>
			<content:encoded><![CDATA[<p>As I said in the last post, SourceScript&#8217;s hooks are still very rough and almost perfectly relay the game events Source sends me. So, I started planning the names and arguments of the hooks. Here&#8217;s the result:</p>
<p><img src="http://i33.tinypic.com/2csbd6s.gif" alt="" /><br />
<em>(Sorry, I couldn&#8217;t be bothered to convert the Word table to XHTML)</em></p>
<p>So, what&#8217;s currently on my to do list?</p>
<ol style="color:#444444">
<li>Write the base layout of Player, Entity, Vector and DamageInfo classes.</li>
<li>Make all hooks use the new classes.</li>
<li>Add the easy to add functions like SteamID(), Nick(), UserID() and EntIndex().</li>
<li>Add the sigscanned functions.</li>
</ol>
<p class="defaultfont">Besides the standard libraries there will be a few custom libraries like server<em>.ChangeLevel()</em>, gamemode<em>.GetName()</em>. More about SourceScript soon.</p>
<p><span style="font-weight:bold">Evolve progress</span></p>
<p>Evolve has progressed a bit slowly recently due to other projects like SourceScript, but never fear, since it does always progress. Last week I&#8217;ve made the player list a bit more interesting and useful. It was way too bland for the space it&#8217;s taking, so I added some useful stuff:</p>
<p><a href="http://i35.tinypic.com/dw9l5.png"><img src="http://i35.tinypic.com/dw9l5.png" border="3" alt="" /></a></p>
<p>As you can see, it&#8217;s easy to see SteamIDs now and the rank of everyone is indicated with icons. The next planned thing is completely customizable ranks done right <em>(Read: Not like NewAdmin)</em>. Just like NewAdmin, to perform certain actions &#8211; including opening the menu &#8211; you need a privilege which is given to groups by the owner via an extra tab.</p>
<p>In the release version, it&#8217;ll come with the ranks Respected, Admin and Super Admin pre-installed which you can freely modify, rename or remove. The guest rank will be modifiable, but not removable and the owner rank automatically has got all privileges and can not be modified.</p>
<p>Let&#8217;s end this post with an interesting video showing how in-game graphics have improved over the years.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/KvSJbbkF2zY&amp;hl=nl&amp;fs=1&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/KvSJbbkF2zY&amp;hl=nl&amp;fs=1&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.overvprojects.nl/?feed=rss2&amp;p=105</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SourceScript?</title>
		<link>http://www.overvprojects.nl/?p=101</link>
		<comments>http://www.overvprojects.nl/?p=101#comments</comments>
		<pubDate>Mon, 28 Sep 2009 15:11:40 +0000</pubDate>
		<dc:creator>Overv</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://lab.overvprojects.nl/?p=101</guid>
		<description><![CDATA[I&#8217;ve already told a few people on Steam about it, but now it&#8217;s official. I&#8217;ve picked up the SourceScript project again. For those who are not yet familiar with it, here&#8217;s a summary:
Most of you already know about the integration of Lua in the Half-Life 2 mod Garry&#8217;s Mod. What if you could use Lua [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve already told a few people on Steam about it, but now it&#8217;s official. I&#8217;ve picked up the SourceScript project again. For those who are not yet familiar with it, here&#8217;s a summary:</p>
<blockquote><p>Most of you already know about the integration of Lua in the Half-Life 2 mod Garry&#8217;s Mod. What if you could use Lua to mod for other Source games instead of having to learn complicated languages like C++? SourceScript provides a server plugin to take care of just that. It&#8217;s aiming to enable Lua in all EP1 and Orange Box based games currently in the Steam Store.</p></blockquote>
<p class="defaultfont">The last time I talked about SourceScript I mentioned really simple hooks and a non-streamlined integration in the Source Dedicated Server. To start off, I&#8217;ve completely rewritten the whole thing, since I have a lot more experience with C++ now. Back then, I didn&#8217;t even know what the difference between a const char* and char* is. This will ensure a faster and more stable development process.</p>
<p>I&#8217;ve decided to first write all the event hooking code, perfect it and then work on the functions with which you respond to said events. It&#8217;s still all very rough, by which I mean it&#8217;s almost a perfect port of the C++ events, but here&#8217;s the implemented hooks:</p>
<blockquote><p>RoundStart( TimeLimit, FragLimit, Objective )</p>
<p>RoundFreezeEnd()</p>
<p>RoundEnd( Winner, Reason, Message )</p>
<p>PlayerConnect( Nick, IPAddress )</p>
<p>PlayerDisconnect( Nick, UserID, SteamID, IPAddress )</p>
<p>PlayerInitialSpawn( UserID )</p>
<p>PlayerSpawn( UserID )</p>
<p>PlayerDeath( UserID, Attacker )</p>
<p>PlayerDamage( UserID, Attacker, Health, Armor, DmgHealth, DmgArmor, Hitgroup )</p>
<p>PlayerChangedTeam( UserID, Team, OldTeam, Disconnected )</p>
<p>PlayerPickedUpItem( UserID, Item )</p>
<p>PlayerFootstep( UserID )</p>
<p>PlayerJump( UserID ) <span style="font-weight:bold">&lt;- Yes, GMod doesn&#8217;t have this!</span></p>
<p>PlayerShootWeapon( UserID, Weapon )</p>
<p>PlayerWeaponHit( UserID, x, y, z )</p>
<p>PlayerWeaponReload( UserID )</p>
<p>PlayerWeaponZoom( UserID )</p>
<p>PlayerBombPickup( UserID )</p>
<p>PlayerBombDropped( UserID )</p>
<p>PlayerBombBeginPlant( UserID, Site )</p>
<p>PlayerBombPlanted( UserID, Site, x, y )</p>
<p>PlayerBombBeginDefuse( UserID, HasKit )</p>
<p>PlayerBombDefused( UserID, Site )</p>
<p>ConVarChange( name, value )</p></blockquote>
<p class="defaultfont">
<p>As you can see, clearly the arguments of some hooks don&#8217;t make any sense, like PlayerBombBeginDefuse <em>(What the fuck is up with that name)</em> having a HasKit argument and PlayerBombDefused not. The only actually hooked Source Engine function so far is Msg, which is pretty useless since it does the same as print. When I&#8217;ve polished the hooks, I&#8217;m first doing global stuff like a server library with GetMap() and all that jazz, and then the entity commands like SetPos()/Ignite(). Polishing the hooks includes using a Vector object instead of X, Y and Z parameters.</p>
<p>Now that we&#8217;ve had the wall of text, let&#8217;s look at some more exciting (?) stuff. To start off, lua_run, just like in Garry&#8217;s Mod:</p>
<p><a href="http://i35.tinypic.com/nvzbyw.jpg"><img src="http://i35.tinypic.com/nvzbyw.jpg" border="2" alt="" /></a></p>
<p>Also notice &#8216;Running script hooktest.lua&#8217; at the top which is called from autoexec.cfg as:</p>
<blockquote><p>lua_openscript hooktest.lua</p></blockquote>
<p class="defaultfont">Here&#8217;s a more interesting example:</p>
<p><a href="http://i38.tinypic.com/izlxeq.jpg"><img src="http://i38.tinypic.com/izlxeq.jpg" border="2" alt="" /></a></p>
<p>Yes, it is a little lame, just showing the UserID, but it demonstrates how well the hook and lua_run system already work!</p>
<p>I&#8217;d love to hear any argument suggestions for the hooks I&#8217;ve shown here, however I&#8217;ll probably steal the arguments from Garry&#8217;s Mod where appropriate. I hope you guys are just as enthusiastic as I am, looking forward to the outcome of this thing. It might just become a great success and introduce a lot of new people to the great world of Source modding.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.overvprojects.nl/?feed=rss2&amp;p=101</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
