Development Update!

posted in Old Stuff
Published June 07, 2009
Advertisement
I'm project jumping again, but this time I think I'm back on the right path.

I got my 360 and looked into some C# and XNA development and I just couldn't get into it once again. I don't know, maybe it'll take another year or so but I'm stuck in the C/C++ level. I've been playing some Xbox 360 games and don't think I could even compete on that level for middleware or anything for indies. Back to the PC I go for now and will just have that as my leisure activity.

Back in March, I made an entry on a game engine project I wanted to start on. Long story short, that went down the drain fast after seeing how Newton was setup and the work required to start porting it into the engine. I got discourage and decided to spend more time on playing with the Leadwerks engine instead, which I had started with in January.

Well after spending 6 months with the engine, I've gotten some good ideas of how I should structure my engine. The Leadwerks engine is a real example that shows how engines can be simple yet efficient and powerful still. There are a few drawbacks to the engine itself though, since it is based in Blitzmax, but overall it is a very nice engine. It's one I would still recommend for people to play with and one I'd still support.

Anyways though, I'm starting my own engine back up but this time I have a more clear path I want to take. This time around, I will be using:
* SFML for the application framework, audio, input, etc...
* Lua for scripting interactions
* OpenGL for graphics rendering, shaders, etc..
* PhysX for physics
* Xinput for my secondary input
* Configurable Math Library for additional math related stuff
* My UDP IOCP framework code alongside enet for networking
* CEGUI for game gui.
* Other mini code examples and libraries where needed

The deployment strategy I will be using is the one that the Leadwerks engine uses as well as another engine I can't recall the name of right now. The way it works is through a DLL so any language that supports C strings and loading DLLs can use the engine. It's a great strategy if I might say.

Basically, I'm just combining everything and writing the glue code to use the components via my own API and then the appropriate Lua binding glue code to expose those to the scripting side. It's a bit of work, but it's what I want to do and I'm working hard each day to make more progress and get something working. The way I am starting out is just getting everything working first, and then I'll go back and add more flexibility, since right now I've got a few things limited in terms of only being able to have one instance at a time.

Once that grunt work is done, I have to look into some model formats and integrating simple shader code so things just don't look flaccid. However, I'm not going to focus on the graphics side of things that much. My main goal is getting everything else working together to be able to prototype out a network based game. This stage is a bit away, but it's on the radar.

So, that's it for my little development update. I don't think this project is going to get abandoned like my previous ones. I really don't have anything else to work on for the time being, so I think it's a good time to get this done and start making the magic happen! I'm not sure when I'll post another update, but hopefully in a week or two with a lot more progress done.
0 likes 4 comments

Comments

Mike.Popoloski
I don't want to derail your plans or anything, but how about instead of writing another engine that will join the ranks of thousands of others, how about writing one on top of SlimDX in C#? You'd be the first if you actually finished one, plus you'd get to use C# instead of fiddling with C++.

Just a thought [grin]
June 07, 2009 07:43 PM
Drew_Benton
I've not tried SlimDX yet, but it was on my todo list. Right now, I don't think I'm ready for C# yet as a whole. I thought getting into the xbox live + xna dev membership, I'd be able to get going, but that failed. I'm so attached to C++ still that I've tried breaking away from it once again and quickly ran back to the 'comfortable and known' zone.

I think once I get this work done and get a few completed projects, I'll be able to transition into another language having the experience of other real completed projects done. I don't have other things in my way now stopping me from getting this project done, so I won't have any excuses if I bail this time around, which I don't think I will.

I've already got OpenGL exposed completely to Lua now (was a couple of hours of work) and boy was it long and tedious. However, I feel more dedicated this time around and certainly don't see a flip-flop again as I've been doing the past year and a half.

This is one of the bad things about working alone and without a masterplan, so to speak. I can spend days thinking of what I want to do and start down that path but quickly go back since I have not commitments. Maybe I just make everything more complicated and harder for myself than it should be. Oh well, I really hope to invest most of June on this project and have it near completed by the start of July.

This post is starting to seem really incoherent as I reread it, so I'll stop here for now.
June 08, 2009 01:26 AM
evolutional
As a general question, why do you want to make an engine rather than a game?
June 08, 2009 02:10 PM
Drew_Benton
Quote:Original post by evolutional
As a general question, why do you want to make an engine rather than a game?


The simple answer is that I want to design tools, frameworks, middleware, anything that makes doing other tasks easier. I'm just not into sitting down and coming up with a game idea and then investing the time and resources into trying to make it happen. I like prototyping small throw away projects that show off the features of what I'm using, but not actually making a full fledged game.

The main reason behind this is simply because as one developer, I can do those things as they all are programming driven. When it comes to a game, I have to dive into the art, story writing, game play mechanics, etc... I have invested in books that should help me grasp those concepts better, but trying to do it all myself is not efficient.

I have no programming complement. It's just me and working with other people is out of the question because I've tried it and I just work at a difference pace than everyone else. For a game you need at least two people, with only one you are missing out on a lot of the fun of actually doing the work and then it becomes just that, work. Since I have no intentions of writing games to sell, all the time and effort will just be to give away, which at that end result, is useless.

However, making middleware could be more useful at least for people who want to try a spin off project on something new and get ideas of how to approach the game making process differently. Anyone doing a real game with funds and the whole 9 yards isn't going to be messing around with anything that is not solid, so the target audience are those just doing it for pointless fun, experience, you know.

If I really were going to consider a game, I'd really have to join someone else's project as I could not materialize a real game on my own. I just don't have the desire to go through all the non programming stuff at this point in life. Maybe later I'll be able to, but I've noticed when it comes to real "game dev", I just can't do it.
June 08, 2009 08:28 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement