Advertisement

Rise and fall of the hobbyist game programmer

Started by June 14, 2004 06:21 AM
65 comments, last by evolutional 20 years, 6 months ago
Quote:
Original post by meeshoo
a game without the newest technology must have an extreme gameplay so players don't abandon it after a single hour of play.


As you say, we have a choice - be the best in technology or the best in gameplay. If this is the case then the hobbyist game programmer is on the way out, at least the lone gunners. There's no way we can focus on both elements and be successful, unless we are lucky and get a great team.

Quote:
Original post by meeshoo
u must spend a lot of time to design an engine, to be very modular, u implement a core that will be very independent of what you will plug in(can execute anything, best done by using a general purpose scripting language).


This is one thing I've learned from the COTC series and one thing that's resonating throughout this thread. We have to establish a core base of libraries that are generic enough to be used anywhere, but can be replaced without a headache.

Quote:
Original post by meeshoo
that's why the design is very important.


Does that mean that as hobbyists, one of our main failures is the failure to design our games? The holistic control we have can make us lazy and prone to shooting off at tangents on a whim. There's no schedules, to pressures, no formal guidance for us to follow in our game - we can do what we want, when we want. That's great for innovation, but often proves dangerous as the code entropy fights us.

Quote:
Original post by meeshoo
execuse my bad english

Your English is perfectly understandable :)

I'm thinking now that there are so many areas we have to cover and so many things we have to fight, I have to pose the question - where will the hobbyist programmer be in the next few years? Will it be feasible to create games that people want to play for more than an hour or will we have to forge teams and adopt a professional mindset in order to acheive our dreams?
I found this discussion very interesting. I would like to offer up my own game for a case study. There is a 90 second trailer of the game in action available on my website for you to look at and tell me what you think of both our production values, and our engine. The game was written "from scratch" in that we wrote our own engine, and I did all the art work. It is fully 3D, fully multiplayer with up to 16 players, and was made by 2 guys in thier spare time. We now have 4 guys involved, as I have found a musician and sound designer in the last 4 months. Please, tell me what you think and how you feel this fits in the this discussion.
www.reactorinteractive.net
_________________
Drew
Advertisement
Quote:
Original post by rypyr
Are you sure you're not slipping back into engine design here? Just suggesting you check yourself again and refocus on completing jsInvaders...sorry to butt in there.


You're not butting in ;)

Yes, the quote from the blog was correct. The difference here is that previously, I was trying to design a generic 'glove fit' engine that would encompass many generes of games.

The jsInvaders game is *very* focussed and small. It's *not* the software engineering feat I was attempting before. As such, the individual components of jsInvaders aren't portable between projects. But this is where it gets interesting. jsInvaders is totally scripted with the level content pulled from XML files. The game is toally tied into a very basic top-down shooter (textured 2d quads) and probably wouldn't stand up to being a 'real' game. The interesting thing I've found is that because it's scripted, I can very quickly modify the scripts and the textures used to create a different top-down shooter. As a result, I could probably use it to create my initial Manta-X protoetype. As I said, I could potentially develop jsInvaders further, but this remains to be seen.

I guess what I'm talking about here is creating a game with scripted features that has unintentionally alowed be to take things further and be used for something other than it's original purpose. Whereas previously, I was focussing on creating an 'engine' over a game and failed miserably. I wonder if this is how some projects work out?

Thanks for yout comments.

[EDIT]
I posted this in a PM to rypr - I think it gets my point across better :)

When I was creating the Manta-X game, I was very keen to create an engine - something that I could reuse over and over in many different game types. As a result, I was trying to cover as much ground as I could in what I thought would be the most professional way. Many things were abstracted out (probably needlessly) and I was trying to make things as generic as possible. Even with the overall Manta-X game in my mind, I still wasn't doing enough to focus my efforts towards that project. I was focussing on creatin a technology, not a game. I'm not sure why, perhaps I felt brainwashed by the community as a whole focussing their efforts towards engines.

So with jsInvaders I sat down with a very specific goal - to create a scriptable space invaders style game. As a result, I had a very focussed project and I was able to commit myself totally into it's development (it's about 60-70% done). Rather than spend weeks making the core engine with no real results to be seen, I was able to get the basic jsInvaders prototype up within a week an see the results. Something that took me by suprise, however was the fact that because the game is scriptable and uses XML to load it's data, I can very easily change a few files and make the game behave very differently. Space invaders becomes galaga, which becomes a different top-down shooter and so forth. Not exactly what I had in mind for my Manta-X game, but because of this I could make a quick prototype with hardly any additional effort. In essence, I have inadvertantly created an 'engine' (although very basic) from a focussed game idea.

In a couple of months, after jsInvaders is complete, I could potentially start Manta-X (again) from the core of jsI - allowing me to see results immediately. Or I could start again with the same idea, create a focussed game without the general idea to make it an engine.

As you say, it seems to contradict what I was saying, but I think the difference is that rather than focus my efforts on making a generic engine, I indavertantly created something I could use again by becoming very focussed in a new area. The difference was that I had a different mindset and adopted a totally different methodology.

