I always find games fun problems because they allow the use of various complex programming idioms all together. AI, efficiency, GUI design, OO design, etc, etc, etc. Obviously some are more complex than others. Seeing the Linux community doesn't have one, I have half a mind to build a Perl/Tk SimCity clone (and of rather high quality) right now... I like hard problems. You might also have luck with OpenGL, SDL, or something like that (esp if you run Linux). Perl isn't just for boring cmdline stuff and CGI!
When I am new to languages, I typically write Conway's game of life as a first program, mainly because it offers similar challenges of (how do I manipulate these efficiently? how do I do graphics? etc). Chess is another good big project. Ok, so everyone reinvents the Chess wheel every now and again, but doing something from the ground up (often without the help of domain-specific modules -- if you want to learn) is a great way to keep interest.
Other good ideas might include web spiders that comb your favorite message board, or something to play with algorithmic musical composition (see MIDI::Simple), Neural Nets, or anything that is off on the edge and is unlike anything you'd have to do for work and/or school.
Shake things up. Live dangerously. Don't stop short and pick easy problems. Pick something impossible -- and achieve it. I'm still begging for hero status myself, yeah, it's hard to find time to play after work, but there are an infinite supply of projects as long as your imagination is there. This is why I like games more than business/useful stuff -- imagination is fun.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.