The magic of haml and sass

As this project has progressed we’ve began using haml and sass to mark up our pages. When I first heard and read about these gems they had me concerned that it was an unnecessary change to the relatively simple languages of html and css. “Why the hell would I want to use percent signs instead of angle brackets?” and “What’s so hard about closing your tags?” were just some of the wtf moments I had initially, not to mention the forced indentation and strict whitespace requirements. “I can format my code however the fuck I please!!” However I did see some immediate benefit with sass, especially in the addition of constants and ease of nesting tags. Even so it didn’t feel like the pros would outweigh the cons, and that having to “learn” a new syntax would be more frustrating than the benefits being gained.

Now that I’ve been using it for all of our pages I’ve realized that it does simplify a lot of the gnarlier aspects of html and css and most of my worries were bullshit. Learning a new syntax took pretty much no time at all, and not needing to remember to close my tags has become very handy. The “forced” whitespace I was so concerned with turned out to be a non-issue because I format my regular code the way they want anyway, which is the cleanest way to read it to begin with. The nesting features of sass were immediately beneficial, even for relatively simple/common nests like ‘div#id p img’. Additionally, I didn’t think much time would be saved from these technologies, even after I began using them the first few times. But the more I’ve exploited them the more I realize that I spend less time typing out code and more time accomplishing tasks. In the end a lot of the complaints I’ve had about html/css for years (and those that I’ve forgotten about, too) have been addressed by haml and sass and ultimately make things easier.

Of course all of this is possible because of Rails, and seeing as how I’m fairly new to Rails, much of the kudos belongs to it as well. Using it on the backend delivers on it’s promises of cutting down wasted time and energy doing menial set up tasks and maintenance. I can make changes in one place and see them reflected all over the app, which is all I can ever ask for from a framework.

So now that I’ve professed my love of haml, sass, and rails, what’s the progress of the app? Well we have some colors on there and forms that aren’t hideous. There’s also a chat feature that’s functional and is rapidly expanding. Basically you can’t DO much of anything yet besides create an account and login, but it kind of looks like a website and acts like one too!

Pre-development status

Now that this project is about to start taking flight I decided I should start getting in the habit of posting what’s up in the development world. Eventually we may want to look back at these times and laugh at the ridiculous ideas we thought could pull off. Apparently I’m one of the main developers so I should have a pretty good idea what’s going on.

So far the game involves:

  • Characters interacting with each other
  • Characters building and growing things
  • All browser based with JS/Ruby on Rails
  • Characters can definitely have pets (most important game aspect so far)

That’s the gist of what we know so far. So what have we done so far? Pretty much nothing. But the discussion and spec phase of what we’ll accomplish is very much alive and well. I think this development chatlog really sums up the point of the game and our progress:

Yahivin
it's all pvp all the time
papashaft
I thought there were creatures too?
Yahivin
probably, they might be players
papashaft
what if you find a bear in the wilderness though?
Yahivin
what if you were a bear in the wilderness?!?!
papashaft
then that would rock