Jump to content
A nice cup of tea

The Game Development Thread

Recommended Posts

Taking a break from my other Flash stuff in post #72 (which is more or less done in terms of central mechanics, I just need to give it some context) to mess around with some other concepts. Recently I've built a test environment for a platformer; it's a single-screen play area with collectibles, enemies and an exit. I've always felt that my Flash knowledge is useful for certain genres but I'm still pretty lousy in others, and my platformers are always a bit arse, but I don't help myself by scrapping every prototype I made, so I thought I'd build a little test level but smarten it up so that there's some animation and an objective of some sort. I ended up making a level where you have to collect a certain amount of coins to make an exit appear, and colliding with enemies will deduct coins from your quota. However, these coins re-appear after a duration, so it's no big deal. The main hurdles I had to overcome came from the maths of jumping (at first the distance travelled falling downwards was less than the distance travelled jumping upwards, so the player could theoretically jump his way off the screen) and the logic of the player character's animation (moonwalking when left and right were pressed at the same time.)

This is more of a personal project that tests a few theories I had about overcoming some of these obstacles. I've cheated by making screen-wide platforms because it means that I completely avoid dealing with the whole logic of falling off edges :P I don't think I'll build on it much more right now, but I want to document a lot of the stuff I've done so that I have something to refer to in the future. Other notes... I can't guarantee that the controls will work on every browser (Chrome and IE seem OK), but you can click in the game if controls aren't working, and you might need to refresh the page if nothing appears. Oh, and apologies for the maddening Balloon Kid placeholder music.

http://www.qazimod.co.uk/temp/flash.htm

Share this post


Link to post
Share on other sites
at first the distance travelled falling downwards was less than the distance travelled jumping upwards

:blink:

How were you doing the jumping? Were you calculating the full parabola in advance, rather than using gravity to adjust/change motion? In any platformer I've written once the character starts moving downwards their state is set to falling and they'll continue until they hit something they can stand on.

Lately I've completely redone the graphics for Endless Lines (update available on the appstore), blog showing the differences and the reasons: http://bitbybitgames.co.uk/BitBlog/2012/07/a-lick-of-paint-for-endless-lines/

I'm still working a contract four days a week for Lionhead and working on our own stuff the rest of the time, which seems to be taking forever. If we were doing this full time it would have taken a couple of weeks to get to this point, instead it's taken about three months. It's another iOS game (we shelved the PC & Mac game while we were having to work with time constraints), async multiplayer this time so lots of fun with networking...

Share this post


Link to post
Share on other sites

:blink:

How were you doing the jumping? Were you calculating the full parabola in advance, rather than using gravity to adjust/change motion?

I'd guess that jumping and falling were both constant velocities, with jumping continuing for as long as the jump button is held.

Share this post


Link to post
Share on other sites

In the past I had done simple collision detection tests - "when the player collides with the platform, stop falling", but this time around I tried to base the fall length on the y positions of the platforms, as well as trying to space platforms one jump apart from each other vertically - since the platforms are a screen wide there's no need to worry about x positions (for the time being at least - it would probably be possible to create unique platforms with their own checks for x and y positioning.) As a result, I thought that I could just say "fall down by this amount and then stop", irrespective of where the player fell from, but if the fall is less than the jump, the character will start landing on an invisible rising floor.

Share this post


Link to post
Share on other sites

Oof. That'd be a recipe for multiple headaches once you try to introduce things like moving platforms, climbing, and all sorts. The beauty of collision detection is that once it works, it works everywhere.

Well, mostly. :P

Share this post


Link to post
Share on other sites

Great reading all the stuff peeps are doing. I'm very slowly making a PC only multiplayer bomberman ripoff homage. It has concepts from another favourite game of mine too. I'll need an artist at some point

Share this post


Link to post
Share on other sites

Just updated my game from a 320x240 viewport, to 720p. It doesn't make a ton of difference to most stuff, but the extra resolution really helps the particle effects, so I'm happy, particularly with fireballs.

Maybe some day soon I'll even be in a position to show screenshots without it looking like a prototype. :D

