Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


Rise and fall of the hobbyist game programmer


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
66 replies to this topic

#1 evolutional   Moderators   -  Reputation: 1069

Like
Likes
Like

Posted 14 June 2004 - 12:21 AM

I was reading this ancient article on Loonygames and it got me thinking about how things have changed so much since I started programming.
quote:
Professional game programming and hobbyist game programming have become widely separated. And yet people don''t seem to realize this, or they seem unwilling to acknowledge it. The bitter battles on Usenet about the importance of C++ and other hot topics: those are the concerns of people who have to follow the accepted standards for professional programming in team environments. They have different concerns than the after-hours game designer. Some hobbyists don''t want to admit they are hobbyists, they try to follow the professionals, and they are never heard from again. Oh, they''ll write part of a hot 3D engine and get all the "in" opinions, but except in very rare cases you never see their name on a finished game. And that''s too bad, because when you''re working on your own you can be creative and different and do things according to your own vision. That''s the only reason for being a hobbyist in the first place.
This section of the article got me thinking about how we design our games these days. When I first started designing Manta-X, it started with a simple concept to which I added more and more complexity until the project eventually lost focus and crashed into a heap of ill-designed technology demos. Now, I''m designing an engine to base my games on. It''s not hugley complex but it''s still several abstractions above the ''core'' of how I used to create my games on the Amiga. But my point is that I seem to be more and more focussed on the technology behind the game, the engine powering it all rather than the simple aspects of the game itself. But beyond and because of that, the expectations of what I can achieve on my own in my spare time seems to be far outweighed with what is actually achievable. I''m thinking that because my engine is able to achieve certain things, then my game ideas should grow to accomodate this. It seems that I am aiming too high and invariably getting lost by trying to achieve a professional type game; forgetting my ''roots'' as a hobbyist as if it''s something to be ashamed of. It''s obvious that many people joining GDN these days are guilty of such things, wanting to create The Next Big Thing ™ and failing after they realise it''s out of hand. My question, or thinking point for you to discuss is simple - when designing your own games, do you design the game based on what you know you can achieve or do you ''aim too high'' and try to achieve what a team of professionals can only accomplish? How do you bridge that gap when designing your games? Surely it''s boring to churn out PacMan 2004 for the 90th time, but it''s obvious that it''s unacheivable to recreate Doom III from scratch. So how do you set your goals? Are they a moving target? Does the game evolve, remaining playable as a ''complete'' game in it''s own right, but evolving in features and size/complexity as the months and years pass?

Sponsor:

#2 liquiddark   Members   -  Reputation: 331

Like
Likes
Like

Posted 14 June 2004 - 12:37 AM

It depends on what you mean by game design, really. If you''re talking about the Ernest Adams sense (link requires login), then core design is a simple, repeatable process, and the problem of scope is limited just by growing a design only in those directions that offer maximum gain for minimum effort. That''s true of both professional and hobby game development. If you mean in a total-scope sense, then in my experience you need at least one "big idea" to continue to hunger for the art, but in the meantime you still have to recognize that you are in fact limited in very significant ways as to the things you can achieve.

ld

#3 evolutional   Moderators   -  Reputation: 1069

Like
Likes
Like

Posted 14 June 2004 - 02:04 AM

I was talking about the holistic view of the entire game; both gameplay and technical design. I''m just interested how people who have completed one or more games (on their own or with one/two more people) managed to balance the fact that the world is now expecting more from games before they''ve started; placing ''professional'' expectations on the hobbyist programmer.

For example, I''m looking to create a game that in itself isn''t the next Doom III or doesn''t have SuperGFXCardFeatureX10 ™ - will people still play it for it''s simplicity? Or will they drop it and move on because it''s not eye-candy? When planning the game, should I plan for The Next Big Thing ™ or take it as it is - a small game from a hobbyist programmer.

#4 abstractworlds   Members   -  Reputation: 194

Like
Likes
Like

Posted 14 June 2004 - 04:10 AM

The games market is a big area which can be broken down in many ways, e.g.:
AAA Retail titles multiplatform (Xbox,PS2,Nintendo,PC)
Other Retail titles (perhaps less platforms)
Retail Budget titles (single platform e.g. PC)
Downloadable games (shareware,freeware,etc, e.g. PC)
Games in web pages (flash,director,java)
Mobile games
etc
This is just one way of breaking it down and is by no means a definitive list.

Each market sector has different customer expectations, different types of customer (ranging from casual and non-gamers to hardcore gamers), and different typical hardware setups (e.g. casual gamers might not have very good graphics cards on their typical home PCs).

As a hobbyist you''ve really got to decide which market sector you want to be in, and then compare your work with other games in this sector. This will give you a sense of what is achievable and hopefully you wont get too depressed that your game doesn''t compare well with the fancy features of a AAA retail bestseller. Once you''ve decided on the right market sector you may be pleasantly surprised to find that your game is rather good compared to other games in that market sector.

As for finishing a game, my advice would be to keep it simple, and prioritise so that you do the important stuff first to get the game out. (Judging by the early screenshots on your website it looks like you''ve spent time early on with fancy particle effects, perhaps these could have come later, after more of the game was complete).

#5 Pxtl   Members   -  Reputation: 354

Like
Likes
Like

Posted 14 June 2004 - 04:13 AM

Solution: more/easier to use developer kits. I''ve seen some very nice one-man Total Conversion projects done with the Unreal 2k4 engine. The hobbyist gamedev is not dead - only the "from scratch" gamedev, and really, that wasn''t from scratch unless you were coding in machine language (you''re always using somebody''s platform - even if its just a compiler).

#6 evolutional   Moderators   -  Reputation: 1069

Like
Likes
Like

Posted 15 June 2004 - 02:15 AM

Quote:
Original post by abstractworlds
As for finishing a game, my advice would be to keep it simple, and prioritise so that you do the important stuff first to get the game out. (Judging by the early screenshots on your website it looks like you''ve spent time early on with fancy particle effects, perhaps these could have come later, after more of the game was complete).


Yup, you were correct. Those screens are from the old game. I've started from scratch again and this time the core systems are better, more stable and more importantly - it's quicker to write new ones and implement them into the engine. Mainly because I've taken a totally modular approach based on a small kernel. It's working well so far and is more of an SDK library than an 'engine'.

I have to agree with you that finding your 'place' in the market is important. I have no plans to move mainstream - I'm more than happy being a hobbyist programmer in the downloadable games category. But I think before, the approach to programming my games was too rigid and based in the 'big boys league' of thinking. It's far too easy to be swayed by how the pros do it and how the community hobbyist guys do it.

#7 rypyr   Members   -  Reputation: 252

Like
Likes
Like

Posted 15 June 2004 - 02:47 AM

I think it has a lot to do with wanting to build something worthy of calling "software engineering". That is, some code that is reusable, extensible, powerful rather than something that can "get the job done".

Thanks to my personal and professional life, I no longer have a lot of time to spend in one sitting on hobby programming. As a result, I've made sure that my goals are sufficiently low and that I'm aiming at targets I know I can achieve. At this time, I'm not worried about solving the "engine" picture.

My website shows some results. They may not be visually impressive, but it's something I enjoy and I think it will help me in the long run anyway.

Regards,
Jeff

#8 evolutional   Moderators   -  Reputation: 1069

Like
Likes
Like

Posted 15 June 2004 - 02:57 AM

I think that's how I'm thinking now. I had the view that I'd be able to create a stable base to knock out games by covering all angles. Essentially creating the 'engine' because that's the way the hype was all going. Reading the article I linked in my original post really helped to open my eyes. Mainly because I think I was trying to convince myself that I wasn't a hobbyist. For what reasons, I'm unsure - mainly because all we see these days are how good everything looks, etc. It's not a small thing how the most often viewed page on my small (soon to be replaced) website is the screenshots page.

Ironically, setting myself up a small basecode has allowed me to achieve results a lot quicker. The facilities are there for me if I want to use them, but I'm not constrained by my own architecture anymore. I'm a programmer, not an engineer ;)

#9 Kylotan   Moderators   -  Reputation: 3338

Like
Likes
Like

Posted 15 June 2004 - 04:55 AM

