Joined: 23 Nov 2005, 06:16 Location: Dunedin, New Zealand
I'm trying to write my own engine but the big problem I'm running into is confusion on how to organise all the different macro components (rendering, sim, etc). Can someone paint me a picture of how spring does it?
<shotinthedark> I imagine the answer for Spring is 'not that well' considering its heritage, though things have improved considerably with the refactors over the past few years. </shotinthedark>
to what flozi siad: first part true, second part not true (with minor exceptions like the new config system and to some extend the new logging system).
i agree with behe that model-view-controller is the most important concept you should keep in mind, but also all the other accepted general/OO software design patterns. other then that, you should think about stuff like... on what systems will this engine run on, what are the most important things.. for example.. will it be performance critical cause it runs huge numbers of units on big maps or the like? and probably the most important and most complex thing you have to think about in the very beginning, is how you want to approach multi CPU/Core support/usage. an other general recommendation i would make, is to design all sub-parts through as simple and clean interfaces as possible. and of course it would be best if you would be able to keep these interfaces stable (no changes there). all this work may be a bit boring in the begining, but if your work ever gets usable and maybe even successfull, and used by others, ... or even just for the sake of learning how to do things right, you will be very thankfull for that.
btw, this is kind of one of my key interest topics, so if you have more questions or want to discuss.. i'd be interested.
ouh... and if you are using C++ ... better just do not even start... please!
to what flozi siad: first part true, second part not true (with minor exceptions like the new config system and to some extend the new logging system).
Well I'm sure there's still a long, long way to go... but I didn't want to be too much of a debbie downer; ie. I sure do appreciate all your work.
Spring is a horrific mudball that compiled and ran oneday.
Since this heap of garbage managed to work and something desirable appeared on the screen, many many termites of the genus "Developus yankspankicus" and "Flamus ceepluspluses" have been shaping the mud into something resembling a termite hill in hopes that they will not be swept away by the unwashed masses
The most structured part of the engine is the lua bit
Joined: 24 Jan 2006, 21:12 Location: There is no god - and reality is his prophetess
now... why cant we have a big company providing a cathedral architecture, that is fixed and will collaps if only one stone is removed after building has ended.
Just accept what the world is, accept that you might not be alone on your engine. Write ComentCode before creating functions and junctions
//Function: Returns values this and this
//wahr(end) do
//if this is true then you goto do
//else
Also, while keeping to modell view controll, make sure you have something minmal that compiles at all times. Undefined Coment in Line 55: No point in sailing the red Ocean (thats how i call the codeblocks, youvegotErroz lines) Also, draw a paperplan.. consider stuff that has to adapt, and stuff that will be fixxed.
Joined: 07 Feb 2005, 21:30 Location: Cheese factory
Write acceptance tests for anything that is interactive. Use any technology that will save you time and allow you to work more effectively than other one man teams. Even if it is a pita to set up initially. Also don't develop an engine, develop a game. This last piece of advice is probably the most important.
what cheese said, and take hints from others, for example [Dr]WTF and his LSD space shooter relative to music game, where he uses very few, purely procedurally generated "content", which alloed him to do the whole thing in not too much time.
It's food for thought if you ever find yourself embarking on that journey.
Thinking about this made me realize, that spring is capable of growing- wherever the devs want it to grow towards to. And even outgrow stuff. Like we did with ugly maps.. or ta modell support only..
Users browsing this forum: No registered users and 2 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum