How do you start a gamemode.

I’ve always wondered how other people make their gamemodes, how they start, how long they usually work on it, ect so I though I would ask. I will first tell you how I start mine so you get an idea and can make one of your own.

When start working on a gamemode I try to be original and not do what has already been done even with the simplest of things. I start with ideas, what will the games “base” be and how much will I have to do to get it running even if not in a good condition. Once I get an idea of what everything will be built upon I start building that base. I will usually spend a decent amount of time(few hours a day) until I get it working even if it is in bad shape.

After I get the base of it done I tackle everything head on although don’t spend as much time on everything. I will work on various things that mainly just take time to do and spend about an hour or two a day on it if I’m not busy. After finishing a decent amount of stuff that is not directly related to the game actually being able to run, I go back to the base. I redo a lot of things and touch it up until it is working again although in a good condition this time.

Finally when I get the base working in a good condition and various other things(menus, weapons, entities, ect) in a working/bad state I go back to working on various things. I touch up all the side stuff until it is in a good condition then piece everything together. Eventually I get a rough copy of my gamemode and when I have finished with the basics of everything that will be included at the time I touch it all up for about a week before releasing, playing, or testing for knowledge and fun.

A basic overview would be:
o I work on the main base of the game right away with little planning.
o I spend a good amount of time at the start and then work on it slowly after a week.
o I test constantly ensuring there are little to no bugs.
o I usually trash and repeat things for the better.
o The time it takes compared to the predicted time is usually double.
o Most content is garrys mod content or custom to ensure players don’t have to play with errors.
o Once finished hardly anything is as planned which is one reason why I don’t normally plan before hand and just come up with new ideas as I go. This is the main cause for me trashing and repeating things.

Total projects I have completed: 3
Total projects close to completion: 1
Total projects dropped: 3
Total projects started: 7

Now that I have shared with some detail how I go through a gamemode I hope someone else will share with me. I’m curious to know how people create their stuff as it can help me learn and possibly teach others better ways to start on a project.

Planning is the key. Sure, you can add new ideas as you go along, but if you say that the outcome is hardly equal to what you planned at first, you’re doing something wrong. If you have the bulk of it planned out before actually doing anything, you won’t have any problem coding it, because you will already know how the layout should look like.

If somewhere in the middle you have big breakthroughs, start again from scratch. Any big feature adds can fuck up some smaller features thus making a lot of code useless. And believe me, it’s easier to write it from scratch than trying to coax out every strand of redundant code.

Always start with the major features and finish with the minor ones. This is a mistake a lot of young developers make. For instance, if your gamemode has an item system, make that first instead of making fancy inventory menus. Test it, work with it, and make sure it works exactly how you want it before diving into the gui. If you make the gui first and the system itself last, and you decide to change something, you’ll most likely end up rewriting either or both ends.

Those are my thoughts anyways. If you’re smart enough to start it in a modular way, you shouldn’t have any of the problems I described above.

Perhaps
“Total projects currently in progress”
and
“Total projects dropped”
Because 3+1 =/= 7
(Yes, this is relative to my interests) :3

Changed it. :wink:

Saying that, it’s important to consider how the end-user will see your gamemode from a very early point. With Lock 'n Load I planned the gamemode on paper to a fair degree of detail, then considered ‘can this be presented in a way players will understand quickly’ (an important objective for a Fretta gamemode, or anything that doesn’t intend to be challenging for new players). So I designed the loadout menu before I even wrote the code that made your choices have any effect - I’d done enough planning to know the serverside loadout stuff would take a day at most. In the end, the menu design challenge led me to realise the potential of a now very amusing feature, the ‘Randomise’ option.

You may think it is reckless to design GUI before you’ve coded the actual gamemode, but sometimes you’ll have to (my gamemode’s unique selling point is the choice offered by the menu) or can benefit from doing so (early GUI considerations allow you to develop a more consistent tone and theme - and give you better screenshots with which to demonstrate the style of your gamemode to people who believe things do not happen without pictures). With Derma, making a functional menu that will serve the purpose of making things playable by a wider audience without explanation is both simple and worthwhile. And if nothing else, working on GUIs will make you more competent at scripting efficiently and in a structured manner, and will give you a better eye for making your game stand out in a good and easy to understand way.

Also:

Total projects started: Too many to count or remember
Total projects dropped: Too many to count or remember, but slightly less than the amount above
Total projects completed: What? Completion is an illusion. I’ve never even played a completed gamemode, and neither have you.
Total projects close to completion: If you ever think you are close, you’ve set your sights too low.

In that case the gui is a major feature. But I wasn’t thinking about ‘designing’ the gui, more about actually coding it. Writing code can sometimes lead to ideas that are quite different to the previously planned ones, and a gui is one of those things that can suffer the most.

I ‘design’ by sketching, then coding blindly until it works. So yeah, I did code a significant part of the GUI before I coded anything else.

For big gamemode projects I have started to plan religiously. It gets you motivated and makes you think about the gameplay problems from the very start. Rather than making what first comes into your head and when its finished going “oh wait that doesn’t work”, but its too late to change it without a recode so you just abandon it.

Currently for dumping ideas I use http://bubbl.us which is a great little collaborative mindmap website. Its great for designing:

http://bubbl.us/sys/view.swf?sid=328195&pw=ya.FELVIjXyycMTcydExwNllzbHBWbw (Something I did for OE2)

Then I start coding. When I get to a playable base I play it for a couple of days (I annoyingly spend more time playing than coding) then keep adding stuff until its ready to show some friends. Then it just keeps developing from there.

I don’t like to restart on something, (if a menu doesn’t turn out very well and it needs redoing) I tend to try and see what I can do without redoing everything and I normally code things modular so if something needs redoing it will usually be one part of that system and I can code that without affecting other stuff.

When the gamemode is put online I normally just enjoy it and play it, this is where I get the least work done because I am too busy playing the game religiously and not coding, this then results in me losing interest in the project and either giving it to someone else or just stopping it. Then comes a new project!

Also I seem to have discovered if your “dev alpha” isn’t fun to play then I am doing something wrong, or the idea isn’t good enough. For example in Wipeout when I started hosting a beta it wasn’t too popular so I kinda realised that the gamemode wasn’t practical in gmod. However in contrast when I hosted a literal alpha that didn’t really work at all it was very popular, so I knew I should continue on with the project, I think getting peoples opinions on something from the word go is really important.

I always do server code first and just test everything with consolecommands.

I hate coding menus and huds so I put that stuff off

Same.

I start with all of the background stuff that manages how the gamemode works and runs, then add in all the visible stuff, and then polish.

[editline]01:19PM[/editline]

I do enjoy coding HUDs and menus, so I save that for last as motivation.

Im the same as Overv but i’ll code the base first so theres little to no features and then start building up

I prefer and enjoy coding structures of things, systems and things like that rather than actual content. For example, in GManage (my admin mod) I much more enjoyed coding the plug system rather than the plugs themselves. Menus and GUIs are meh, I don’t mind them if the end result looks pretty cool. HUDs are a nono for me.