Game Ideas ?

So I'm thinking I want to start coding a game of my own. I tend to have grand schemes that are so complex that I give up before I even start. So now I'm asking for suggestions on something that can get me started.

I'm thinking of something simple, yet fun, maybe a puzzler like pirate quest, but just the actual puzzle bit. Does anyone have any suggestions about stuff to think about?

I want to be able to do as much stuff myself as is possible, the only thing I can't make is music, so I'll leave that out for starters at least. I'll also limit myself to simple geometry as far as possible, and maybe go for cell shading as a GFX style.

I'm thinking of developing the game in Java and using OpenGL (JOGL). Although I am a bit tempted to try my hand at Python, but since I've never done anything in it I think I'll stick with what I know... for now.

If I do get this working I'd like to publish it on hUb if you'll have it, so any tips on making it hUbable are welcome.

Frag on!

users avatar

some advice

As you say it's very easy to go overboard with ideas and kind of cancel your idea before you get to really try it. My tips are:

Go with some basic gameplay that is tried and tested and in a genre you like. Your idea of a match 3 puzzle mechanic sounds solid to me. Implement the basics as fast as possible and get a feeling for the gameplay. Then iterate and add more!

Sure hUb could be an option Smiling Some things to consider:

Use standard api's and languages. Something that produces a .exe file and requires no fancy extra installs. hUb only takes care of DirectX so if your game plans on using something else make sure your game handles this gracefully.

Do not modify game data, that is don't modify any files that are installed with the game. These files will be overwritten the next time the game is updated.

Go for iterative development and be prepared for feedback and update loops. This is a must!

Your goal should be to charge some money for your game. This will make your more professional in your development and I also think it is important to value ones own hard work.

That's what I can think of from the top of my head... feel free to ask any questions.

users avatar

Motivation

One of the things that we've found here at SoP is that the sooner you put your game up on hUb, the better things go after that.

While I'm probably the worst guy at this, I think that it is absolutely worth it to put the game up there even before it is finished. I think that the popularity of TWTPB proves that our ideas about collaborative and iterative development really help a project.

Putting it online fast helps in a number of ways:

Part of it is the fact that you are forced to go all the way from concept to deployment early on, thereby ironing out any problems you may have (such as inadvertantly messing with read-only assets like hObbE mentioned).

Also, I personally experience a feeling of responsibility towards the users when my games are online, since if something is broken it is extremely visible and people actually notice it and care that you fix it. While this may also be stressful, it helps to put you in the mindset that is required to support a game that is online.

Having said all of this, I think I need to get my latest unfinished game online as soon as possible... Smiling

/johno
"you can't stop the change"

users avatar

My reason

My reason for choosing Java and OpenGL is that I would like this game to run on Linux (Ubuntu) without much hassle. I've always been interested in this since it makes sense to me to keep things as portable as possible.

On the other hand I've never been a huge fan of downloading JRE/JVM-stuff myself. It's almost as horrible to me as being forced to download .NET to run an open source game, because I think that sort of defeats the point. But there is a price to pay for portability, and I think Java handles this fairly well.

I do plan on developing iteratively, and I also plan on using TDD since this is something I've begun believing firmly in.

On the don't modify game data bit. I'm not entirely certain on how far you mean this goes. Things I'd like to save would be settings, like resolution/volume etc. and possibly saved games (although I'm not sure I'd need this in a puzzler), or high-scores.

I was actually thinking I'd let it be free to download, since I'm worried it will be a hassle to have it any other way. But if it isn't that difficult I might charge a small amount for it. =)

______________________________________________________________
There's no kill like an overkill!

users avatar

Looking forward to it