The initial quote misses a crucial point; a lot of hobbyist game developers want to be professional game developers one day. Therefore they feel compelled to do things the way that the professionals do, in order to have enough transferable skills to get them into the industry. I often feel that I could write great games in a simpler programming language like Python, but if I wanted to get hired to develop games that might not help me. So if I've got an eye on the industry then yes, I'm thinking about developing technology. If I've got an eye on personal satisfaction then I'm thinking about the game and how best to leverage other people's technology in the making of it.

#10 rypyr   Members   -  Reputation: 252

Like
Likes
Like

Posted 15 June 2004 - 05:51 AM

However, there's engineering and then there's over-engineering. If you're constantly working on the infrastructure and never actually building a final product it will reflect on your ability to commit to an idea and follow it through to the bitter/better end.

I think folks in the biz are really looking for that ability in someone. My "proof" of that is look how many people are trying to build an engine (i.e. "anyone" can do it - assemble some classes to handle resource management, a renderer, an audio manager, etc). Not everyone actually follows through and ends up with a finished product.

Just my two cents...

Regards,
Jeff

#11 Diodor   Members   -  Reputation: 517

Like
Likes
Like

Posted 15 June 2004 - 06:04 AM

Quote:
Original post by Kylotan

The initial quote misses a crucial point; a lot of hobbyist game developers want to be professional game developers one day. Therefore they feel compelled to do things the way that the professionals do, in order to have enough transferable skills to get them into the industry. I often feel that I could write great games in a simpler programming language like Python, but if I wanted to get hired to develop games that might not help me. So if I've got an eye on the industry then yes, I'm thinking about developing technology. If I've got an eye on personal satisfaction then I'm thinking about the game and how best to leverage other people's technology in the making of it.


Yes. That being said, if you set out to make a game, you should make finishing that game your goal, and use whatever tools make that goal as achievable as possible. If technology is your goal, you should make a tech demo that proves or improves your command on said technology.

I think taking on both goals in the same project is a (big) mistake, as it makes both of them much harder to achieve.

#12 evolutional   Moderators   -  Reputation: 1069

Like
Likes
Like

Posted 15 June 2004 - 07:19 PM

Quote:
Original post by Kylotan
[ ... ]a lot of hobbyist game developers want to be professional game developers one day. Therefore they feel compelled to do things the way that the professionals do, in order to have enough transferable skills to get them into the industry.


I think that's a perfectly valid point, however *my* motivation is not to get into the industry, yet I still find myself feeling compelled to write industry-grade code. Maybe that it's down to the peer community-effect?

Quote:
Original post by rypyr
However, there's engineering and then there's over-engineering. If you're constantly working on the infrastructure and never actually building a final product it will reflect on your ability to commit to an idea and follow it through to the bitter/better end.


Bang on. Browsing forums on the internet, I always seem to come across debates on what Carmack (etc...) would do. The simple fact is that industry pros get paid many thousands of dollars to do that sort of technology and small-fry guys like myself will probably receive nothing but beer money from the software we make. I guess the underlying question I'm asking myself is "why do we try to be like them?" As Kylotan said, it's probably a lot to do with wanting to break into the industry, but in many cases I think we feel our software will wilt in comparison to Quake XVI and Doom IX.

Quote:
Original post by Diodor
I think taking on both goals in the same project is a (big) mistake, as it makes both of them much harder to achieve.


But where would you draw the line between technology and the game? I mean, the last thing we want to do is spend hours on the same process for each task we try, which is why a lot of blood is spent on developing the 'engine' as a base. I suppose the trick is to know when to stop developing the 'engine' so that it's at a state where it's enough to get by with your game yet at a place where you can add to the basecode later on. This is something I'm looking at now. I suppose a lesson we have to learn is don't hold a gun if you can't shoot it.

#13 Diodor   Members   -  Reputation: 517

Like
Likes
Like

Posted 15 June 2004 - 07:41 PM

Quote:
Original post by downgraded
But where would you draw the line between technology and the game? I mean, the last thing we want to do is spend hours on the same process for each task we try, which is why a lot of blood is spent on developing the 'engine' as a base. I suppose the trick is to know when to stop developing the 'engine' so that it's at a state where it's enough to get by with your game yet at a place where you can add to the basecode later on. This is something I'm looking at now. I suppose a lesson we have to learn is don't hold a gun if you can't shoot it.


You draw it wherever you can. Technology is the enemy - it gets in the way and delays anything and everything. Unless it is essential for the game (Eg. as physics are for the Chronic Logic team), technology should be avoided. You're right about only developing the engine as much as it's needed for making the game. Generally, I don't care much about writing a good nice reusable engine, just getting on with the game - good code will get reused anyway, bad code won't.

#14 Kylotan   Moderators   -  Reputation: 3338

Like
Likes
Like

Posted 16 June 2004 - 04:50 AM

Quote:
Original post by downgraded
I think that's a perfectly valid point, however *my* motivation is not to get into the industry, yet I still find myself feeling compelled to write industry-grade code. Maybe that it's down to the peer community-effect?


Sure. There's the knowledge that if you post a game development question when you used BASIC or Python then at best, you're gonna get fewer people able to answer it with any degree of authority, and at worst, you'll have people insisting you're using a bad language for game development.

If it's any consolation though, a lot of industry-grade code would appear to be crap. One example is Mickey Kawick's RTS book, allegedly based on his Age of Empires experience, which is full of Pseudo-C++ code that makes me cringe just to read it. Another example is the Return to Castle Wolfenstein stuff. You can see where the crude-but-clean ID Software code stops and the 'comment bits out and use search+replace on the identifiers' Raven software modifications begin quite clearly.

So don't worry about doing everything perfectly, just make sure you get all the systems working that are important to your project.

Quote:
but in many cases I think we feel our software will wilt in comparison to Quake XVI and Doom IX.


There's that choice again... if you want to get into the industry then it's almost mandatory - at least here in the UK - to provide an example of your 3D coding skills. Yet if I was trying to write a game as a hobbyist then competing in the 3D graphics arena would be ridiculous. If I do end up using 3D for my next project I will probably use the OGRE engine. No idea how well that would impress employers, but it'll at least get my game working quicker.

Quote:
But where would you draw the line between technology and the game?


Technology is anything you don't absolutely need right now for the game. ;)

I'm a firm believer in the maxim of only coding what you need to. You can plan for the future and develop libraries and components but you tend to end up only ever completing those libraries and components and never the products they're supposed to be used in. So I find it more fruitful to just code things as I go along and refactor them into libraries, components, modules, classes etc as necessary. One of my old university lecturers said to us, "it's not reusable until it's usable", which is quite wise. In other words, only code what you need; that guarantees that it's useful and is a candidate for re-use.

As a result, I don't write engines. (Quick prototypes and the like excluded.) I write very basic game loops and factor out the subsystems as needed. I start off with a game and finish with a larger game, without ever just having a technology demo or engine.

[Edited by - Kylotan on June 16, 2004 12:50:31 PM]

#15 Mephs   Members   -  Reputation: 354

Like
Likes
Like

Posted 16 June 2004 - 05:29 AM

Hmm, I guess I'm guilty of this too. I think the single biggest reason that my progress to completing my own game is so slow, is down to seeing what amazing things other users on these forums come out with. My terrain engine so far puts a lot of terrain engines from a few years ago to shame, however, I see someone elses screenshots/feature list and I can't help but try to compete with the big boys so to speak. I think now I'm trying to aim at a compromise, as previously stated, theres no point having a big vision and not being able to produce a result at the end of the day, so better to code something achievavble, and move onto the next part of the game. I guess you can always come back and recode something later on if your engine is modular enough, which I think mine is.

I don't think it's all bad though, if I hadn't seen others work, I probably would never have advanced past a simple 2D engine, now I can deal with that and 3D graphics, I feel I've learned a lot even if I have had to cut back on my original objectives, and at least the theory is there to expand upon later.

Cheers,

Steve

#16 Run_The_Shadows   GDNet+   -  Reputation: 634

Like
Likes
Like

Posted 16 June 2004 - 12:34 PM