Share this post


Link to post
Share on other sites

Holy dirty fuck.

Yesterday, I was looking into this 3d particle sample on MSDN, as I thought it might be worth implementing in my game. I've never touched shaders before (never had any need to, I almost exclusively use SpriteBatch, with a BasicEffect also being used for rendering 2D geometry) so there was a bit of a learning curve, but I got my head around it.

At about 9.30pm last night, I had implemented a version of it to go into my 2D engine, but nothing was appearing on screen. After much head scratching about the projection and view matrices, I eventually sussed it out. Well, actually, the problem was I mistakenly assumed alpha was in the range 0 to 1, as it was stored in a float4 structure. It's 0 to 255 instead. Whoops.

A little more fiddling to take into account camera position, and I had some particle effects running on the GPU. A lot more fiddling later, and I'd recreated all the previous particle effects I was using - bullet trails, explosions, flames, that sort of thing. It was after 1am when I'd finished.

I didn't know if it'd make much difference, so I fired up the game on the Xbox. Now, on Sunday, I had a frame rate of 28fps during a relatively heavy test scene I'd set up - lots of bullets, lots of collisions, lots of particles. Some rendering optimisations on Monday had brought that up to just over 60fps, which was as pleasing as you'd expect - it was unlikely during normal gameplay that the game would experience that much load, so frame rate was no longer an issue.

After the particle change, it was over 100fps.

I still don't quite understand it - I'd already turned off the particle engine and tested it before implementing this, and was still only a little over the 60fps mark, so I was pretty much just doing this for the learning and fun. A 60% increase in speed? Well, I'm not complaining. :D I guess I must have mucked up the earlier testing with the particles off.

  • Upvote 1

Share this post


Link to post
Share on other sites

So I added a adventure mode to my game. The main mode is called "endless" which I guess is how you would class tetris etc. Currently has power ups too..

In the adventure mode , I have a map which has an unlock able stage until you collect enough objects ( from endless mode ) I was thinking maybe , on this bonus stages that you could unlock a weapon in the main endless mode. I could do this a few times.

My only issue is will people play the adventure mode to unlock this in order to get better scores in the endless mode.

Share this post


Link to post
Share on other sites

Incidentally has anyone picked up a Nexus 7 for Android development and, if so, how does it fare?

Anyway I've mostly been going back and forth between Monkey and HTML5 (which really will have to stop at some point) but most recently started to get a system together for programatically creating buttons and altering their layout and dimensions should the orientation of the device alter. It's one of those situations where the meat of the system is written because it was the most interesting thing, and now I'm going back and adding the stuff that really should have been groundwork, refactoring as I go.

If anyone is looking at HTML5 then me having categorised all the frameworks I could find might save you some time, and if you're in the UK you might be interested in TIGA. Between that little lot and popping over to Scotland I haven't had time for much else.

Share this post


Link to post
Share on other sites

Spent a few days making a simple note taking application in vb.net. I built it to emulate the Windows Phone/Windows 8 UI style and will be spending the rest of my summer porting the program to Windows Phone and Windows 8 as a learning experience.

Now, to make the initial program I created a local database for the notes and some other info to be stored to; but my understanding is that Windows Phone and Windows 8 (Metro style) apps have to use a web based database because they can neither store or access a local database.

So my question is really does anyone have any experience with doing this? Other than creating 2 databases in Access last year, and making the database for the original version of this program I have no experience with databases. Other than using FTP software occasionally and using a automated thingy to install WordPress on my web host about 3 years ago, I have no experience with servers, mySQL, user authentication or basically anything that I might need to know to pull this off successfully.

There are of course guides online, but I'm yet to find one that is aimed at my level of knowledge (zero), they all seem to assume some kind of past experience in the subject, or at the very least a much wider understanding of software/systems development. So, does anyone have any good links for sites/videos etc that could literally hand hold me through making the database, hosting it, accessing it, linking it to an app in Visual Studio and so on?

Any help is much appreciated!