I'm off to a good start, already I've inspired Johno (yes I know I'm taking a lot of credit here, and I am not totally serious about it.. seriously!) to put up another game on hUb. I'm looking forward to see what you have in the works.

______________________________________________________________
There's no kill like an overkill!

users avatar

Its about time you do a

Its about time you do a game!!!!

I can only agree with johno and hObbE, the feedback loop from iterative development is really great, it helps me keep focus on the things that really matter(gameplay) instead of digging myself a technical hole...

I think it is important to get basic game play and controls up and running before anything else.

And of course refactor your code, remove things that stinks. Test driven development is really great since you get the security you need to do the changes you want. I use TDD for technical parts of my code in Hero and it really saves time.

Dont worry about music, or graphical resources it can always be bought later (check out soundrangers.com)

Releasing (a non-perfect exe) can be scary, but with hUb you can always do an update when someone finds something you don't want to be exposed. When we started releasing I thought it was really hard to take in some of the "negative" feedback, but fixing those things and put out a new release on hUb without those bug/problems is really great.

Now code like the wind and get me something to test!

Daniel

users avatar

TDD?

I'm really curious about your respective wisdom on "using a TDD". Please explain!

/johno
"you can't stop the change"

users avatar

Example on test driven

Example on test driven development.

I rewrote my light map generator using a new algorithm, if I would not use TDD I would need to start the game all the time, and draw a new set of levels to test if I get the shadows right... I would not know if I introduced any new bugs until I verified it by watching the result... and you know LM-generation can take a lot of time...

So instead, before I did the change I created a small test, tracing a few obvious rays, examples that I could get the correct answer by doing the math in head.
I implemented the new algorithm and ran the tests, and corrected the bugs without needing to wait for ray tracing results. When everything looked peachy I created a test level and let the ray-tracer work. If I found something from the manual test, I added a few more test cases that that bug and then fixed the bugs.

So the tests give me the assurance I need to do larger changes in the code, they work exceptionally well when you work with mathematical stuff. And I need not to worry to reintroduce bugs since my tests catch them...

users avatar

I see!

Sorry, I got confused; I assumed you guys meant Technical Design Document rather than Test Driven Development... Smiling

I agree that tests like that both save time and raise your confidence in the code.

/johno
"you can't stop the change"

users avatar

I've got limited experience

I've got limited experience in using TDD, something I need to change!

On the few things I've used TDD I've mostly created an automated test from a manual one, and then worked to solve some bug. I guess this is somewhat the "wrong" way as you should make the test(s) first.

I also have a hard time keeping my tests in sync with the code. Probably since I use primitive commenting to disable tests when debugging...

I really need to get more into TDD... though my time coding has been very limited as of late Sticking out tongue

@dntoll it's "of course", not "of cause" Eye-wink

users avatar

ho ho

ho ho

users avatar

At work we use TDD

I barely knew about TDD before I began working (I blame you hObbE! j/k). Now it feels quite natural to me, I don't know what tools you use to develop in, but I really like how jUnit works, and it integrates very neatly into eclipse. Another tool we use is EclEmma, a code coverage tool, which can be quite an effective combination with jUnit.

Basically you write a test case for a function you need, run it and see that it fails, then code the function and run the test again and watch it go green (or red, then you code again until it becomes green). It's a great way to stay focused on what you need instead of doing things you think you might need some day. And it's just wonderful for refactoring and such things, as you can easily see if you have broken anything.

But back on topic. I'm still interested in using Java for my game, I'm looking into different ways of deploying it over hUb. I found something called JSmooth, but it is an old project that seems dead. I'm also considering using a webstart approach. There are other options as well that I will be exploring. Hopefully I can post tips and hints for the next person that wants to try out some Java via hUb.

I've also been thinking about the gameplay. I want it to be easy to understand and to start enjoying, but difficult to master. So far all my ideas seem unintuitive and awkward.. I think I'll have a look at some puzzle games on youtube this weekend and see if something there can point me in the right direction.

______________________________________________________________
There's no kill like an overkill!

users avatar

Java WebStart

Wouldn't using webstart make the use of hUb completely unnecessary? I assume that hUb would just launch an URL, which would launch a browser, which would start the whole WebStart thingy...?

It seems to me that if you're interested in portability, then WebStart is superior to hUB, which isn't officially supported on unix (although crazy ppl run it under WINE... Smiling

/johno
"you can't stop the change"

users avatar

True

You are correct that it would make hUb unnecessary for my game. But then again webstart has its drawbacks too, and I would like my game to feel like it belongs in hUb. I'm just not sure how yet.. ;P

______________________________________________________________
There's no kill like an overkill!

users avatar

Choices

So I've had a look at puzzle games, there are quite many out there, but very few "new" ones in the style I'm looking for.

I've narrowed my choices down to two possible candidates for my main inspiration.

1. Super Puzzle Fighter II Turbo

The main problem here is that you play against someone, and I don't really feel like making a multiplayer game my first time out. Neither do I really want to dabble in AI right now. Other than that I really like this game and given time I could probably think up some interesting single player gameplay mechanics.

2. The Treasure of Montezuma

I really like the look and feel of this game, it seems really polished and it has some cool powerups/doodads. The main drawback here is that I feel that the powerups are too powerful and random.

So what do you guys think? Which seems the most appealing? Do you have any other suggestions?

PS. I won't make any cool character animations or anything like that for #1, it's just the actual gameplay part there I'm interested in. DS.

______________________________________________________________
There's no kill like an overkill!

users avatar

These two puzzlers have

These two puzzlers have quite a different type of player in mind. So I think about who your player is...

My personal opinion is that a more classic match three is definitely the safer bet (i.e. more casual audience), especially if you are to make something polished.

You should also take a look at Bejeweled Twist.

users avatar

I actually didn't see

I actually didn't see Bejeweled Twist when looking around. I was pondering some similar form of game play to that, but decided against it. I'm not sure but somehow I feel it wouldn't feel as intuitive as I would like. On the other hand I did see different game modes in Bejeweled 2 that were quite interesting, I wonder if I can think up some fun ones of my own. Thanks for the tip anyhow. =)

Oh, and I think you are right about the audience, I would attract a broader group with the classic type. Actually I was leaning towards that already.

I've also been thinking about how to distribute the game. I think that Webstart might still be the best option, but with hUb distributing the .jnlp file. If the computer has Java (which I believe most modern versions of Windows has, and hopefully Linux and OS X), it should be able to launch the game and also quite nicely handle any prompts about updating Java and such. The .jnlp file would then be launched by javaws and function just like any other app.

______________________________________________________________
There's no kill like an overkill!

users avatar

Bejeweled Twist has the

Bejeweled Twist has the advantage of not running into the dreaded match three syndrome "no more moves". No more moves is the single most boring aspect of match threes as it totally breaks the flow of the game and it's also quite hard for the player to do something about it, some games consider it a game over state (which I think is unfair) and some like CPQ resorts to various shuffles of the game board. I think this is something to look out for.

Check out the most popular match-3 games

Your ideas regarding webstart sound cool, we could definitely try to make hUb more compatible to different tech. But first we need to see something up and running Smiling

users avatar

A "match 4"

Check this out:

http://store.steampowered.com/app/23300/

Demo here:

http://store.steampowered.com/app/23320/

/johno
"you can't stop the change"

users avatar

I was thinking of having a

I was thinking of having a game mode where you have action points, and each move will cost one point. If you run out of points the game ends. And if you create a match of 3 you get one point back (so plus minus zero). Then you get more points for larger combos. This way I don't have to worry about no more moves left, also I think this is a game play style unique to my game, although I can't be sure. There is a similar version based on time in Bejeweled 2, but I don't enjoy time constraints in games, thus my version was born.

But you are right, I should get started with the actual implementation. =) I'll check out the other match 3 games after work.

Yosumin is close to the style I am looking for, at least when it comes to artwork. The game itself seems interesting, but I don't think it is very accessible to the larger crowd. Thanks for the tip though!

______________________________________________________________
There's no kill like an overkill!

users avatar

The style of Yosumin is

The style of Yosumin is indeed cool though I played it and I thought it was absolute crap. Especially considering it's a square enix game... Sticking out tongue

That match four mechanic was used in a much better way in Alice Greenfingers by Swedish Arcade Labs Smiling

users avatar

Agree on the crapness...

I tired of it quickly as well, gameplay-wise. Maybe that's because my brain can't seem to see those kinds of things fast enough for me... Smiling

Also, a word to the wise is to keep the flash-gfx transitions down to a minimum, or at least allow the user to click past them. Yosumin failed here as well.

/johno
"you can't stop the change"

users avatar

gfx-transitions

I hope people won't be annoyed with any animations I add, because I find them annoying too in a lot of cases. I want my games to do what I tell them when I tell them. The worst example of this would be in Zelda TP when you call the bird, the first time it was kind of neat, the other 200 times I would have like to be able to click past the 2 minute cutscene... Sticking out tongue

______________________________________________________________
There's no kill like an overkill!

users avatar

Vacation

Summer holiday is approaching, just one more week to go then I have 3 weeks to geek around with whatever I want. I'm hoping to get far enough on my game to put it up on hUb before my vacation is over.

I've figured out the basic gameplay elements somewhat, and I have found the solution to having a java game and a few other more technical things. (I think)

I'm still lacking in a style for the game, artwise and music wise. I should probably stick with what I know though, it will probably be something synth/bitpopy for the music and an artstyle similar to portal/mirrors edge etc, clean and crisp. The main reason for this is that I want to make a game that will not scare away people.

Future projects might have a different undertone though, but I won't bother planning for that now. =)

I've also thought up a working title for the game until I can figure out its proper name. Project Jazz. (It has nothing to do with Jazz though, in any way)

______________________________________________________________
There's no kill like an overkill!

users avatar

Cool! Hope you get some free

Cool! Hope you get some free time on you vacation too Smiling

Let me know when you have something to test on hUb and I'll take a look at it. Seems as both Java and XNA could be something for hUb to support.

As always having dependencies is a major hassle and we need a clear strategy.

Currently we all develop using C++ and the same version of DX thus making it quite nice for the user just run all games once they have the right version of DX installed.

Another approach would be to push all this to the games. I.e. they are responsible for alerting/pointing the user to additional installs if needed.

A second approach would be to keep it on hUb but have all games specify their dependencies. This would probably be the most user friendly approach as hUb could display the games you can actually run, and what needs additional installs. However, it is not clear how to actually specify and/or detect the requirements of a game (i.e. XNA, .Net, Java)...

When we have something concrete happening in the Java or XNA department we'll make it work Smiling

users avatar

Post new comment

Please solve the math problem above and type in the result. e.g. for 1+1, type 2.
The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <h1> <h2> <h3> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Textual smileys will be replaced with graphical ones.
  • Images can be added to this post.

More information about formatting options