As Chris Hargrove said, things improve over time - you eventually learn essentially by accident, taking things that were right and scrapping the things that were wrong. As a result, you get better. I think that's starting to happen with me.

[Edited by - evolutional on July 3, 2004 4:20:00 AM]
Quote:
Original post by DrewCaliburClark
There is a 90 second trailer of the game in action available on my website for you to look at and tell me what you think of both our production values, and our engine.


and...

Quote:
Original post by DrewCaliburClark
The game was written "from scratch" in that we wrote our own engine, and I did all the art work.

We now have 4 guys involved, as I have found a musician and sound designer in the last 4 months.



Needless to say that yout game looks fantastic - the music seems very star-wars like though ;)

I think you could contribute well to this discussion - you mention having a team and creating yout own engine. Maybe you could offer up some information about how you went about designing your game?

Were you aiming from the start to get it published? Was it a hobby project that evolved into something bigger?

When creating yout engine, did you attempt to create a technology that could be used everywhere you could, or did you specifically design the features and capabilities for this game?

Taking into account the comments made by Chris Hargrove, what do you feel you've learned from this experience? How would you change it for next time? What would you keep the same?

Do you have any advice for us who needlessy overdesign our software and fall over so many times?

Thanks :)
I just read the first post and honestly I just skipped over everything else, so forgive me if I am going off topic (or back on topic).

When I create a game I initially get a very basic storyline. Then I decide all of the interactions that are necessary to fulfill the initial concept. Usually by then I have countless crazy ideas, that are clearly set far above my reach. Luckily I have sleeping trouble so at night I just open up a new package of paper and work out how my concepts can be recreated using more realistic methods. I take the most crazy impossible ideas first and I work out how I can create them or alternate methods that create an almost identical outcome. I am proud to say that I have yet to have an idea that I was unable to simplify to my ability level.

I have knowledge in multiple languages, but at the rate that ideas come in to my mind I don't bother with 3d graphics or other time consuming benifits. I try as hard as I can to create all of my games in internet languages. This allows creating an entire game inteface to take very little time (with simple HTML and &#106avascript). Although, my prefered language is perhaps a bit weak in the opinion of many others of all of the languages which I know of, &#106avascript is my favorite. (I love it even more than C/C++)<br><br>I make my games for fun and it isn't &#111;nly playing the game in the end that makes me enjoy it, but also the whole problem solving process (the problem being: How can the features that I'm aiming for be achieved in a realistic way using an extremely basic set of functions?) I get more pride in taking a complex and "impossible" 3d game idea and turning it into an easily doable project without losing the game's effect, than having a bunch of completed games at my fingertips.
Perfection is a powerful message
Evolutional, I'd be happy to share any thing you'd like to know about our experience. Take a seat, its story time.
This project originally began when a group of about 5 guys approached me in college about making a videogame. They had heard that I was majoring in multimedia production and hoped to go into the game industry after college. I had some experience with game creation before getting to college, and it was key to this whole project, because of course, the game they planned to make was huge MMO-type perpetual universe where a player could go anywhere/do anything. The first thing I did after meeting them, was make it clear that I would not be involved in this type of project, since the odds of it ever reaching completion were nill. I felt, that the key to making games as a hobbyist, is to be honest with yourself and the scope of your project. I told them to drastically scale down thier vision to something that could actually be completed. So many people start out to make a game, and try to make something they can't realistically complete, which is a huge team-killer. Well, our project fell apart anyway as soon as I began to do some real project management (my major was production and project management, and now my day job is an IT project manager) because the other members saw that making a game is not all fun and good times, but it is hard hard work that takes real discipline and time management, mixed with a good dose of sacrifice. Well, one guy stayed with me, and I soon discovered he was a gifted programmer (HanSolo here on Gamedev). Once we saw the pace he could work at, we did expand our vision a little, to something we thought could actually pass as a decent demo of a publishable title. Our goal is absolutely to go mainstream and leave indy status behind. We are entered in several major contests, including this year's IGF, and have sought to leverage some corporate contacts that we had at Caligari and elsewhere. It has now been 3 years since my programmer and I got serious about this project, and hopefully soon we will see some fruits of our labor. We are very serious about making games, and have made countless sacrifices over the last 3 years to see this project get finished. Good scheduling and self-imposed deadlines have been the key. Once we had something worth showing off, getting a few more people on board to help finish this off was easy. Our musician from www.gamenoise.com is fantastic, and finding an additional programmer to take over some of the "grunt work" has been a welcome addition as well. So far, everyone has kept the milestone structure I've setup on schedule, and I've done my best to keep everyone clear and on-track with our vision. We have legal representation now to ensure the IP rights of everyone involved, and to ease any worry from team members over going very public with our demo and ideas. We have found several LAN party organizations to schedule beta-testing events around us, and thier feedback has been invaluable. By the end of this summer, we will go public with beta testing, and give the LivePitch contest a shot as well, to try and get in front of some real potential publishers, and get our feet wet in that aspect as well. There are so many aspects to this project that I have had to manage that many people take for granted. Its not enough to have a great idea, and even make a playable game around it. You have to have a vision that you believe in, can market with enthusiasm, and most important, be able to sell your dream to others and make them share your vision. Everyone has ideas and games they would love to make, so getting everyone involved to share the same vision and goals has been key. We'll see this fall what we can make of it. I hope this helps, and I hope its relevant to those who are frustrated by the difficulties of pulling an indy team together and getting them motivated to accomplish something more than themselves. sorry for the long post, but this is actually the short version. Ask anything you like, I'll do my best to answer,
Advertisement
Hi Evolutional,

