Thu 15 Jul

Lockless Linked List

For some recent work I needed to make a lockless linked list. These kind of lists are awesome because, for the most part, you can add things to the list from multiple threads with minimal cost. For my case a limitation on the needs of the list was that it only needed lockless insert, removals would be managed from a single thread. This allowed for a pretty awesomely efficient insertion function which I document here. Unfortunately this implementation is Windows specific but could probably be switched to whatever CAS your local OS uses. Enjoy.

template<typename T>
void Insert(const T \&amp; d)
{
    volatile Node<T> * current = _root;
    Node<T> * n = new Node<T>(d);
    volatile PVOID * ptr;
    do 
    {
        // Traverse to the end
        while(current->next != NULL)
        {
            current = current->next;
        }
        ptr = (volatile PVOID *)(&amp; (current->next));
        // Attempt to swap in our new node
    } while (InterlockedCompareExchangePointer(ptr, n, NULL) != NULL);
    InterlockedIncrement(&amp;_nElements);
}

Cheers, Loren


Sun 11 Jul

Skinned Animation

One of our projects for the last two months has been to build a 3dsmax exporter and an accompanying importer/render pipeline for our engines. This is the result of the project. The exporter supports exporting skinned and un-skinned meshes, bone structure, and scene graph to maximize mesh re-use. The stored format is XML based making it readable but not optimal.

Cheers, Loren


Sat 10 Jul

DevLog 2.0

So, seeing as I have homework to do I totally decided to work on DevLog instead! The software now supports multiple projects and users with the schema done up to support the addition of RBAC here in the near(ish) future. I very much ripped the CSS code for it from the theme I’m using for this blog by the awesome gentleman Nevan Scott. I cannot find you on the internet but thanks, where ever you are.

Anyways, on a more realistic front, a lot of work needs to be done to get DevLog release ready. Currently it uses sqlite3 (not a bad thing) but triggers need to be added to enforce foreign keys. User input from logged in users needs to go through more validation resulting in more queries to the database as well. Project and user management is currently done from python scripts run outside the server so some form of admin panel needs to be added to manage users, RBAC groups, projects, and posts. Moreover, the code needs to be moved out of the root webpy code and into a module (which uses webpy). This will aid in integration of the software into other webpy sites. Finally, some work could be done on the configuration front in terms of making it easier to theme and setup.

This is all on a back burner behind my thesis project (Arrogance) but feel free to keep up with it and other development from my developers log!

- Loren


Sun 4 Jul

DevLog

I started a project today, partially out of necessity and partially out of want. The project is called DevLog, short for Developers Log, and is a very simple system for creating quick log messages. It is very much inspired by micro-blogging software but made to be even simpler. The goal is that a developer can make quick log entries about what they are doing, where they are in the code, problems they have had, whatever, without losing concentration. No big interface, no clicking to add an entry, just type and hit enter and done.

I built it using web.py and it only took a few hours and totals at around 50 lines of code. Pretty nice and runs on sqlite to make it usable on both a local machine and a server quickly.

Once I’ve added a theme to it and a few more features I will be releasing the code for it. I’ve wanted these things so often and they are never there, now one is.

Anyways, you can find my personal devlog for my masters project Arrogance over on the “Other Stuff” bar on the right or by clicking here.

Cheers, Loren

On and on and on

Behind. I hate it, being behind. It has to be the most stressful thing in the world. Anyways, I’m catching up. Tired of it.


Sat 19 Jun

Mayan TD

A turret defense that I worked on before I came to Guildhall has been resurrected! While I certainly have absolutely no time to work on it, I am anyways! Its quite exciting!

Anyways, the original game was written in C using SDL so it is presumably mutli-platform. Since working on it though I have learned a lot about making games and have refined its gameplay into a solid experience. Beyond this, the new version is being done in Flash using Flixel which should give me a really quick turn around time on making it. In fact, its going so fast that I already have the game up with the cursor, gameplay grid, etc. I’ll keep posting as development continues.

- Loren


Fri 11 Jun

Thesis

Thesis work is about 20-30% complete on a first pass basis. A lot could change, and that doesn’t count the need to build the game and get my results, but at least the writing is on the way to being done. It took about a 10 hour writing session to bust it out, and I hated it, but it is done.

- Loren

TF2 For Mac!

It is here! At last! And! It! Isn’t very good.

I mean, it works. I’ve played a few rounds. But it just doesn’t run well. I am trying to play it on a brand new MBP with the 330M card. This is not a stellar card but it isn’t so bad that the game should jerk around a lot at native resolution with all of the settings at the lowest. But it does.

One of the things I figured out not to do for the moment is enabling the Steam overlay. The overlay is one of those things that makes Steam kind of awesome but it kills the Mac. When enabled, the game dragged down to a crawl. It is worth ignoring the annoying window about needing to enable such and such to get the overlay.

In game it still needs some work. Changing settings doesn’t trigger everything to reload that needs to reload leaving some stuff wonky until a full re-opening of the game. Another thing is when Valve built the Source engine they did not build in any kind of strong font system. This kept the engine open to using system fonts but it means that now over on the Mac it feels like they are resorting to bad fonts; some are barely visible in game. Unfortunately, this held true over in HL2 also.

I’m super stoked to have Steam over on the Mac and to have Valve porting their games. I’m even stoked to have this buggy release. I just hope they fix it. They sure have enough downloaders.

- Loren


Wed 9 Jun

Sore

Yesterday I attended my first class of Brazilian Jiu-Jitsu and, despite having run fairly regularly for the last year, it kicked my ass in a non-proverbial kind of way. It was a free trial class to see if I like it and I am happy to say that I do. It really showed me my own weakness in terms of strength and anaerobic endurance. It was also a lot of fun to do and while being sore all over I feel pretty good. Going to try one more free class before I go all in since its kind of expensive but as of right now I very much plan on doing so.

- Loren


Mon 7 Jun

Arena Shooters

So I keep seeing awesome top down arena shooters and just made the decision that my next game will be a multiplatform arena shooter. They are just so cool!

- Loren

Next → Page 1 of 3