Author Topic: The Role of Planning and Design in Rougelike Development  (Read 29441 times)

Conal

  • Newcomer
  • Posts: 28
  • Karma: +0/-0
    • View Profile
Re: The Role of Planning and Design in Rougelike Development
« Reply #15 on: August 31, 2009, 09:17:06 PM »
Hey guys!

Im just on here to get incentive, you see I just got futher in developing a roguelike than I did last attempt a while back and I have a basic working AI(Im most pleased with this as they way Ive done it , it should work for any created monster and doesnt matter where in the map its placed) as well as load and save features plus static maps, anyway before I went further I felt since I built this roguelike from the gound up using C++ that I would start migrating it to OO, tbh it has slowed me down majorly but some parts of the code look more neat , conversly other parts it works but seems cumbersome. (I hope I havent made a mistake by migating to OO but the reason I did this was because it was getting to the point that say I came back 6 moths later or anyone did well it was becomming a code maintenance nightmare (Even though everything worked fine)

Im actually speaking to a guy via mail that has previously made one of the roguelikes mentioned on the wiki, the guy has been a billiant help and is total down to earth.(His code is eally readable and elegant, these are words banded about but looking at this guys code has helped me realise I could finish a rogue , granted not anywhere near his standard but to a standard I would be hapy with) Whats stopped me progressing with a roguelike until know is believe it or not because I read lots of stuff on planning , OO paradigms , polymorphism and all that jazz and when I wasnt coding fom the outset well enough to be adhering to all peoples coding pet hates mentioned on the web and in books , well I would stop my poject and give up thinking my coding wasnt up to scratch. (However this time arround by speaking to someone who has really done a roguelike hes been really helpful and has stressed to me not to look for that 100% semantically correct code , because it doesnt exist in real terms! This mentality has helped me once I finally started believing it since I started out with this totally dumb system for a roguelike :) however I got it working and through that and all the error checking that goes along with doing code well I learned from it and I am just starting to reap the rewards in that parts of my code I am feeling happier with.

I have also been given some pointers as to what to read pertaining to random dungeon generation should I decide to go that way. In all this the point I am making is just go for it and learrn fom the experience and also I want to quote something which has given me more incentive from this thread:(Theres a guy helping me who holds pretty much the exact same view as the below quote and has actually written and maintained a succesful rogue)

Quote
OOP is just one way to go, but I think it's good if used properly. The most important thing in roguelikes or any large scale project is consistent way of doing things, which prevents refactoring. It doesn't hurt to have a good design, but it's actually hard to know what exactly is a good design and how things like gameplay balance is achieved.

It's notable that there have been professional programmers who claim how easy a roguelike is to do, but less those who actually managed to prove that. 

As for the OO part thankfully the guy Im speaking to has told me various things not to do with OO to stop me getting bogged down in OO semantics of use but as Im using it I am also cautious since I know I would be at the point of doing my questlog code by now if I hadnt done a rewrite however my heart of hearts tells me its for the best.

With regards to these people who say roguelike dev is easy , well Im really glad you brought that up :) Its just I have programmed for about lets see 8 years now, not long and have coded in many languages as opposed to one specific one, Im no guru but I think its plain wrong to say roguelike dev is easy, for example take the amount of people out there who are saying they program plus roguelike dev is easy then why is there not hordes of roguelike games out there which surpass the major ones that were made when lets be honest I personally think at that time things were quite so high level and not as much technology and infomation out there to help so hats of to the creators of adom and older rogues

As for planning considering people that havent finished a roguelikee project well I think to plan effectively you need to understand the problems and to undestand the problems its a slog at times

Read books
have an idea
do the simplest chunk of your idea - in code (TEST test test)
error check
do reading on what you ae trying to achieve

rinse repeat for other parts

At this point you have probably learned a mammoth amount from actually coding and referencing reading amterials but by now you realise your codes quite messy so rewrite

.......

The above is probably seen as very very bad but I hold the view that once you have went though all that dodgy code and have followed through on a project (All be it shoddy) you now know many of the problems and on you next roguelike you are therefore in a position to plan and actually benefit from it (Probably get shot for this mentality but I have tried it the planning way and its not as if I dont follow how to read c api docs its just I have benefitted most by getting my hands dirty to misuse a phrase :D as well as being lucky to have someone who I can show code to and he gives me really general but great hints/advice as to the pros cons of what I have done - I have also been on a pre degree course in  my country (HND) where we did textual analysis and uml and quite a bit of java coding, learned alot but once again its no substitute to getting and learning through coding , since when you plan without knowing coding orr coding implications of what you do your going to have this beutiful document and then to your horror realise, DAMN! now how in the heck! do I code this)
« Last Edit: August 31, 2009, 09:24:25 PM by Conal »