EDIT: As if to make my lack of knowledge more clear, apparently Windows Phone and Windows 8 apps cannot directly access an SQL database. It seems that SQLite is a viable option, but (shockingly) I have no experience with that either. So my question now is, can anyone point me in the right direction for the most basic guide imaginable for implementing SQLite?

Share this post


Link to post
Share on other sites

So an update..

I havent really worked on the game much due to a few reasons (holidays and the settlers online) but i went and added some INI functions and a single player adventure mode (well, there is a lot left to do there)

However not sure on the graphics. People have played it thought the main character (the bunny) was fine but im not sure everyone would play the game because of that. I'm not really sure to change it but it would be time consuming and i dont really have an issue with it.

Anyway there is a video here of it running the endless mode on my ipad2. Not sure on a name yet. Ignore the numbers at the bottom - they globally record how many baby bunnies you collect in the endless mode to open up areas in the adventure mode.

let me know what you think. There are a few place holder graphics.

  • Upvote 2

Share this post


Link to post
Share on other sites

I have meen working on the android operating system for a little whil. My first game was a noughts and crosses game And the second which I have just released is a simple maths quiz game aimed at children in KS.

Here ate links to both of the games any feedback would be helpful.

https://play.google.com/store/apps/details?id=com.nac.game&feature=also_installed

https://play.google.com/store/apps/details?id=com.quiz.game

Share this post


Link to post
Share on other sites

I have bean working on the android operating system for a little while. My first game was a noughts and crosses game And the second which I have just released is a simple maths quiz game aimed at children in KS1.

Here are links to both of the games any feedback would be helpful.

https://play.google.com/store/apps/details?id=com.nac.game&feature=also_installed

https://play.google.com/store/apps/details?id=com.quiz.game

Fail typos

Share this post


Link to post
Share on other sites

This is my last week at Lionhead on contract, then it's back to my own stuff full time. We've been working away on the next game in out spare time but progress has been slow with doing the contract work too. Still we've got an artist on board for this one, so no more of my artwork. He's done a bunch of concept sketches for it, so I stuck some up on our blog which I'll leave here too:

concept_doodle.png

Share this post


Link to post
Share on other sites

Picture time!

Not a lot happening in this, but a picture nonetheless.

tXl78.png

I really like the look of that, especially the enemies (?) with their roundness compared to everything else.

Share this post


Link to post
Share on other sites

Thanks guys. :)

Yeah, they're enemies. The basic idea is that you're a pixel-art character in a hostile vector graphics world. Saved a hell of a lot of time when it comes to creating art assets. Now if only I could have applied that to level design, it'd have been done by now. ;)

The main character below isn't finished, it's just an animation base, hence the two-tone approach on his body and legs to help with identifying which is which. I'll be going over that later to update into an actual character. It's split into three parts - legs, torso and head, so I can do some pretty neat stuff with it.

I tried the same for the enemies there, but it played havoc with the glow effect which is burnt into each image rather than done on the fly. Means that those enemies can only attack you when stationary for now (unless they decide to run into you instead) but if I have time, I might give them alternative attacks.

kl1ry.png

  • Upvote 1

Share this post


Link to post
Share on other sites

Heading back to this thread reminds me - I've been dabbling with another Flash toy that I doubt I'll put online because it's just me putting some basic theory into practice: there is a challenge and an end goal so it is still a game of sorts, but it's full of placeholder crap and becomes tedious in seconds. :P Basically I wanted to do some kind of thing where an environment is randomly generated but not impossible to complete - from my dabblings I get the feeling that making a randomly-generated gameworld is straightforward, but making one that won't block the player from making any progress is a little trickier. I ended up going for a top-down tile-based format (think Boulderdash or Bomberman) but instead of pushing or destroying (randomly-generated) blocks, you move a character with the cursor keys and remove the blocks by clicking. Each movement or click adds to a "move counter" and so there's a basic goal of "reach the end in as few moves as possible", but there aren't any more exotic elements like special blocks or hazards just yet. As said, it's a kind of theoretical thing for me, and the main reminder I took away was that randomly-generated environments are fine as long as the player is well-equipped to traverse them. :)

