You always seemed like a really knowledgeable guy using tried old methods which work well for you,
semi-well. always room for improvement - sharpening the saw.
but your latest threads feel like you now want to follow the OOP+patterns crowd cause everyone uses them?
just want to make sure i'm not missing out on anything. also, i can't resist a challenge. from lurking, it appears that the C++/OO way of doing games can be less than effortless. this piqued my natural engineering curiosity. also, i suspect that what i do can be re-organized into an oo/c++ api (actually that's pretty obvious, at the end of the day, its all just code and data).
my biggest difficulty seems in determining the "correct" way to deal with "global" databases (meshes for example). straight port from C to C++ yields single instance objects with public data structures which are accessed globally. the "global access" part makes for "poorly designed" coupling between modules. but i have yet to come up with an alternative which is not less efficient. i feel if i could solve that one bit, it would give me the method i need to implement or wrap my game part libraries in a C++ api. i used to sell my libraries. but this time, i'm considering releasing them for free. i'd like to provide APIs for c, c++, java, c#, etc. by making the APIs one folks can use easily, i'll get more folks using the code, which means more feedback, and better design, which means better code. so there is a method to my madness - perhaps? <g>.
all of this is also a bit of r&d into just how generic an "engine" can be. and whether an engine or library approach is better. there are actually 3 related r&d issues driving all this: engine and library design, c++ extensions, and the latest: high level dedicated game programming languages. high level as in keywords like BeginScene and DrawIndexedPrimitive as machine opcode instructions. i ran my first test last night. 40 bytes of virtual machine code that starts directx, loads all graphics and audio content, then goes into a loop where it clears the screen, displays the name of the programming language, displays the framerate, and checks for ESC being pressed. when ESC is pressed, it shuts down directx and quits. 62.5 fps. rock solid. and that's interpreted p-code, not true machine code. so i don't have to go though the hassle of writing a full blown native code compiler.
the other can of worms is the "entity class hierarchy from hell" which apparently is another common design issue in C++. at this point, i'm still mostly in observation mode as to how others deal with these issues in C++, but so far i have yet to see some common solution rise to the surface. Since I'm still largely in data acquisition mode, so far the only things i've identified that will require more consideration are the questions of global access and entity hierarchy woes.
so, no i'm not "jumping on the bandwagon" <g>. but "a good warrior makes use of the weapons at hand". and C++ has been readily at hand for some time now. So i thought it might be a good idea to revisit the question of using c++ syntax. plus all the postings i see and all the difficulties folks seem it have, makes me think there must be a better way, some answer to this engineering challenge. maybe i'm just bored 'cause i have to do a lot of 3d modeling for CAVEMAN right now (tedious adjusting of meshes and vertices), and want something i can sink my brain into! <g>.
in fact, it occurred to me that asking that question (why do you use c++?) might get me the answers i'm looking for, as it might help highlight why (or why not) to use C++ syntax. it might be interesting to see how many use it due to outside requirements or inertia, as opposed to those who use it as a conscious decision. such a question, perhaps followed up by "what about C++ do you like?" might point to syntax advantages i can make use of.