• entries
707
1173
• views
434667

# non-gamedev entry

126 views

Ok, so I haven't done any gamedev today. Partly because I'm getting bored with my platformer and partly because my weekend sucked. To the 3 people that I know are going to play it (atleast once): don't worry, I'm still going to finish it.

I don't even think it's that I'm bored with the project. At first I thought it had to do with the fact that I have absolutely no idea where to go from here, which is wrong because I have every thing mapped out. I have gravity tweaked to a max, life, damage, and death implemented, and the camera system implemented. That leaves scripting, events, enemies, AI, upgrades, and extras.

So, I don't know what the issue is. It seems I always get to the point where a project is actually looking like a game, and I switch; this is getting on my nerves as well as others (Raymond would kill me if I said I was switching projects again.)

One thing that is holding me up is the editor. A couple people (namely linkofazeroth) think I should go with an external editor. I however, think that an in-game editor is not only better, easier to use, and efficient, but it's cool. I was even thinking of making the in-game editor be a prize for beating the game. So, I'm going to stick with the in-game editor, but if I'm going to do that I need to use a nice GUI, which mine is not at the moment. So I either have to take a week or two to write a good GUI or use someone elses. Obviously the former is my choice and what do you know, I've already started working on it. I need to switch things back though, the unique texture setup is causing havoc.

So, over the next few weeks that's what I'm going to be posting screenshots and entries about.

As a note: don't worry to those of you that would rather have an external editor, I'm thinking about making one in C# anyway (along with the in-game editor.)

Now I'm going to sleep. Hopefully when I wake up my XBox 360 will be here.

Also, Studio Ghibli seems to have another moving coming out (their site says something about 2006, so it'll probably make it to the US around 2010.)

While on the topic, I finally watch Kiki's Delivery Service and Porco Rosso. Both good movies, but I have to ask how is it possible for someone to write AMAZING movies, and then totally botch the endings? I mean, they're not totally horrible or anything (Kiki had a good ending and Porco Rosso was ok), but a couple could have had much better (and yes, they could have been MUCH MUCH worse.)

Then there's The Grave of Fireflies. An incredibly well done movie that is just plain suck. I know it was supposed to give you a glimpse of what it was like back then (or something like that), but COME ON. That movie didn't have a single good moment in it; it was all sad. Plus the fact that you start off knowing how it's going to end. It is one of the very few movies that I wish I had never watched[sad].

Also, someone needs to to their freaking Aunt. I seriously think the devil worships her.

Well, here's a little tidbit of information that I didn't realise (it makes sense, but I never thought about it.) While attempting to solve an issue with my design I decided I need a identifer function (identifier function as in a virtual function that each derived class overrides, returning a value that identifies it. Kind of like RTTI. Won't work though, because you can't have static virtual functions[sad].)

Anyway, you can access a null pointer's static values (using 'Pointer->', not 'ClassName::') Again, I'm probably the last person to figure this out, and it probably won't be very useful to anyone [lol].

I've found that having an in-game editor can often be worth the work it takes to get it running, not having to load up 2 different programs just to make a little adjustment is a huge bonus in the long run IMHO.

And yeah, it is pretty cool[grin]

Quote:
 Original post by Sir Sapo I've found that having an in-game editor can often be worth the work it takes to get it running, not having to load up 2 different programs just to make a little adjustment is a huge bonus in the long run IMHO.

I agree whole heartedly.

Quote:
 Original post by Sir Sapo And yeah, it is pretty cool[grin]

[lol]

I think an external editor is easier to use when making a whole map. You wouldn't want to make an entire level using an internal editor... at least, not the way yours is set up now. >_>

Quote:
 Original post by linkofazeroth I think an external editor is easier to use when making a whole map. You wouldn't want to make an entire level using an internal editor... at least, not the way yours is set up now. >_>

Yes, this is true. BUT, as I've said (you may not have been around) this was pretty much just a rough draft of the editor so that I could work on the rest of the map system (kind of hard to make a map editor for a map system that hasn't been coded yet [wink].) The in-game editor will pretty much work the same way that an external editor would, except you'll be able switch back and forth between editing and testing/playing without having to close the game, load the map editor (if it's not loaded), edit the map, save, wait for the game to reload, load the game, get back to where you want to be, etc.

I'll do up a nice little mockup of the in-game editor tomorrow some time soon (I'll be playing XBox 360 tomorrow until I have to work, then I'll be working, then I'll be doing Malathedra stuff.)

Thanks for the replies guys!

Here is what I use for Object Type ID's

// ObjType.h

#ifndef _OBJTYPE_H__
#define _OBJTYPE_H__

template<class T>
class ObjType
{
private:
static int iID;
public:
static int GetID() {return iID};
};

#endif



Source File
//ObjType.cpp

#include "ObjType.h"

template <class T>
int ObjType<T>::iID = (int)&ObjType<T>::iID;



Then I use it like this
class FooClass : public ObjType<FooClass>
{
int foo;
};

void SomeFunc()
{
FooClass F1;
FooClass F2;
bool bSameClass = false;

if(F1.GetID() == F2.GetID())
bSameClass = true;
}



Quote:
 Original post by Namatsu Here is what I use for Object Type ID's Header *** Source Snippet Removed *** Source File *** Source Snippet Removed *** Then I use it like this *** Source Snippet Removed ***

That's an awesome idea, Namatsu. Thanks!

What's wrong with doing it the easy way?

class Resource
{
public:
virtual std::string Type() = 0;
};

class Sprite : public Resource
{
public:
std::string Type() { return "Sprite"; }
};