Technical EvangelismJust noticed a post on JGO saying "evangelism" is what the world of Java gaming needs. While I'm sure the poster meant someone publicizing java gaming in a big way, technical evangelism in the corporate world is one of my pet hates. I've had the pleasure of acting as, working with and receiving speel from technical evangelists in the past. The concept is sound, have someone that really believes in the technology, someone that can see how to apply it to most any situation, someone to get excited and get other excited. Unfortunately in my experience technical evangelists often lose the "technical" bit and end up just pushing the technology on everyone and anyone with any problem to solve. Really technical people listen and quickly assume one of two things, either: a) The evangelist is stupid and can't comprehend the problem well enough to see that the technology doesn't fit. In both cases the the evangelist's point of view is marked as untrusted and the whole point of the evangelism is gone. In some cases it's worse than that, the impression is so bad that the evangelist's point of view is marked as "assumed to be wrong" meaning that the speel actually pushes people away. Companies, people, countrymen, geeks! Don't employ technical evangelism - stick to the objective and make the product good, it'll work way better at convincing people. Game posts...You might notice I've started posting some game related posts. I'd like to post a lot more but I don't really have the time. The blog here is going to continue as normal, but I'll be splattering in game posts all filed under "Java Games". Why? Well, tbh, I'm just so impressed recently. There are so many great games coming out of all parts of the Java game community at the moment. Such a high level of polish and some really good artist pieces - and I just think it's worth shouting about. It's been really amazing to watch us go from having to hack anything and everything to get any sort of quality game out the door, to now being able to use standard tools and libraries to produce fantastic fun games so very very quickly, leaving us plenty of time to think about the actual content. Yay Java Games Community! Style over SubstanceI come from a pretty rigourous software background. I've been coding since I was little, but like most people I reaslise that the trade education doesn't really start until you get into a work environment. My first commercial software role was in the defense industry working on some safety critical systems - as you can imagine software architecture, design and process was extremely important to my employers. I then went on to spent nearly 5 years at a big telecoms company who had if anything a more stringent research and design process. Software design for maintainance and robustness was everything, often at the cost of adding new features or polish within the project time line. Design, Design, Design, Review, Review, Review, Some 12 years later I'm still in the environment basically. It's not a bad thing, but even given my years of brainwashing into the software design is everything mentality, I find myself recently swaying way back. I'm not saying I don't throughly think out my code, or design for future extension and maintainance - but I do most of these tasks retrospectively through refactoring (arn't modern tools great?). While I still love clever and elegant software design, I've come to realise that by far the majority of customers and users don't care about it :) "Functionaly Complete" is a term we use round here alot. That's mostly what users care about from a code perspective. Does the program you've written do what they want it to, or what they need achieve? As long as it does without falling over thats great. In most cases even if there are some odd cases that either don't work or need to be worked around most user will continue using it as long as it "feels right". After functionality comes how it looks and feels. In games this is especially important but it's true with most all the software I've come across. The user doesn't care whether the code is extremely efficient if it doesn't impact their use. They don't care if you've spent an age getting that object hierachy just right, especially if you've not spent time making it look right :) What they care about is how easy it is to get their objective complete or to configure whatever they need to for an active system. Without knowing it most users also care how software feels to use. Is it flashy? Does it make intelligent assumptions? Does it impress them? Does it change the way they work/play? Does it make them feel like your software is smart? Perception is everything - you're not going to get to explain to user most of the time what makes it so smart. Usability, Usability, Usability, Polish, Polish, Polish, If the software design is a means to this end, i.e. you're spending your time making the software clever so you don't have to waste time later that you can spend on adding the nice touches - then great. If you're trying to make your software be percieved as smart, through making it smart, it *might* work. Most of the time it won't. If you're spending an age over software design that doesn't give anything other than acadmic beauty then you might want to stop and think who's going to care? If the answer is "I Will!" then you might seriously want to consider what you're trying to achieve - if it's anything but an academic goal and you're probably on the wrong path. While most of the above should be obvious, it appears it isn't. Like most software engineers, I like software design, it's what I do. The temptation is to put it infront of everything else - even without need. Extreme Programming, here I come. Games as an Art FormI've had one argument with software engineers more often than any other - whether coding is an art. I'd consider it an art it terms of "art and craft" but not in terms of artistic interpretation. There is a right way to solve any problem in software, it's just that we can't know all the constraints, so things become about weighting of the requirements. That doesn't make it an art, it makes it hard. Anyway, I was chatting to an arty friend of mine recently and the number of games I've been writing recently came up. A few people have commented on how I seem to be writing alot of games with distinct styles recently. The artist friend reckoned this was "finding my style". Apparantly proper artists (you know the ones with little beards and quirky senses of humour) go through phases of development. First they learn the basics of drawing and construction. Then go on to experiment with different mediums and styles, eventually finding one that feels right (or several if they're a great artist). This progression seems to fit nicely against what I've seen of other aspiring games developers. The more I think about games as an art form, the more is fits in my head at least. I guess everyone else knew this ages ago :) Words vs TermsWords - are powerful. Clear communication when trying to design/implement a software system as part of a team is extremely important. Obvious? Well, yeah. However, what seems to confuse people is the use of the correct terminology for a subject. In all diciplines there are technical terms, there are three reasons I can think of for using these terms: 1) For expediency. It's quicker to use a single unusual term to explain something than using 10 common words assuming that you know the person you're talking to also understands the meaning of that term. (e.g. MVC pattern) 2) To be explicit. Sometimes a term has been invented or reused to describe exactly what is meant by a particular object or action in a specific domain. (e.g. transient value) 3) Sometimes, terms are used to try and sound like you know more than you do. Normally by managers of one level or other. The terms are, without fail, used incorrectly and it's obvious to anyone who does understand them. The interesting thing is you'd expect my beef (there's always a beef here) to be with people who live in point 3. It's not, we all know that there are people in the tech industry who get along by spreading the poop of male cows. Frankly, the industry wouldn't exist without these shitesters. My beef is with people who can't see that 1 and 2 exist. There are good reasons to use the exact terms. Using the right terms doesn't make you a big headed twat, only treating people who query the meaning of a term like morons does that. As you can tell this one has been affecting me recently. I find it really hard to understand what someone is explaining if they use a large number of words - I guess I have a short attention span. Worse still is when a explanation relies of the use of an incorrect term. It's really annoying to get knowing smiles and disapproving looks when you simply check that the term being used is actually the meaning intended. Yes, building glossaries and terminology dictionaries is boring but without a common dialect we might as be talking english at a martian. And yes, we could use two tonnes of simple English in all cases but we do need to finish within our lifetimes. More than that, who determines what's "simple enough". Bad ThoughtsI believe I'm becoming more irritable - if thats possible. I'm either more tired, more seasoned or more pressured. Either way there are far more people annoying the crap out of me recently than ever before. From know it alls, to nit-pickers, to wanna-bes, to plain old defensive children. I noticed a new forum posting signature recently. First off my blood boils because of the person it belongs to - who falls into most of the above categories in my opinion. Next it appears as a quote, as if it's a stock piece of text, accept that in this case it's not someone famous or reputable - it's the poster themselfs. Hmmm. Next it contains an opinion, and presents it as a global fact. One of biggest hates. Grrr. Finally it suggests that it's not ok to give up when you realise something isn't worth doing anymore. Which to me is essentially saying we should all waste all of our time. Grrr Grrr. Can you guess where and what? Answers via IM to ... See, how irritable am I? Pattern Matching MachinesRalph Koster's book, The Theory of Fun, is a great read. It describes us a pattern matching machines whose enjoyment of games often comes from the learning of patterns and extending those patterns. Hit the ball against the colour block to release this, so we can do that - it works in several cases - a strategy! He talks about his children and learning about how we learn by watching them build their pattern matching skills through playing games. It occured as I was trying to work out what was wrong with Meg this morning that during the first few weeks while the pattern matching skills of the young padawan are getting better - mine are being stressed to the limit. How do I know when she's hungry? How do I know when she's wet? Well, we look for the signs, listen for "type" of wail, form patterns in our minds that link the signs to the cause. Through trial and error we test these patterns and re-enforce the links. The pain of guilt felt when you get it wrong is a really good way to loosen those incorrectly formed patterns. The relief of "fixing" her problems is incredible - strengthening those links. Wow, bit of a ramble, but the lack of sleep is really starting to take affect. Til next time :) Slip Sliding AwayUPDATE: Now with 5 whole levels! :) How long does it take to write a game? Depends on the game I suppose. Well, how about a very crappy one? Hmmm,.. Hour and a half? Tonight Matthew, I'm going to be... writing crappy games.. Select a tile, move the mouse around, choose a direction. Slide the tiles to match the same colours - it's like Puzznic without gravity or something. Was it even called Puzznic? Who knows! Here's a screenshot for the javaly challenged: FocusFocus is a difficult thing to maintain at the moment. While writing this I should be typing into up a document in another window. However, it seems I can't stare at one window for more than 10 minutes at the moment. 4K games are buzzing in my head. Where to go next with space hulk. The million facets of annoyance from JGO and it's ilk. Tiltilation sales or lack there of. The distance to my family and the lack of interaction with work. More than anything of course, the baby is pending. Pending.. Pending.. Any day now we keep saying, but it could be a few weeks yet. Not sure if I can balance on this edge much longer without going totally insane. Focus... So, focus on something else.. game dev has always done me well in the past. Focus on that.. why is it every game idea I come up with a the moment has something to do with parents, children or reproduction? Ok.. lets go with work instead. Had 2 requests for me to go for interviews in the Bay Area this week. One is even games related. That would be great if I was looking for a new job at the moment. However, I'm not. I also wouldn't mind knowing how they got my name with enough confidence to ask me in - rather than the normal speculative email from money-grabbing agents that I'm sure we all get hundreds of each month. Right, so games isn't holding focus. Work is just plain confusing. Hmm, how about books - got that new Pratchett to read. Maybe that'll do. |
DisclaimerNote that the views on this page are not intended to offend. If they do, you might be taking the content too seriously. TODO Game: Start Robuzzle ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 2D OpenGL Based Game Library ![]() 2D Game Physics Engine in Java Game Developers How about a list of the developers doing interesting things in java gaming. Game Dev Resources Looking for Game Development Resources? Check out the List! |