Jump to content
Site Stability Read more... ×
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

Actors, Items and Props Oh my!

Sign in to follow this  
Mayan Obsidian


Hey! Sorry it's been awhile since my last entry. I've been really busy trying to move out of my old apartment and into my new one. I hate leases that end a day before I have to move into the next place. Ah well, that's college apartment life I guess.

I know I said that I would provide screenshots, but I can't do that right now because I'm doing this at work. I'm still doing what I need to do at work, but this just takes up a little bit more time. You know how it is. At least I'm not spamming refresh at slashdot or something.

At least for today.
The Engine
One of the many problems that I had when I was a novice progammer trying to get really into game development is the problem of making an "engine" to go with the game. Eventually, I would get frustrated at trying to handle how to do the graphics and then give up for a few months. Then I would start again with a new design, and then scrap that months later.

Back then I was a firm believer in reinventing the wheel. I fell into that trap of trying to do things right the first time so I spent months and months looking at forums and example engines to try to find out how they did it. 70% of it was over my head and that obviously showed in my previous designs.

Now I'm at the point where I don't really care HOW it's made, as long as it gets done. This time around I am using the power of middleware! Here are some libraries that I'm using this time around to make sure my game gets made:

Graphics - Ogre I love Ogre because I find it really easy to use. And the support and the documentation is great as well. You just have to be good at searching forums and wikis and there is a gold mine of information to get yourself started.

Physics - Newton One main reason why I'm using Newton is that there is already an Ogre wrapper for this physics library and I'm using that to save myself sometime. I do like how easy it is to use though. I enjoy it a lot more than Ode.

Sound - OpenAL No particular reason. I just like the Open part actually. I haven't quite put sound support into my engine yet so I have to see how this turns out.

Scripting - Lua with LuaPlus I'm using Lua because it has the most support when I search for scripting online. Squirrel seems interesting as well, but I'm already knee deep in the Lua to change now.

To actually make my models, I have blender. Although, I really dislike blender because I think it is rather hard to use and I would like to invest in Maya in the future.

The Basic Structure
I know that there are much better ways to do this, but I'm basically using inheritance to handle all of my objects. There is a base GameObject class, and a Prop, Item, Actor class that derives from it. A Prop is just an object that doesn't provide anything to the gameplay it's just there for looks. Like a trash can, or a ball of paper on the street would be a Prop. Item is an object that reacts to being touched by an Actor. An Actor which is a controllable model.

But yeah, I'm feeling the pain of using inheritance. Right now my Player class has a pointer to an Actor object, and in the Actor object code I have a if (this->isPlayer) check to see if that Actor has a pointer going back to the Player class to handle special collisions, etc. It's kinda hard to explain without having my code right next to me. But, I feel that I should strongly consider making a Player dervive from an Actor class.

Well I should probably get back to doing something constructive, you'll hear from me later.
Sign in to follow this  

1 Comment

Recommended Comments

Yah, I know how you feel. I, too, fell into the trap of making a engine instead of a game too.

Keep it up. I'm interested in how your game will turn out. ;)

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
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!