Archive for the 'Projects' Category

Layers update

Yep, nearly two months without an update. I’m sorry, but I didn’t really have something blogworthy until now. Anyway, I’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. Additionally, there’s three icons which display the players, the amount of entities and the owner of each layer. I’ve added an icon for the owner because the title of layers will probably be changeable. I’m currently looking into minor issues and measuring how much lag it causes. I’m not going to show a video of it yet, because it’s not perfect yet, but you can expect a video very soon.

Evolve

Currently I’m not paying a lot of attention to Evolve, but it is not dead and I’m constantly adding small new features and fixing reported bugs. The chat command and console command code is pretty much done, so soon you’ll be seeing progress on the new menu:

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!

Sandbox server

I’ve bought a new sandbox server (yet again) which you can find here. This time I really want to spend some time to make it special. Perhaps you also have some suggestions regarding that? Currently I’m thinking of the following features:

  • Lobby at the spawn with minigames for when you have nothing to do
  • Fancy background music
  • Designated build areas (You have your own space which other people can’t build in)
  • A hat store (Cliche, but nonetheless pretty cool :3)

What’s next?

I’m going to France for a few days, so I’ll probably make a post about that some day next week. Anyway, next week I’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!).

Evolve and rising water

To start off, I’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’ve been having trouble with actually moving water, so I decided to move the level down instead. Here’s a video of it:

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?

The work I’ve finished for Evolve is equally awesome (I guess). Let me start off with the spelling suggestion feature. Has it ever annoyed you when you typed

!ramk mingebag superadmin

and it responds with Unknown command ramk and you’re all like

Fuck, now I need to retype that shit, just because I hit the M key instead of the N :(

Now that isn’t a problem anymore with the built in spelling suggestion feature. Instead of giving back Unknown command, it will know that you meant !rank instead and correct you. So from now on you can reload the map with !reloasd!

Anyway, here’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:

It’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’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.

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’s pretty cool and rewarding for me. More so because I’ve not in any way advertised it and it’s only available by SVN.

Finally, I’d like to congratulate my server host, since it’s been doing pretty well despite the activity in my build server. I’m pretty sure they’re one of the cheapest hosts after UKGame.com, but then again UKGame.com fails big time.

Happy holidays.. and I’m preparing a surprise for you guys!

WebOS, blogging and GMod

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:

WebOS_Launcher[1]Palm webOS is a mobile operating system running on the Linux kernel with proprietary components developed by Palm.

webOS’s graphical user interface is designed for use on devices with touchscreens. It includes a suite of applications for personal information management and makes use of a number of web technologies such as HTML 5, JavaScript, and CSS.[4][5]Palm claims that the design around these existing technologies was intended to spare developers from learning a new programming language.

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.

2uz2p15[1]

Neat.

New avatar

237537ed1e5ce13b50268c5a292a2872a5e3e835_full[1]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 tutorial for the rising sun background.

Windows Live Writer

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: Windows Live Writer. I’m not going to discuss all of it, as Garry already covered it, 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.

Fretta gamemode contest

23hk84x[1]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 here. 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. Here’s a full description.

Evolve menu and scoreboard

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:

  • You don’t have to bind a key to some obscure command.
  • It integrates better into GMod which is one of the goals of my admin mod.
  • I can make the menu look more interesting.

More information about this soon enough.

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!

Multiple worlds in MY gmod?

It’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 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’s visible, otherwise it’s not. Simple.

But it’s not without its problems yet. Here’s a list of the known problems at the moment:

  • Sound is still heard throughout all layers.
  • Constraints (ropes, hydraulics, …) can be seen throughout all layers.
  • Some effects show throughout all layers and some don’t show anymore at all.
  • E2 holograms aren’t layered yet, which causes trouble.

And on top of that, the tool – in its current state – is obviously ideal for spammers. I’m currently working on the constraint issue and I am confident the other problems will be solved over time too.

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.

Tell me what you think of it!

Planning SourceScript and some Evolve work

As I said in the last post, SourceScript’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’s the result:


(Sorry, I couldn’t be bothered to convert the Word table to XHTML)

So, what’s currently on my to do list?

  1. Write the base layout of Player, Entity, Vector and DamageInfo classes.
  2. Make all hooks use the new classes.
  3. Add the easy to add functions like SteamID(), Nick(), UserID() and EntIndex().
  4. Add the sigscanned functions.

Besides the standard libraries there will be a few custom libraries like server.ChangeLevel(), gamemode.GetName(). More about SourceScript soon.

Evolve progress

Evolve has progressed a bit slowly recently due to other projects like SourceScript, but never fear, since it does always progress. Last week I’ve made the player list a bit more interesting and useful. It was way too bland for the space it’s taking, so I added some useful stuff:

As you can see, it’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 (Read: Not like NewAdmin). Just like NewAdmin, to perform certain actions – including opening the menu – you need a privilege which is given to groups by the owner via an extra tab.

In the release version, it’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.

Let’s end this post with an interesting video showing how in-game graphics have improved over the years.