evolutional.co.uk

Profile
United Kingdom
Random words and other things
1,000 comments
1 followers
436 entries
Advertisement
evolutional
May 02, 2009
GM vs C# Part 5
I've implemented the Get/SetInd for tables which is working nicely... however in doing so i've noticed a subtle bug - functions cannot return values! Or rather, they can, but they're somehow lost on the stack - I think it'll be a problem with the popping of a stackframe, rather irritating but at le…
549 views
evolutional
May 01, 2009
GM vs C# Part 4
I've added basic operators (Add,Sub,Mul,Div) for the Integer type, it seems to be working very nicely. Local assignments using the operators are working well, which makes me happy :) Now I need to actually register float, string, function and table as a type in the machine and wire up these simple …
581 views
evolutional
April 30, 2009
GM and C# 3
I've successfully implemented script calls, which involve the pushing and popping of stack frames. I can now run bytecode compiled from the script:


pf = function(v)
{
print(v);
};
pf( \"hello, gamemonkey\" );
print( \"done\" );


It now prints:


hello, gamemonkey
done


Which is exactly correct an…
386 views
evolutional
April 30, 2009
Untitled
I found a small bug in thread (coroutine) creation; I wasn't pushing the 'this' variable and the function of the thread after I created it, thus not creating the first stackframe. Function calls are working to an extent; I now need to do the following:

* replace references to the function offset wit…
469 views
evolutional
April 28, 2009
Rage against the VM
I've got a very basic C# implementation of the GameMonkey VM working which can run the compiled bytecode:


0000 push null
0004 get global 0
0012 push str 6
0020 call 1
0028 pop
0032 ret


Which was originally:


print( "hello, gamemonkey!" );


I compiled the script in the vanilla GameMonkey Script b…
393 views
evolutional
April 27, 2009
VM

VM

I've decided that I'm going to maintain a strongly typed set of instructions for the bytecode; that is the instructions themselves are objects, rather than a list of ints encoded from the instruction and the operands. I feel this way will be more intuitive to deal with, but it could come at the cos…
564 views
evolutional
April 26, 2009
switch
Well I finally finished and released my patch for adding in switch to GameMonkey script version 1.25l. I'm pretty pleased with it as it involved making some fairly hefty mods to the YACC file and generating the correct bytecode for the GameMonkey VM. For someone that's interested in compilers and v…
486 views
evolutional
April 18, 2009
Sifting the wreckage
I've been sifting through the wreckage of some of my old projects to see what I can salvage for the next game project I'm going to tinker with. Turns out there's some semi useful stuff out there in the form of core classes and a couple of texture/model loaders. All of which are coded in different s…
496 views
evolutional
April 15, 2009
Pt2

Pt2

I've decided to change the keywords used to case/when/default because it seems more intuitive. Because the case statements themselves are of variable types, can actually be full expressions and don't drop through or need breaking, the switch() term seemed a bit misleading as it almost implied it wo…
479 views
evolutional
April 14, 2009
Experimental switch/case statements
I've been messing around and have added an experimental switch/case statement to my current local build of GameMonkey Script.

Due to how this:syntax works, the switch syntax is modified slightly from C/C++. Here's how it looks...


switch( const_expression )
{
case const_expression { statements }
case…
412 views
evolutional
April 12, 2009
GameMonkey Script 1.25l
Greg's put out his beta of GameMonkey Script 1.25l, it features a couple of tweaks over 1.25j. The first is my usertype foreach iterator and the second is the fork() functionality. Fork looks particularly cool as it lets you fork the current thread into two; the new one being an exact copy of the c…
589 views
evolutional
April 08, 2009
GameMonkey Iterators
I got annoyed that it was impossible to iterate over any type other than the in-built table type in GameMonkey Script, so I turned my hand to modifying the source. It was surprisingly easy to add this functionality; a quick callback definition, a modification to the Type structure, a method to regi…
434 views
evolutional
April 02, 2009
gmMulticastFunctionLib
Originally posted on the GameMonkey Script Forums


I've just released version 1.0.0 of the gmMulticastFunction library binding for GameMonkey Script 1.25j (may work with older versions).

This binding provides a multicast function type and supporting functions to the GameMonkey Script environment. Mult…
538 views
evolutional
April 01, 2009
SqlBits IV
I'm not sure how many people out there know this, but I'll talk about my professional status for a little. I've been a 95% Sql Server developer for the past 5 years, the rest is a little C# and VB6 coding to leverage what I needed to happpen in Sql. I'm a Microsoft Technology Specialist in Sql Serv…
536 views
evolutional
March 25, 2009
GDNet Book
I got my sample copy of the Beginning Game Programming: A GameDev.net Collection from the publishers. I've got 2 articles credited to me in it, the main one being an updated version of the GameMonkey Script articles on this site; the second is the XML Log file collaboration with Jack Hoxley. I thin…
363 views
evolutional
March 10, 2009
Article
Been really plugging away at the GameMonkey Script article (Part 3). It's pretty insane as I'm writing some code to use as a descriptive vehicle, but am not going through it in HUGE detail in the actual article - only the scripting parts are covered.

So far the article covers:
  • Threads (GameMonkey's c…
  • 352 views
    evolutional
    March 03, 2009
    Untitled
    Ack, now that everything (sever and client) are non-blocking, I've come to a point in which the project can't be real-time unless I move away from the console (cin/cout). An upcoming version will need to factor in use of SDL to draw the basic graphics and pick up inputs from the client. So I'm back…
    383 views
    evolutional
    February 27, 2009
    MMO Quests
    Just randomly thinking here, but one thing that always astounded me was the linear nature of the quests in MMORPG games (WoW, AoC, WAR, etc). The quests themselves are often non-class or race specific and will always have the same outcome and reward (eg: kill X of Y and get Z gold and R rep). One t…
    297 views
    evolutional
    February 27, 2009
    Project 6 continues
    Work on project 6 has resumed after a brief hiatus on playing around with virtual machines in C# (the talk of language creation has sparked off my desire to get GameMonkey working in C# again). Compiler theory has always fascinated me.

    I've implemented a form of messaging on the server side which us…
    268 views
    evolutional
    February 23, 2009
    Project 6 Update
    Project 6 is underway and going well. The server is now running on non-blocking sockets - I have still yet to implement the messaging system - that's next. What the server (and client) will do is pull off any data messages from the network and post them on an internal message queue. These messages …
    309 views
    evolutional
    February 22, 2009
    Project 5 Done
    Project 5 at a point where I'd say it was "done". There's a couple of nice new things. First I added a Database class to handle the authentication system. For now this just checks against a hardcoded list of users and passwords and returns a hardcoded user id and permissions tag. I've added the aut…
    578 views
    evolutional
    February 18, 2009
    Project 4 - Done?


    I've made good headway on the 4th increment of my network test projects. I've implemented a really (really) simple session mechanism and a few more messages to handle new functionality. The single biggest change I've made to the interface of the project is that it's now interactive via a very simpl…
    400 views
    evolutional
    February 17, 2009
    Project #3 Done
    I finally got around to finishing up Project #3, the binary formatted messages. The message format is currently set to:

    u_long MessageType
    char MessageLength (Optional)
    char MessageData[MessageLength] (Optional)

    I'm aware of the inefficiency in using the u_long type here, I'm not worried about it at th…
    299 views
    evolutional
    February 10, 2009
    Laptop
    No progress on the projects tonight as I'm installing my dev environments (VS Express 2008) on my new HP Laptop!

    I crumbled and did my bit for the economy. A core 2 duo HP laptop with 3GB ram and a Geforce 9200M for GBP460. Pretty reasonable... It's got a good sized keyboard which means it'll be per…
    329 views
    evolutional
    February 10, 2009
    Project #3 update
    Almost done with Network learning Project #3. It's been interesting actually, as when I started I decided to design a "message" structure and have this serialise to the network. Being that I'm approaching this with doing just what I need for each project, designing a messaging structure without kno…
    288 views
    evolutional
    February 04, 2009
    Project 2 done


    Network Project 2 is done (I was lazy for a couple of days). The server understands 3 commands "hello", "ping?" and "goodbye", each of which yields a different reply to the client. "goodbye" also tells the server to terminate, which is useful.

    Although I've updated project 2's code to be more OO, I'…
    358 views
    evolutional
    February 01, 2009
    Network Project 2 95%
    The network project #2 is about 95% done. The interesting side effect of this process is that as you're working to fulfil a brief, you can, nay, HAVE, to stop at the brief. This leads to a great deal of restraint being needed to prevent the whole "oh I'll just add this, tweak that" mentality of the…
    482 views
    evolutional
    January 29, 2009
    Network learning path
    So, here's the path I'm setting for myself to bring up my network skills again. I'm looking soley at UDP as that's most applicable to games and what I might do with it in the future.

    I have 8 assignments planned so far, here they are. I have no idea if this is the right way or anything, it's just ho…
    302 views
    evolutional
    January 28, 2009
    socket to me
    So the first day back coding, I set myself an action plan into the sort of stuff I want to learn over the next week, month and year to come. It's fairly high level and treats myself like an idiot (not hard... heh).

    So the first thing to pick up again is network programming in C++. I've not done this…
    325 views
    evolutional
    January 27, 2009
    ding gz 80
    Fucking WoW. Fucking addictive WoW.

    I've spent 15 months of my life paying for and paying for that damn game. I had 9 months off and then feel back into it for Lich king.

    Well now I'm 80 and realised that YET AGAIN I hate the gear/rep grind of the endgame, I'm off it again.

    Time to dust myself off and…
    529 views
    Advertisement

    Popular Blogs

    shawnhar
    Generalist
    101 Entries
    10 Followers
    15 Entries
    11 Followers
    johnhattan
    Programmer
    1,277 Entries
    48 Followers
    ApochPiQ
    Generalist
    628 Entries
    44 Followers
    dgreen02
    Generalist
    338 Entries
    56 Followers
    Advertisement