Quote:Original post by rypyr Are you sure you're not slipping back into engine design here? Just suggesting you check yourself again and refocus on completing jsInvaders...sorry to butt in there.
|
You're not butting in ;)
Yes, the quote from the blog was correct. The difference here is that previously, I was trying to design a generic 'glove fit' engine that would encompass many generes of games.
The jsInvaders game is *very* focussed and small. It's *not* the software engineering feat I was attempting before. As such, the individual components of jsInvaders aren't portable between projects. But this is where it gets interesting. jsInvaders is totally scripted with the level content pulled from XML files. The game is toally tied into a very basic top-down shooter (textured 2d quads) and probably wouldn't stand up to being a 'real' game. The interesting thing I've found is that because it's scripted, I can
very quickly modify the scripts and the textures used to create a different top-down shooter. As a result, I could probably use it to create my initial Manta-X protoetype. As I said, I could potentially develop jsInvaders further, but this remains to be seen.
I guess what I'm talking about here is creating a game with scripted features that has
unintentionally alowed be to take things further and be used for something other than it's original purpose. Whereas previously, I was focussing on creating an 'engine' over a game and failed miserably. I wonder if this is how some projects work out?
Thanks for yout comments.
[EDIT]
I posted this in a PM to rypr - I think it gets my point across better :)
When I was creating the Manta-X game, I was very keen to create an engine - something that I could reuse over and over in many different game types. As a result, I was trying to cover as much ground as I could in what I thought would be the most professional way. Many things were abstracted out (probably needlessly) and I was trying to make things as generic as possible. Even with the overall Manta-X game in my mind, I still wasn't doing enough to focus my efforts towards that project. I was focussing on creatin a technology, not a game. I'm not sure why, perhaps I felt brainwashed by the community as a whole focussing their efforts towards engines.
So with jsInvaders I sat down with a very specific goal - to create a scriptable space invaders style game. As a result, I had a very focussed project and I was able to commit myself totally into it's development (it's about 60-70% done). Rather than spend weeks making the core engine with no real results to be seen, I was able to get the basic jsInvaders prototype up within a week an see the results. Something that took me by suprise, however was the fact that because the game is scriptable and uses XML to load it's data, I can very easily change a few files and make the game behave very differently. Space invaders becomes galaga, which becomes a different top-down shooter and so forth. Not exactly what I had in mind for my Manta-X game, but because of this I could make a quick prototype with hardly any additional effort. In essence, I have inadvertantly created an 'engine' (although very basic) from a focussed game idea.
In a couple of months, after jsInvaders is complete, I could potentially start Manta-X (again) from the core of jsI - allowing me to see results immediately. Or I could start again with the same idea, create a focussed game without the general idea to make it an engine.
As you say, it seems to contradict what I was saying, but I think the difference is that rather than focus my efforts on making a generic engine, I indavertantly created something I could use again by becoming very focussed in a new area. The difference was that I had a different mindset and adopted a totally different methodology.
As Chris Hargrove said, things improve over time - you eventually learn essentially by accident, taking things that were right and scrapping the things that were wrong. As a result, you get better. I think that's starting to happen with me.
[Edited by - evolutional on July 3, 2004 4:20:00 AM]