To answer your questions about our engine:
This game engine is actually my first major programming project other than high school C++ type of work. I have always had an interest in programming, but even more so, I have always wanted to make games. This has been a learn-it-as-we-go experience for me, but in the end I am very proud of the engine I have created. It is very extensible, albiet in my own inexperienced way, and our core features (netplay, sound, music, input, graphics, etc) could service most any type of 3D game. We are lacking some features at this time, such as level geometry and shadows, though these will be added in the next 2 months. We have kept our schedules, and disciplined ourselves and have learned so much, and we owe it all to a driving desire to make the kind of games that we would love to play.
Most of our game's features come from our original vision: To make a fully multiplayer space combat game that would appeal to the First Person Shooter player. Keeping with this vision, we designed a twitch based space game, that would have depth, with ease of play and very little learning curve. We wanted this game to give FPS players a change of pace, while keeping what they love about deathmatch and team play shooters in tact. Looking at our project now, I feel we have kept our goals, and our schedules and the final product is something that fulfils that vision very well. We will be spending the next few months trying to take this vision to the industry.

[Edited by - HanSoL0 on July 5, 2004 7:15:15 PM]

Ryan Buhr

Technical Lead | Sector 13

Reactor Interactive, LLC

Facebook | Twitter

Thanks for your response guys.

I'm interested in this section of what Drew said:

Quote:
Original post by DrewCaliburClark
I felt, that the key to making games as a hobbyist, is to be honest with yourself and the scope of your project. I told them to drastically scale down thier vision to something that could actually be completed...

Well, our project fell apart anyway as soon as I began to do some real project management (my major was production and project management, and now my day job is an IT project manager) because the other members saw that making a game is not all fun and good times, but it is hard hard work that takes real discipline and time management, mixed with a good dose of sacrifice.


Quote:
Original post by HanSoL0
We have kept our schedules, and disciplined ourselves and have learned so much, and we owe it all to a driving desire to make the kind of games that we would love to play.


That seems to resonate with something I touched on before - I mentioned that being a hobbyist, you have full creative control over your project and as a result, you can often shoot off on a tangent and become lost. I did this with my 'engine' design instead of the game. But I think that it's starting to highlight the fact that now, even hobbyist game projects need managing. It was easy to plod along with creating yout game, but now we need to finely plan and manage the project in every capacity.

A major management decision (I've been involved in Project Management before, too) is to ensure that the project is correctly scoped out in terms of the requirements and the capabilities of the team. So I'm guessing that now, in this environment of bigger, flashier games, we need to take on more of a managerial role in our projects - even if it's just one person completing a relatively small project.

I sincerely wish you guys the best in this project, I like the way you're approaching things and it's certainly helped me think - as has most of this thread. I hope it's helping other people too.
I don’t know if this is relevant to your discussion but here’s some of my thought to the case. I also have the problem of revising the engine over and over again. And one day, I came to realized that, it is not ‘game programming’ that I’m interested but I’m simply addicted to it. Literally. That is, I seem to be using ‘solving game programming problems’ as a drug to get high. To archive a short term happiness and excitement that many of us are looking for unconsciously. As in the feeling of winning gold medal after a long losing streak. I came to realize that I had the ‘feeling’ every time I solve a component that I set to archive for the engine. But as the drug addicts, the next dose will need to be much stronger for me to feel any change. So, after overcoming depression (side effect of a sudden happiness), I look at the big boys and say, I want that piece in my engine. So I set out for a painful and long straggle and research to accomplish the task. I like this ‘pain’ unconsciously because unconsciously, once I archive that ‘piece’, the high will be so much rewarding.

You see, speaking for myself, my theory is that some of us do game specific programming because it is the only programming industry that allows us to get the ‘fix’ once in the while. And, I came to realize it is not about releasing the game or making lots of money but just getting the reward after a long and painful seek. After that ‘awaking day’, I was sure that I’m a hobbyist and I would never release a complete game since I’m only seeking what I can’t achieve. That’s the only way I can get the fix.

I think to overcome the notion of hobbyist, you can’t think of game programming primary as an art but, as many implied, as a business. We must see it as a gold mine and just ‘take’. But many of us are not here to just ‘take’. I think that’s part of the problem.

(Btw, I’m not substance abuser. But if you think about it, we are all basically addicts addictive to ‘happiness’. And there are just many way to achieve it.)

[Edited by - JohnSKX on July 7, 2004 2:03:26 PM]
Quote:
Original post by abstractworlds
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?


test

This topic is closed to new replies.

Advertisement