DRL > Discussion

DoomRL programming crisis

(1/5) > >>

Kornel Kisielewicz:
Okay, having finished my education work, and beaten my writer's block that I had afterwards, I finally came back to writing DoomRL. Unfortunately I immidately bounced against a Wall (and no, I do not have a rocket launcher nor a phase device at hand) -- and that being DoomRL's sources ;-). Considering the list of features that I have in mind up to 1.0.0 things cant go on with the current codebase/design that DoomRL's sources represent.

I never lied to anyone about that -- DoomRL's sources are UGLY. And it's mainly because DoomRL was originally intended to be a simple prototype to test a few ideas -- I never thought it would mature up to a full-blown game. Unfortunately the current spagetti code get's worse with every feature I add, and some drastical changes are needed or else I'll wake up in the situation that no more improvements will be possible without a rewrite.

I have thought of it for a long time now, and managed to narrow my choice of action to two basic options:

1) Rewrite the DoomRL codebase. Basically start from scratch using huge chunks of the old code. That would guarantee that the code would gain structure, and that I could implement it having important features in mind (campaign mode, graphics, editing).

2) Reimplement DoomRL using the Carceri engine.

Both solutions have their strengths and weaknesses. Most are obvious, so as for now, I wont comment on it. Gimme your opinion, and mostly, please give me encouragement, for I am dreaded with the task lying ahead :-(.

Glowie:
Poor Kornel :(

That's a way too usual problem with roguelikes. They are so easy to start without much planning, then expand and expand. Without a good design it's pure dog food in moments. I hope my partly spaghetti code will sustain and be released in summer.

I guess most players would like to see a new release as soon as possible. I assume you'd like to get it nice and stable too. Then just think which is the better way and which you like. Don't let our opinions affect you too much, after all you are the one who will do the dirty work. Or flip a coin ;)

Could you release the current version you have on your computer with all the bug fixes and balance changes, considering it's stable enough and then start rewriting please? :)

I hope you have enough strength to complete this nasty task. Good luck with it!

Santiago Zapata:
Same thing happened with CastlevaniaRL, but it was worse as it born from a 7DRL ;) In the end I saved myself from a rewrite by heavy refactoring lots of things in the engine, altough I would lie if I say the code is *clean* now; but at least it is workable.

My personal opinion would be *not to go* for #2... you may end up suffering of genericity headaches, and I know you know what I mean...

Carceri is destined for a different kind of game, from what I have been able to get from you. DoomRL, in my opinion, must not be caged inside a data driven engine, else Carceri would lose its sense as something easy to use without requiring scripting and DoomRL would lose its flexibility and *uniqueness*.

So, I think a rewrite would be the best option, sure, it may make the next version take longer, and sure, many of the already hunted bugs may rise again, but perhaps it is the only way...

Altough after 2 rewrites of Guardian Angel by myself and nothing to show about it...

radad:
Refactoring is almost always a better solution than rewriting/reimplementing?

Anticheese:
I agree that Caceri would be better suited for another roguelike, Rewriting would be a better option, It is tons tougher and will kill your free time, But that said you will be ending up with an edition of DoomRL where anything is possible.

Navigation

[0] Message Index

[#] Next page

Go to full version