Chaosforge Forum

  • April 19, 2024, 21:01
  • Welcome, Guest
Please login or register.



Login with username, password and session length
Pages: 1 2 [All]

Author Topic: DoomRL programming crisis  (Read 11560 times)

Kornel Kisielewicz

  • God Hand
  • Apostle
  • *
  • *
  • Offline Offline
  • Posts: 4562
    • View Profile
    • http://chaosforge.org/
DoomRL programming crisis
« on: March 28, 2006, 15:31 »

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 :-(.
Logged
at your service,
Kornel Kisielewicz

Glowie

  • IRC-Op
  • Lance Corporal
  • *
  • Offline Offline
  • Posts: 37
    • View Profile
    • Frozen Depths
DoomRL programming crisis
« Reply #1 on: March 28, 2006, 19:22 »

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!
Logged
010000110110100001101001011011000110110001101001011011100110011100101110

Santiago Zapata

  • Temple Guardian
  • Backer
  • First Lieutenant
  • *
  • *
  • Offline Offline
  • Posts: 236
  • Roguelike Developer
    • View Profile
    • Slashie.net
DoomRL programming crisis
« Reply #2 on: March 28, 2006, 20:07 »

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...
Logged
Slash (Castlevania, Metroid, Drash, ZeldaRL)
Temple of The Roguelike
Slashie.net

radad

  • Guest
DoomRL programming crisis
« Reply #3 on: March 29, 2006, 07:12 »

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

Anticheese

  • Lieutenant Colonel
  • *
  • Offline Offline
  • Posts: 483
    • View Profile
DoomRL programming crisis
« Reply #4 on: March 29, 2006, 10:56 »

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.
Logged

Kornel Kisielewicz

  • God Hand
  • Apostle
  • *
  • *
  • Offline Offline
  • Posts: 4562
    • View Profile
    • http://chaosforge.org/
DoomRL programming crisis
« Reply #5 on: March 29, 2006, 12:06 »

Quoting: Anticheese
It is tons tougher and will kill your free time

Ya, agreed :-P.

Quoting: Anticheese
"Its diabolically evil, And fun for the whole family!"

Incest? :-P

P.S. Please do something for me as a moderator -- lock up all threads that are "old". By "old" I mean threads that do not show up on the first page of a given subforum. I did that already for the Discussion and Post Mortem subforum -- Announcements and Bug Reports need not to be touched, but the RFE subforum does :-/.
Logged
at your service,
Kornel Kisielewicz

Turgor

  • Elder Chaos Guard
  • Captain
  • *
  • *
  • Offline Offline
  • Posts: 260
    • View Profile
    • http://www.stichtingcavia.nl
DoomRL programming crisis
« Reply #6 on: March 29, 2006, 16:45 »

Quoting: Glowie
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'd like to see the current version too. As for the rewrite, well it's totally up to you. But as you've said yourself, adding more and more features will eventually force you to rewrite it anyway, so it's better to anticipate than to react.

I know hardly anything about Carceri, so i can't help your 2 basic options. But i do hope you will continue working on the game, as i enjoy it immensly.

Anticheese

  • Lieutenant Colonel
  • *
  • Offline Offline
  • Posts: 483
    • View Profile
DoomRL programming crisis
« Reply #7 on: March 29, 2006, 22:40 »

Quoting: Kornel Kisielewicz

P.S. Please do something for me as a moderator -- lock up all threads that are "old". By "old" I mean threads that do not show up on the first page of a given subforum. I did that already for the Discussion and Post Mortem subforum -- Announcements and Bug Reports need not to be touched, but the RFE subforum does :-/.



Ok, Most of my deeds involve deleting posts by spambots, Consolidating doubleposts when the second post admits he didint see the edit button, Etc.

So on this note, Could you see if a private message function is possible for the forums?

UPDATE: Done, All posts in the RFF forum that are not on the first page are locked.

--

Quoting: Kornel Kisielewicz

Incest? :-P



Nah, When my friend said that he said it was ment to be like the boardgame of doom..

Y'know, Like how evil villans use chessboards to mark the progress of their evil plans.
Logged

Valor

  • Guest
DoomRL programming crisis
« Reply #8 on: March 30, 2006, 00:42 »

I know you see me here for a first time but i am reading this forum about twice a day ,but i am too busy to register or even answer a posts.From what have i read i supose Kornel would apriciate some help and i am willing to offer it cos i know a lot of about pascal.I have even programed my own game too(i can send it to someone if you will be interested) but i am too fraking lazy to finish it.I hope working in a team would forced me to do my work on time. So i offer my help with programing this beatifull jewel if you want ,Kornel.
Logged

Anticheese

  • Lieutenant Colonel
  • *
  • Offline Offline
  • Posts: 483
    • View Profile
DoomRL programming crisis
« Reply #9 on: March 30, 2006, 01:46 »

Hmm, I'm sorry to say that I am of the opinion this is just a cheap trick to gain access to source code.

You say you are too busy to even post on the forums, Yet you say you have the time to program DoomRL?
Logged

Santiago Zapata

  • Temple Guardian
  • Backer
  • First Lieutenant
  • *
  • *
  • Offline Offline
  • Posts: 236
  • Roguelike Developer
    • View Profile
    • Slashie.net
DoomRL programming crisis
« Reply #10 on: March 30, 2006, 02:01 »

Well, getting to the source code of a closed source roguelike is never that simple, you would have to have Kornel's trust and confidence on your skills, and then roll 8d6 and get an 6 for that to happen ;)
Logged
Slash (Castlevania, Metroid, Drash, ZeldaRL)
Temple of The Roguelike
Slashie.net

Anticheese

  • Lieutenant Colonel
  • *
  • Offline Offline
  • Posts: 483
    • View Profile
DoomRL programming crisis
« Reply #11 on: March 30, 2006, 06:46 »

Nah, Roll a D% and get 42.
Logged

ChrisRowe

  • Guest
DoomRL programming crisis
« Reply #12 on: March 30, 2006, 08:00 »

I don't think I really know enough about programming in general, and the Carceri Engine in particular, to give you usefull advice as to which path to choose. However, to give you encouragment, I do think that DoomRL is a brilliant game, and I'd really really like to see the next version.

Good Luck.
Logged

Valor

  • Guest
DoomRL programming crisis
« Reply #13 on: March 30, 2006, 10:23 »

i have thought someone will say that and i can do nothing to refutate that. I can post a link to my uncomplete game if you want, i can easily share it. I only wanted to do it cos i would gain some more experience. I have just offered my help and if it stays refused i will be just a little sad. And Btw.:to get to the source code is not such a big problem anyway but i dont need it at all.It is just all about beliving.
Logged

Aerton

  • Elder Chaos Guard
  • First Lieutenant
  • *
  • *
  • Offline Offline
  • Posts: 205
    • View Profile
DoomRL programming crisis
« Reply #14 on: March 31, 2006, 09:02 »

First off, I'd strongly suggest not to go with DRL as a Carceri module. As far as I know (more accurately would be to say "as far I am allowed to know"), a readiness stage of Carceri is far away from handling a game with a complicateness level of the DRL. So going this route would make you working on two projects at one. That's not a best way of things to go considering severity of the current situation as it is expressed in the topic line.
Moreover, I suspect, that even if Carceri would be perfectly ready it still would not allow exact transition. I don't have to explain the things that you know thyself very well, that designing a new game using Carceri would lead to design-around-limitations-and-using-it's-features while transition of another game would require copy-behaviour-intact-no-matter-the-underlying-platform, so you most likely would have to choose to either sacrifice some of the rules of DRL or to add DRL-specific hacks and features to Carceri.

Now to the first option. On one side, rewriting software is evil in general, but on the other, according to Jeff Lait, the hardest part in roguelikes is data entry, and all the rules and data for DRL are ready and tested. So, you can estimate how long will it take for the rewrite and look if adding these extra features would justify the time spent. Clearly, rewriting would be better in the long run, but how much more features are you going to add?
I think we can agree that DRL now is no more a testbed or a little toy, but a fullblown mature and complicated game, veiled by a misleading look of simplicity. New features can be invented and added for an infinity, but you have to put a line somewhere.

If you are going to simply add some features to the game, refactioring is the way to go, but by the phrasing of your question it's clear that you are going to start from scratch by some way. Wouldn't it be better to declare the current version DRL a finished game and declare a new game as DRL II and do not put tight restrictions of exactly reproducing it (remaking things you did once is somewhat boring and players do not care when there is no difference to see) but take a chance and make a truly new game keeping the spirit and distinctive features of the DRL.
Logged

Kornel Kisielewicz

  • God Hand
  • Apostle
  • *
  • *
  • Offline Offline
  • Posts: 4562
    • View Profile
    • http://chaosforge.org/
DoomRL programming crisis
« Reply #15 on: March 31, 2006, 19:45 »

Quoting: Aerton
First off, I'd strongly suggest not to go with DRL as a Carceri module. As far as I know (more accurately would be to say "as far I am allowed to know"), a readiness stage of Carceri is far away from handling a game with a complicateness level of the DRL.

It's not as immature as I thought it is. Yet, other your points are completely valid. Especialy:
Quoting: Aerton
so you most likely would have to choose to either sacrifice some of the rules of DRL or to add DRL-specific hacks and features to Carceri.

... with which I must fully agree :-/
Quoting: Aerton
Clearly, rewriting would be better in the long run, but how much more features are you going to add? (...) New features can be invented and added for an infinity, but you have to put a line somewhere.  

True. There is not THAT MUCH too add. Mainly content actually and graphics. I wonder if I can refactor the game enough to support what I have in plan. Because I am perfectly aware that it is time to move on to another project -- I don't want to get stuck with DoomRL ;-).

Quoting: Aerton
ouldn't it be better to declare the current version DRL a finished game and declare a new game as DRL II and do not put tight restrictions of exactly reproducing it (remaking things you did once is somewhat boring and players do not care when there is no difference to see) but take a chance and make a truly new game keeping the spirit and distinctive features of the DRL.

No, there will be no DRL II, because I don't have anough ideas to justify a new game. Once I'll finish the current goal of DoomRL I will continue to support it, but I will (after a short romance with DiabloRL) move on to Carceri, or (I don't yet know) to ... kheh ... GenRogue ;-).
Logged
at your service,
Kornel Kisielewicz

Derek

  • Team Artist
  • Elder Chaos Guard
  • Second Lieutenant
  • *
  • *
  • Offline Offline
  • Posts: 194
    • View Profile
    • http://www.derekyu.com
DoomRL programming crisis
« Reply #16 on: April 01, 2006, 05:17 »

Personally, I think you should just keep slapping more hacks onto your current codebase, rather than rewriting the game from scratch.  A rewrite just doesn't seem worth it for a game that's already totally playable and more or less bug-free.

Save the energy for another game. :)

And by the way, I don't know if you received my e-mail, but just let me know when you are starting on graphics and tell me what to do.
Logged

Kornel Kisielewicz

  • God Hand
  • Apostle
  • *
  • *
  • Offline Offline
  • Posts: 4562
    • View Profile
    • http://chaosforge.org/
DoomRL programming crisis
« Reply #17 on: April 04, 2006, 14:13 »

Quoting: Derek

Personally, I think you should just keep slapping more hacks onto your current codebase, rather than rewriting the game from scratch. A rewrite just doesn't seem worth it for a game that's already totally playable and more or less bug-free.
Save the energy for another game. :)

