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.