Skip to main content

Develop it FAST!!!

I've always liked game programming. That's what got me to start programming in the first place. But even with all the current advancement in technology and tools I've never actually got round to making one to the finish. While idly stumbling I've found this interesting article entitled "How To Build a Game In A Week From Scratch With No Budget". That Jay Barson must be one heck of a talented fella to be able to pull of what he did. Takes a lot of experience to be able to tell which way down the road you need to go when you've got to get there quick. Anyhow, what I liked best about the article is the lessons he learned after finally having done it:
  • Lesson 10: Doing something like this really was worthwhile
    • I know what he means when he says "You wouldn't think that working on Yet Another Game would feel like a vacation, but it did." Sometimes I feel I need to do that too. After a long stretch on one project, you just need a short sprint on a smaller one to just revitalize yourself.
  • Lesson 9: Cutting features isn't always free
    • Sometimes we think it's better to not do something in a more holistic way, we don't need THAT much bells and whistle. But in the end sometimes not doing it that way makes it so much harder to do even small things and things start to become repetitive and error prone REAL fast.
  • Lesson 8: Do the important stuff first
    • "If I pretend that I only have those 8 hours to 'finish' the game, what could I do that would make the biggest difference in those 8 hours?". That's a good way of thinking what do we really have to do to make it work. Probably should apply to most of my projects too.
  • Lesson 7: Scope will expand to exceed your budget and schedule
    • LOL.. I do this a LOT.. :D "Every programmer I've ever met tends to underestimate the time required for him or her to complete a feature.". Ask my manager, he'd know.. ;)
  • Lesson 6: Get the game playable as fast as possible
    • I know I've always tried to get my projects up as soon as possible so that the clients can give feedback as soon as possible. Sure you have a list of features to implement, but sometimes when all is dark, a lone beacon in the distance can make all the difference.
  • Lesson 5: It's sometimes much faster to throw away old code and start over
    • Ahhh.. one of those things that makes working in the software industry seems so volatile. You can work on a set of feature for a whole week to find that the way you should have implemented it is different and you just throw away the whole weeks' work. But actually it's never thrown away. It's hidden deep in your consciousness on how you should implement it the next time.
  • Lesson 4: Python Rules!
    • I couldn't agree more.. :D
  • Lesson 3: Don't underestimate the art requirements
    • Oh yeah.. so many times I've implemented so many killer features only to find customers looking at the unmade up interface and say "where's the value added in this???". Huh!! It doesn't matter you can do this and that, if it's ugly I don't want it. Sadly I'm not a full fledged graphic artist though.
  • Lesson 2: I need to be more efficient in my use of time
    • "Better use of my time means I can get more done AND have more 'free time' to do other things". Oh, how true.
  • Lesson 1: IT CAN BE DONE
    • Yeah... :D

Comments

Popular posts from this blog

Dell Inspiron Mini 9

Yesterday went to Low Yat to buy my cousin a sub RM 1500 notebook. Of course with that kind of price tag it would have to be a netbook jelah. Anyhow, I was short on time so I didn't get to browse thoroughly. Just went for one quick round around level 2 and picked the one that I thought would fulfil his need. The thing is, as soon as I stepped out of the lift there was a shop that sold the new Dell Inspiron Mini 9 for only RM 1199. I was suprised. Just 1199. I couldn't believe my eyes. With original Windows XP and all. RM 1199. I thought there must be something wrong. Better survey first. So went around level 2. There was nothing that could match that price. Most of the other netbook from acer, asus and lenovo even was around RM 1600. So I decided I'll just go with the Dell lah. But to tell you the truth if I had money to buy for my own use, I'd go with the Lenovo Ideapad S10. Fuh.. she's one sweet mama... Smooth rounded curves, slim white profile. Pergh.. But anyway

First godot game published

I haven't published anything in google play for a very long time. I'm very happy to finally introduce my latest project to the public. It is a casual game called..... Add Block. Yeah.. The best original game name award coming right up. But seriously, try it out. Find in at the play store here . I love playing casual games on my phone. It's great to pass the time. But it doesn't really do anything for your skills. Or at least not anything for real life important skills (yes, I don't consider being able to identify the consecutive shapes or color as really important). So I decided to create one. So in this game, you practice your math skills. Find the adjacent blocks that add up to the total you need. So it's math, math is important right? Right?.... The levels are unlimited, the idea is that you keep on playing until you can't anymore. You'll die if you finally can't get the number of wins required to pass the level in time. You only have 100 se

Rendering template from string using thymeleaf in spring

Finally solved a very big problem for me... How do I render a page in spring framework that uses the thymeleaf templating engine? The string most probably will come from the database. After long hours of searching and trying, I've got it. First I've got a clue from this particular stackoverflow question . But following an example from there got me an error about class not found for ognl.PropertyAccessor. That solution was found here . So here's how I finally done it... First thing is to create a service where that service can be used wherever you need it in your spring app. @Service public class PortalService { private TemplateEngine templateEngine; private final static String TEMPLATE_LOCAL = "US"; private TemplateEngine getTemplateEngine(){ if(null == templateEngine){ templateEngine = new TemplateEngine(); StringTemplateResolver templateResolver = new StringTemplateResolver(); templat