• entries
    732
  • comments
    1562
  • views
    492133

New project!

Sign in to follow this  
Ravuya

83 views



So here's what I've been working on the last month and a half.

What happened to Sunrise? Quick answer: I didn't like how it was turning out. The shop interface was clunky, a lot of my code needed refactoring and I had a confused design. To make things worse, I could literally count thousands of new space RPGs that were sprouting all around GDNet. So I'll shelve the game concept for later.

So what's with this new game? It's called Glow; it's an action RPG that involves you killing a whole wad of zombies and rampaging through largely linear maps. It has piles of unlockables (new weapons, and even minigames) that some of you may know about by now if you're within instant messaging distance of me to receive my ill-received PNG images.

It uses GLSL to generate a red/black/white duotone image. I'm a huge fan of Paul Pope's Heavy Liquid, but I'm an even bigger fan of Miller's Sin City, and so there's kind of a mixture between the two here. You'll see quite a bit.

I've been working unbelievably hard on the engine and I think it's starting to pay off. Can't wait to see more about the game? Neither can I.

I'll be trying out a Windows port eventually to see if I can get glActiveTexture and the rest of GLSL working (I use render-to-texture) as it appears glActiveTexture is not part of the standard loadout for Windows OpenGL -- can anyone confirm/deny this?

I'm primarily worried about not being able to have glActiveTexture if the user doesn't have pixel shader capability, which effectively eliminates my ability to use RTT and will have to hack in an alternate code path. Edit: SHilbert informs me that most videocards past and including the gf2mx should have GL_ARB_multitexture so I'm probably fine just bailing if you don't have it.

But still, carpe diem and whatnot. I think this thing is going to be bad-ass.

Minor progress update: You can now load normal-sized md2 models and use them as unblockable world geometry. This should come in handy for fences, overturned cars, etc.
Sign in to follow this  


4 Comments


Recommended Comments

#pragma once


namespace pawn {

namespace equ {

template < class T >
class IEvalable {
public:
virtual T eval() = 0;
};

template < class T >
class Value : public IEvalable< T > {
T _val;

public:
Value( T val )
: _val( val ) { }

virtual T eval() {
return _val; }

void set( T val ) {
_val = val; }
};

enum {
OP_ADD = 1,
OP_SUB,
OP_MUL,
OP_DIV,
OP_POW,
OP_NEG,
OP_SIN,
OP_COS,
OP_TAN,
OP_ASIN,
OP_ACOS,
OP_ATAN,
OP_LOG
};

template < class T >
class UnaryExpression : public IEvalable< T > {
protected:
T _val;

public:
UnaryExpression( T val )
: _val( val )
{}
};

template < class T >
class BinaryExpression : public IEvalable< T > {
protected:
T _val1;
T _val2;

public:
BinaryExpression( T val1, T val2 )
: _val1( val1 ),
_val2( val2 )
{}
};

template < class T, unsigned int OP >
class Expression : public IEvalable< T > { };

template < class T >
class Expression< T, OP_ADD > : public BinaryExpression< T > {

};

template < class T >
class Expression< T, OP_SUB > : public BinaryExpression< T > {

};

template < class T >
class Expression< T, OP_MUL > : public BinaryExpression< T > {

};

template < class T >
class Expression< T, OP_DIV > : public BinaryExpression< T > {

};

template < class T >
class Expression< T, OP_POW > : public BinaryExpression< T > {

};

template < class T >
class Expression< T, OP_NEG > : public UnaryExpression< T > {

};

template < class T >
class Expression< T, OP_SIN > : public UnaryExpression< T > {

};

template < class T >
class Expression< T, OP_COS > : public UnaryExpression< T > {

};

template < class T >
class Expression< T, OP_TAN > : public UnaryExpression< T > {

};

template < class T >
class Expression< T, OP_ASIN > : public UnaryExpression< T > {

};

template < class T >
class Expression< T, OP_ACOS > : public UnaryExpression< T > {

};

template < class T >
class Expression< T, OP_ATAN > : public UnaryExpression< T > {

};

template < class T >
class Expression< T, OP_LOG > : public BinaryExpression< T > {

};

}
}

Share this comment


Link to comment
When you roll over something in your inventory box, it "inflates" like the Mac OS X dock to show you a better idea of what it is.

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now