I've been drifting in and out of the coding side of development for a while, with very little to show for it. Life's been crazy for me over the years and so I've never really had the stability to get things /done/.
Hopefully I'm in for some calm months, and I'm going to focus on breaking back into the code side of things and come out of my design/design theory stage to work on a project.
I'll probably be using my dev journal to keep track of the project over the next year or so - from me blitzing all the knowledge I need back into my brain(from Hello World to OO structure to engine design) to the finished product.

I hope it all goes well, because one of the uphill battles I've always fought in my own mind is the feeling itself of being a 'hobbyist' programmer. You work for years trying to learn what you need to know to get at the /start/ of creating enjoyable games, and by the time you have anything to show for it, you're another year or two behind the technology of the times. It's an endless game of catchup, and I can see some sort of paradigm shift in the years to come where things will be 'reset' so that a couple of guys in a basement can create a game that's fun and profitable again. It's hard living in a world of fancy graphics, professional coders and designers, and still feeling like you can make /something/ that stands out.

#17 ApochPiQ   Moderators   -  Reputation: 16414

Like
Likes
Like

Posted 16 June 2004 - 01:22 PM

I think there is hope for the hobbyist, but it depends a lot on the existing developers to take some steps in the right directions. To explain this I'll use my own history as a reference.

A few years ago I was in some department store looking for something or other, and I noticed that (unusually) they had a stack of computer games near the register. The only game in the pile turned out to be a space simulation called "X: Beyond the Frontier." I was relatively bored and I've always liked space games, so I figured what the hell. For $5 I could pick up this game and waste some time. It turned out to be an incredibly addictive game, and amazingly deep. I decided to seek out the obscure little developer that had produced it, and found my way over to egosoft.com A lot has changed since then, but there was one thing that caught my eye - the "Devnet." I poked around and discovered that Egosoft was looking for volunteers to help write missions and AI scripts for an upcoming title, which at that point was known only as "X²." Being a bit of a hobbyist game programmer myself, I had to check this thing out. It was quite shocking to me that a successful game development house was opening up the details of their engine to random strangers; all you had to do was mail a signed NDA to their office in Germany, and you could muck around writing code for their game.

Anyways, a couple of years passed, and I've now climbed the ranks at Egosoft, and I'm working on some core features for the upcoming expansion pack to X². I've also started getting paid for my time, and I have a good set of contacts in the industry. It took a lot of work and a lot of sacrifices on my part (mainly sleep and free time), but I've got my foot in the door so to speak. This kind of thing makes a great resume entry, and the experience working with a large body of utterly undocumented code has been very educational for me.


The point of all this is that developers need to start emulating Egosoft. A lot of really cool content has made it into Egosoft's games over the years because of the efforts of volunteers. To date I am aware of only one case where a contributor has overstepped their bounds and had their NDA and internal access to the Devnet revoked. Certainly this requires screening and a bit of good luck on the developer's part, but the more groups that allow volunteer contributtions, the more part-time, hobbyist game developers (programmers, designers, artists, and everyone else) will make it into the industry successfully.



The other major step is development kits, but this comes more from tool and hardware makers than developers themselves. Things like prepackaged 3D engines and code libraries are great for small-timers, as it lets them realize their dreams of making a game without needing the massive resources of a full-time development house. Mod kits and other tools are a great step in this direction; I think we just need to see one or two more generations of "building blocks" and the indie/hobbyist game development scene can really explode.

Underlying all this though is the OP's concern; small-time game makers need to keep their vision realistic. Personally I've done this by trying to develop unique, highly replayable ideas rather than epic masterpieces. A hobbyist will have no success making the next Doom or Quake; but a hobbyist can have immense success making the next Tetris or Pong.

#18 RTF   Members   -  Reputation: 127

Like
Likes
Like

Posted 16 June 2004 - 06:44 PM

When you consider history, it is only recently that the resources and technology have appeared to make mass-marketed, mega-budget attractions a profitable venture. Previous to the 20th century, it was the work of many smaller groups of people, or of individuals, to produce a play, a ballet, a song, a book etc. For thousands of years, people lived on these "small" works, and a very few such as Shakespeare and Homer have become revered, in spite of the limitations they worked with. That means - or should mean - that there is nothing preventing it from happening today.