(And also I just like things where stuff is randomly-generated or customised by the user as it saves me having to create loads of material myself and end up with a huge file for something you'd view on a browser. :P )

Share this post


Link to post
Share on other sites

I sat a couple of friends down over the last week or so to play my game. The big positive was that they both seemed pretty hooked by it and eager to keep playing. The down side is that they found it relentlessly difficult. :D

In the case of the first guy, I actually had a bug in the game causing enemies to spawn far too quickly, so you'd be under a torrent of fire in the opening level. Last night, the problem seemed to be as much about unfamiliarity with the controls as anything, it opens with a section that requires you to use the left bumper to lock your position and aim without moving. I might have to reconfigure parts of the intro to serve as a tutorial to introduce this stuff.

A perfectly good example though of why playtesting's important. :)

Share this post


Link to post
Share on other sites

I sat a couple of friends down over the last week or so to play my game. The big positive was that they both seemed pretty hooked by it and eager to keep playing. The down side is that they found it relentlessly difficult. :D

In the case of the first guy, I actually had a bug in the game causing enemies to spawn far too quickly, so you'd be under a torrent of fire in the opening level. Last night, the problem seemed to be as much about unfamiliarity with the controls as anything, it opens with a section that requires you to use the left bumper to lock your position and aim without moving. I might have to reconfigure parts of the intro to serve as a tutorial to introduce this stuff.

A perfectly good example though of why playtesting's important. :)

Nice. I really like to see other people play my games and get their views on it. Sometimes they might say stuff you dont like though <_< But generally that just makes you improve it.

I really hate bugs/glitches too. I've spent a week getting the controls working to how i want and i reckon they still need some fine tuning. Most of the other bugs have gone (hopefully not creating new ones in the process!)

Share this post


Link to post
Share on other sites

It's great to have the feedback. I know the game inside out so I have no real idea if it's too easy or hard at any point, though at least I know if I can finish a level, it's definitely possible to do so. And I'll have to get used to bad feedback at some point, because when it's finally out there, there's almost certainly going to be some. Better to get the bits I'm oblivious to sorted when I can still do something about it!

Share this post


Link to post
Share on other sites

Yeah thanks, I did fix that and a couple of other things earlier today but haven't got round to putting the new version up.

I ended up switching to a fixed time step, I think I know how to make the variable time step work but I'd have to change a lot.

Working on a high score table now.

Share this post


Link to post
Share on other sites

I'm having a little bit of trouble with the combo scoring system of my game.

I changed the amount of points awarded because most people only got a couple of thousand points after each game. It didn't leave much and everyone loves a nice high score don't they?

Anyway, i removed the 3x bonus and added two more.

Instead of

0x (1 point)

2x (2 point)

3x (4 point)

4x (8 point)

8x (special) (20 points)

I now have:

0x (1 point)

2x (2 point)

4x (8 point)

8x (16 point)

16x (128 point)

32x (special) (512 point)

The only issue being, that the special is activated by collecting a random item drop in the game. Going by the proper "combo" scores this 32x gives 512 points per collected standard drop collected.

Some games it can appear more often than not - so most people would find to get a good score they really need to get this item (and the more times the better!)

I believe I've worked out the combo scoring system properly but perhaps the 32x should be called something else and only give 256 points?

I'm working on the following formula.

0x =1

2x1 (2 point)

4x2 (8 point)

8x4 (32 point)

16x8 (128 point)

32x16 (special) (512 point)

Each combo is activated by collecting a certain amount of drops.

ie 2x is activated after 4 drops collected

4x is activated after 6 further drops collected

8x is activated after 8 further drops collected

16x is activated after 10 further drops collected.

32x is activated after "special" item collected.

is that correct? Or any other ideas would be appreciated. The game having this random element with the "special" drop - is a good thing right? I mean Tetris is random and thats fine though.

edit: by the way, the special items (be it the 32x combo or the shield last 10 seconds)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Use of this website is subject to our Privacy Policy, Terms of Use, and Guidelines.