Thank you for this comment :-). Basically I'm going to follow that :D.

Quoting: Derek

And by the way, I don't know if you received my e-mail, but just let me know when you are starting on graphics and tell me what to do.

I did recieve it, and I replied to it today. I'm realy sorry for that terrible reply-delay, but I'm still in the process of recovering from my helluva-of-a examsession :-(.
Logged
at your service,
Kornel Kisielewicz

Shinji_Ikari_9th

  • Elder
  • Major
  • *
  • *
  • Offline Offline
  • Posts: 375
  • Lock and load!
    • View Profile
DoomRL programming crisis
« Reply #18 on: April 05, 2006, 03:40 »

Here's wishing you luck sorting things out.  I love the game, and hope for you to reach V-1.0.0
Logged
Over and Out!

Anticheese

  • Lieutenant Colonel
  • *
  • Offline Offline
  • Posts: 483
    • View Profile
DoomRL programming crisis
« Reply #19 on: April 05, 2006, 06:00 »

Someday, SI9, Someday...

Does anyone know when DoomRL first came out?
Logged

Aerton

  • Elder Chaos Guard
  • First Lieutenant
  • *
  • *
  • Offline Offline
  • Posts: 205
    • View Profile
DoomRL programming crisis
« Reply #20 on: April 05, 2006, 06:44 »

Quoting: Anticheese
Does anyone know when DoomRL first came out?

According to version.txt
v.0.8 (beta)
(8.XI.2002)
-- first beta-test release

First public release was
v.0.9.5 (beta)
(1.I.2005)
Logged

Kornel Kisielewicz

  • God Hand
  • Apostle
  • *
  • *
  • Offline Offline
  • Posts: 4562
    • View Profile
    • http://chaosforge.org/
DoomRL programming crisis
« Reply #21 on: April 06, 2006, 09:28 »

Quoting: Aerton
First public release was

Kheh, your the man to ask about that, for if it weren't for you, there would be no public release :-).
Logged
at your service,
Kornel Kisielewicz

Anticheese

  • Lieutenant Colonel
  • *
  • Offline Offline
  • Posts: 483
    • View Profile
DoomRL programming crisis
« Reply #22 on: April 06, 2006, 11:01 »

Bet you would regret not listening to him now :-)

Are you guys Real-Life friends?
Logged
Pages: 1 2 [All]