In light of that, I think it is perfectly reasonable for a hobbyist programmer to be able to create a great work of gaming. But unless the hobbyist is some sort of supergenius, it won't be a great technical achievement at the same time, and unless the hobbyist ALSO spends years of effort, it won't have fantastic production values. The difference in the "early days" was that the bar was set so low that any yokel with coding skills could push it up, and in any or all of those three areas to boot.

#19 abstractworlds   Members   -  Reputation: 194

Like
Likes
Like

Posted 16 June 2004 - 11:43 PM

Quote:
Original post by Run_The_Shadows
You work for years trying to learn what you need to know to get at the /start/ of creating enjoyable games, and by the time you have anything to show for it, you're another year or two behind the technology of the times.


This isn't always a bad thing. If your aim is to produce a downloadable game for the casual gamer then this should even be one of your design goals. Another design goal for this market is a quick download, which usually rules out too much fancy media in your game, so don't worry about your lack of FMV cut scenes, etc.

Casual gamers don't necessarily have the fastest PCs, the latest, fastest and largest memory graphics cards with the latest drivers, the latest versions of DirectX etc. Designing a game for your target market will hopefully mean that more people can enjoy your game, and you don't have to worry about being behind the times with the technology. Some would argue that downloadable games for casual gamers should be even more than 2 years behind the times in terms of the PCs they can run on. Some of your target market may have bought their family home PC 4-5 years ago, perhaps one that wasn't even a hot gaming machine when it was purchased new.

With this area of the market, the minute you start adding something fancy to your game (e.g. DX9 shaders), or start trying to imitate the best AAA retail games effects, you will either fail, or even if you succeed, you will then rule out a large percentage of your target market who dont have the PC specs to run your game anymore.

For downloadable games for casual gamers just remember that it is your intended audience of casual gamers that you are trying to impress, not necessarily the fellow developers here at gamedev.

Excuse my rant about downloadable games for casual gamers, but I do believe that this is one of most feasible game market sectors that hobbyist game programmers can aspire to. You make a simple game, set up a website, promote it on download sites, you get a good feeling knowing that people around the world are playing with your creation, if you're lucky you get some good feedback, if you're very lucky a few people might show their appreciation by purchasing your game. What more could you ask from a hobby?

#20 RTF   Members   -  Reputation: 127

Like
Likes
Like

Posted 18 June 2004 - 11:33 AM

"Casual gaming" is such an awful term, and it doesn't really deserve it but that's how it's worked out. It brings to mind - my mind at least - this: Gaudy, painfully simplistic clones or near-clones of older games. Usually of the match-three-shapes kind. Or solitare, or maybe Pac-Man :P I could never willingly bring myself to do something like that. It's like being the street peddler of the gaming world; you can make a good living off of it with appropriate marketing skills, but it's not a memorable line of work either; the only place to really stretch your skills, once you've gotten started, is in making the sale.

The casual market, as above described, is also fairly drenched with titles now, between companies like Popcap, Dexterity, and of course Real.

I think the hobbyist can aim a good bit higher than that, but the market - in shareware of course - between "casual" and "low-budget retail" gaming is an empty one at the moment. You can find a few games, here and there, that aim higher than casual, but I only recall two(successful) names - at the moment: Crimsonland and Exile. There *should* be a whole lot more than that. Perhaps this is because everyone with the ambition to make a "great" game heads directly, and somewhat naturally, towards the biggest companies around, or does their work for free, but it is a bit odd.

In fact, I would say that the "quality shareware" sector has declined since the early 1990s, and not for any particularly good reason. Back then, Apogee(now 3DRealms) and Epic(Megagames) dominated shareware gaming, with - well, they were in some ways knockoffs, being mostly platformer and shooter games, but they were original enough to be very satisfying. Time marched on, the era of dominance by 2d gaming came to its close, and the market disappeared....or so it seems. I think it's still out there, just starved for attention, as all the staple genres of today are too expensive to clone. One has to be quite innovative to come up with a low-budget success, far more so than if you have a gazillion dollars to spend on the next techno-masterpiece, where you assemble your team of crack pros with "10+ years of industry experience" to go and make the "year 2005" version of your last game with a new lighting engine and realistic sweat and blood effects.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS