binary zoo

Game Development => Guest Dev Blogs => Topic started by: JDog053 on January 29, 2008, 08:43:05 PM



Title: JDog053 DevBlog
Post by: JDog053 on January 29, 2008, 08:43:05 PM
So Basically my "company" is called AngryPuppy. The name was inspired by the two guys in my team, myself and my good pal. We both started out creating comics together (which we still do and will upload on our own site in the future), anyway He was referred to as MadJ, well with me as JDog y'all can work it out =)

Anyway I am currently working on a shmup inspired by the guys down here at Binary Zoo, but in Flash of all things, which can of course be played in the web browser (hint, hint upon completion and checking).

Today I added the motion blurring system on the player, which looks sweet from what I have been seeing of it, which is alot.
I also sorted out my collision system with bullets to enemys and with enemys to player.

Since I want the game to be infinitely long I have been toying with the idea of doing either an Echoes style system with having levels introducing the new enemies or the same enemies in different spawn patterns, or to go for a Geometry Wars/mono system with steadily progressively harder levels without a textual introduction into each level of difficulty.
Also since I don't know my end of game enemy or what the enemy in my game is yet, its still up for debate.
I also can't decide which gun to lumber the player with, since its my first title I won't give the player progressively better guns per level or through bonusses so what they start with, is what they finish with. Either single, double spreadshot, or triple spreadshot ?

Post your thoughts and ideas here people. Also, hope you don't mind Fog.


Title: Re: AngryPuppy DevBlog
Post by: fog on January 30, 2008, 02:05:40 PM
Nice one JDog :)

Today I added the motion blurring system on the player, which looks sweet from what I have been seeing of it, which is alot.
I also sorted out my collision system with bullets to enemys and with enemys to player.
As I mentioned elsewhere, I'll be very interested to see just how fast you can get this running in Flash with a load of bullets and enemies on screen.

Since I want the game to be infinitely long I have been toying with the idea of doing either an Echoes style system with having levels introducing the new enemies or the same enemies in different spawn patterns, or to go for a Geometry Wars/mono system with steadily progressively harder levels without a textual introduction into each level of difficulty.
As long as the level introduction doesn't break the flow of the game I don't think it really matters.  With an Echoes/GW style of game the only important thing is you keep the action coming. :)

I also can't decide which gun to lumber the player with, since its my first title I won't give the player progressively better guns per level or through bonusses so what they start with, is what they finish with. Either single, double spreadshot, or triple spreadshot ?
In theory the amount of damage the gun does is far more important to the gameplay than whether it has single, double or triple bullet streams.  However, having multiple bullet streams makes the player feel more powerful and everyone likes that feeling even if it doesn't do any more damage, so I'd go with that option.  It's the only reason your weapon in Crack has two bullet streams :)


Title: Re: AngryPuppy DevBlog
Post by: TheKhakinator on January 30, 2008, 02:20:05 PM
I also can't decide which gun to lumber the player with, since its my first title I won't give the player progressively better guns per level or through bonusses so what they start with, is what they finish with. Either single, double spreadshot, or triple spreadshot ?
In theory the amount of damage the gun does is far more important to the gameplay than whether it has single, double or triple bullet streams.  However, having multiple bullet streams makes the player feel more powerful and everyone likes that feeling even if it doesn't do any more damage, so I'd go with that option.  It's the only reason your weapon in Crack has two bullet streams :)
This is why my two favourite weapons in mono are the triple-straight-stream and that 8-stream-sweeper thing I like to call "The Sweeper of Death".  :D


Title: Re: AngryPuppy DevBlog
Post by: T_M_C on January 30, 2008, 03:55:03 PM
Yeh, as a player, i like to be able to upgrade my weapons. If not power wise, at least graphicaly.  Gives a good sense of progress when you do and gives you someting to aim for, so to speak.

TMC


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on January 31, 2008, 11:20:11 AM
Just thought I would update some more

Motion blurring, since I am a perfectionist I have been tampering with the blurring system and the original system from before has had an overhaul making for a much better looking effect and more typical of what can be seen on Binary Zoo games. So I will now never touch motion blurring again in this little demo game.

I have decided on double spreadshot guns, because aswell as making the player feel more powerful, it also looks pretty cool.

I also decided that I should make the screen size a bit larger because with more bullets on screen becoms much more of a necessity for a larger play area, so the 550x300 has been scrapped in favour of the far superior 550x400 (since its meant to be played in a browser I wouldn't want it to be massive, just suitable for most size screens.

I will be sending my current progress to you Fog in an email most probs straight after I finish typing this update, tell me what you think as always.

The only thinkg that I am in dyer need of at the moment is an enemy idea, or ideas. I am probably going to have just the one enemy in this game, but the enemy will of course get progressively harder. I have been thinking about a simple enemy which spawns randomly on screen with a spawning animation then moves around at a random speed bouncing off the walls, and the variable is the time between spawns, then maybe they eventually start shooting the player at random intervals. Just an idea, tell me what you think =)

Also writing a DevBlog is fun !


Title: Re: AngryPuppy DevBlog
Post by: fog on January 31, 2008, 10:07:20 PM
I have decided on double spreadshot guns, because aswell as making the player feel more powerful, it also looks pretty cool.
That's a good enough reason for me :)

The only thinkg that I am in dyer need of at the moment is an enemy idea, or ideas. I am probably going to have just the one enemy in this game, but the enemy will of course get progressively harder. I have been thinking about a simple enemy which spawns randomly on screen with a spawning animation then moves around at a random speed bouncing off the walls, and the variable is the time between spawns, then maybe they eventually start shooting the player at random intervals. Just an idea, tell me what you think =)
The bouncing enemy "spawner" is a neat idea. Rather than just have the time between spawns decrease though I'd be tempted to introduce extra "spawners".  I only say this because with a single spawning location the player always knows where the next enemy will appear and can quite easily follow it around, immediately killing any new enemies spawned.  Even just the introduction of a second "spawner" solves that problem.

Anyway that's just my opinion and without playing it, it's just a theory.  I'm sure during testing you'll see what works best.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 01, 2008, 09:39:13 AM
The X and Y variables are a given Fog, the enemies would spawn randomly anywhere on screen, but I would be duplicating the enemy. So say after every 50 Frames a new enemy will duplicate, and this variable would change over the levels. So the enemy that I'm thinkin' about doing would spawn randomly on screen then move around in a  randomly decided direction then proceed to bounce off the walls depending on the initial vector. Enemies would continue to spawn constanty, so there is a constant threat. Although initially there would be a 5 second delay on the first level to allow for players to prepare for the onslaught of enemies, then say fr level 1 they would spawn with 150 frames gap meaning that for every enemy that spawns a person has time to react, level 2 would be 100 so that players would have to react that bit quicker, level 3 would be set to 50 meaning that they will be constantly moving just to stay alive and most probably the final level of difficulty.

If I do do a level system I haven't decided what sould initiate the level transition, whether it should be a random time interval or a random score bracket ?

I have decided to keep this game decidedly mono (pun intended, I couldn't help myself). So I'm most probably gonna stick with Black and White and have gradients when it comes to explosions between the 2 colours.

Oh yeah, Fog, did you have a look/glance at the most recent build, without enemies still for obvious reasons. Was wondering if the blurring looks similar to the stuff your producing and if the shots for the characters gun is suitable ?

Next thing I hope to introduce is the enemy spawning system, combine that with my collision system to allow the player to shoot and destroy enemies, player will remain invincible while I'm tweaking the shooting stuff. I'm also gonna code and test the level transition system to see which of my two ideas work, even typing this now I think i'll be going for a random time interval because I realised that it means people who don't shoot and kill enemies will still be flushed through the levels. I'm also really tempted to enlarge the screen by a further 100 pixels on the Y axis just to give more room for the player to move around, this also allows more room for enemies to spawn.

I'll keep you all updated. =)


Title: Re: AngryPuppy DevBlog
Post by: fog on February 01, 2008, 12:46:24 PM
....then say fr level 1 they would spawn with 150 frames gap meaning that for every enemy that spawns a person has time to react, level 2 would be 100 so that players would have to react that bit quicker, level 3 would be set to 50 meaning that they will be constantly moving just to stay alive and most probably the final level of difficulty.
I hope you meant a time interval there and not actual frames otherwise the game will play differently depending on your FSP :)

Absolutely everything needs to be timer related in my experience.

Oh yeah, Fog, did you have a look/glance at the most recent build, without enemies still for obvious reasons. Was wondering if the blurring looks similar to the stuff your producing and if the shots for the characters gun is suitable ?
Not yet but I will :)  I handle all my Binary Zoo related email on another PC and only check it every few days due to the length of time it takes to deal with it all.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 01, 2008, 12:59:50 PM
....then say for level 1 they would spawn with 150 frames gap meaning that for every enemy that spawns a person has time to react, level 2 would be 100 so that players would have to react that bit quicker, level 3 would be set to 50 meaning that they will be constantly moving just to stay alive and most probably the final level of difficulty.
I hope you meant a time interval there and not actual frames otherwise the game will play differently depending on your FSP :)

Absolutely everything needs to be timer related in my experience.


I did mean it was time intervals, its all relative to what I do in flash, I have to set my own variable, its the same as a second, but it gets incremented wierdly, I will sort some stuff out and run a test routine soon, most probs a clock of some sort and I'll compare the rate it runs with the actual time. If it runs great then thats a good thing, if not then I'll do it by score, but I can most probably do it with a score bracket, randomly assigned at the beginning of the program at runtime.

I have been thinking of an effect I wouldn't mind doing perhaps during level transitions or just throughout the course of the game, basically the player starts off in Black and the background in white, same with the enemies, then It fades through to White for the player and black for the background with everything adjusting at the same time. I would have to do it quickly but not too quickly to give the desired effect, but if I did do that bit of graphical wizardry (yeah, in comparison to BZoo its tame) I would have to disallow the idea of a level system. I'll test both out anyway.

Well I will continue to post as stuff happens. My quest is to get this little pup(py) out of the doors by the end of February. Maybe then I will have designed a far superior game to this simple test that I am doing at the moment.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 07, 2008, 08:46:05 PM
Time for a new update !!! Huzzah !

Basically, what was asked of me before was to add diagonal shooting options, I have spent the last few days tinkering with my code to make this a possibility. It was touch because my and command business that I thought would work didn't then I found out the th and comman was depreciated so I had to use the "&&" symbols instead, on replacing this I thought it'd work, sadly it didn't. Luckily however on this day I realise that if I sandwich one input code within another the condition only comes true if both of the pre-requisites are met, so Yay me. Diagnol shooting to the original 4 way shooting creates an 8-way shooting system, so i'm pretty happy.

On the enemy front, I can finally return to the enemy I had in my mind initially. Basically a large spawner will come in from one of the sides (randomly determined side, Thanks Fog) then follow the player. As well as this the large spawner is also spewing out many more smaller enemies in an explosive pattern, so the player needs to keep on his/her feet at the moment.

I havebeen tampering with player Health, Large and small enemy health and have a system sorted from when I desire to drop it in there. This along with the scoring system. I have decided though that I will not go for a bonus run system because for a small survival based game a bonus run wouldn't be practical or a great use of programming space.  I am just hoping to set it up initially to be playable, and if I'm lucky Fog that'll be in the next build you get.

I am ATM working on the menu system, which I have decided to showcase the enemy in the background, but have it move towards a fixed point. It looks pretty cool. I a malso having ideas for what I should call this game anyway. I can rule out "mono" although the game is black and white, some better game dev got there first. I am tempted to go with either "mania" or "chaos" because if I choose mania I can have the smaller enemy + motion blur trail dotting the "i" which will look cool. Chaos is obviously suiting the game but in a way so is mania, I may think of a name nearer the end of development.

I am undecided about whether this game should have a leaderboard ? for say the top 5 scores ? Since its a browser based game it won't be permanent so I haven't decided whether I should bothe. I will however be showing the players highest score of the session and their current score for definate as without it what would be the point.

ATM its shaping up to be a nice little test project. If I'm lucky Fog the next build should be arriving this Saturday + Email alongside.

Any concerns from anyone do write them here...Until next time...


Title: Re: AngryPuppy DevBlog
Post by: T_M_C on February 07, 2008, 10:10:32 PM
I like your choice of game names  mania" or "chaos.

Not sure which i prefer.  Both sound great.

TMC


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 10, 2008, 03:51:57 PM
Still undecided about names tbh, if anyone has any idea of similar sounding names to binary zoo titles i.e catchy single word titles that explain the game in a word, I would be greatful.

I have finally settled on my screen size, I don't know why it took so long but 640x480 is the default screensize now so thats cool. I have for this week been playing with optimisations, I have optimised my Blur effect code making it more suitable for the task aswel as making the blur effect 100x better in my opinion. I now have my blur effect on the player, and on the large enemy, of which there is only ever 1 at a time, the smaller enemy is gonna be a bit trickier, but thats some fun for later.

I'm currently working on assigning a random number to a variable, for some reason flash doesn't like it but I'm sure that with the internet as my guide I can work around it. Thats all in due course, because as soon as that is completed then I can progress further.

At the moment I am just toying with the health of the larger enemy, I want it to be a bullet sponge so the player has to against a fair few of the smaler enemy in the first place just to even attempt to kill the larger enemy. I am also really tempted to introduce a multplier system based on kills in the same way Geometry wars does it, just to spice the game up. I am also giving the player a life with health as opposed to one hit kil, the reason being I can't replicate the action replay code so if people died in one hit they would be pretty pissed.

My minimalist menu has now also just left the design phase and I plan to complete the task of adding it to the game soon. Fog you wll get something soon though, sory for the delay.


Title: Re: AngryPuppy DevBlog
Post by: fog on February 10, 2008, 09:44:24 PM
Still undecided about names tbh, if anyone has any idea of similar sounding names to binary zoo titles i.e catchy single word titles that explain the game in a word, I would be greatful.
Heh, I spend ages trying to think up names for games and then normally just give up.  Meaning most games just keep whatever name they had in the demo version....which in turn was normally the first thing that popped into my head at the time.  :P


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 13, 2008, 06:08:13 PM
Hey Fog, just thought I would say that I sent you an email regarding the large enemy, it contains 3 builds ad requires you to do some testing as well.

Up next for me though, adding the motion blur to the smaller enemy, all however many there are onscreen at once, particle effects system needs to be dropped in then some tinkering, proper scoring system, some text effects, games style needs to be decided upon and altered, some sound fx and music.

Oh well, I may aswell ask, Would any member of the FKD reality team be willing to help me ?   by creating a small 1 minute looping track in a .wav and .mp3 format for me to add to my game "Mania", anything like what you have done in previous Binary Zoo games would be pretty cool. And a 30 second looping track for the menu if possible. Credit will be assigned where its due.

Until next time...


Title: Re: AngryPuppy DevBlog
Post by: fog on February 13, 2008, 10:00:20 PM
Hey Fog, just thought I would say that I sent you an email regarding the large enemy, it contains 3 builds ad requires you to do some testing as well.
Might take a few days.  Hospital tomorrow and it might take me a day or two after that to get back into the groove and check my email machine.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 13, 2008, 10:10:53 PM
Hey Fog, just thought I would say that I sent you an email regarding the large enemy, it contains 3 builds ad requires you to do some testing as well.
Might take a few days.  Hospital tomorrow and it might take me a day or two after that to get back into the groove and check my email machine.

Get well soon Fog =( You will get better ! I do just hope its a checkup of some kind.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 15, 2008, 01:02:59 PM
Time for a hefty update.

Basically, I have been toying around with how I can make the game get steadily harder, so luckily I have stumbled across the idea of, hey lets make the Large Enemy become more agressive towards the player after each time it is destroyed, so that code has been implemented and tested, I just need to work out at what speed I should cap the large enemy at and what its starting speed should be, expect some more builds soon Fog.

I was also toying around with the scoring aswell. I was thinking, if a player got one value for a small enemy all of the time, it would be seen as a slug-fest to get the high scores, so what I implemented today was amultiplier system, the more times you kill the larger enemy the more your multiplier increases meaning, the longer you stay alive the more points you can recieve, since the larger enemy is constantly harassing the player, they cannot camp and recieve massive scores, so whatever anyone scores they will be worthy.

regarding motion blur for smaller enemy of which there are many on screen, I do require help as to map the motion blur effect over all of them onscreen, I also want it translate for if I change my enemy variable the motion blur becomes available on the added enemies, since I am still adding and removing smaller enemies at all times just to work out whats best, although I have a feeling that the amount of enemies the large enemy spews out will be based entirely on how fast the large enemy is moving, so the harder it gets the more you're forced to shoot the larger enemy, well luckily the larger enemy will give you points for destroying it, but I don't know whether it should be affected by the overall multiplier, it probably should, also points for hitting the larger enemy aswell in a Crack asteroid style.

Which brings me to style of the game, I dont know whether It should stck to simple geometry which for the moment is serving me quite well, or gun for a more stertypical Binary Zoo style of Asteroids, either way when I am finished coding I will do two versions, one with geometry and one with asteroids and put the decision up to you the community.

Menu is also on the builds still, I do plan to make most of the options calibratable, like the player reaction time, sound off and on (to make the file smaller I may not allow for sound to be turned up or down) perhaps difficulty, but I would rather the game had no difficulty barriers and was just everyone plays at the same level. I most probably will not have a leaderboard since it can't be permanent.

I finally settled on the name Mania, I doubt it should change but if anyone really dislike it then do say.

What is funny however is that over time less and less people are reading this little blog of mine.

Until next time...Sme Bat-time...same Bat-channel.


Title: Re: AngryPuppy DevBlog
Post by: T_M_C on February 15, 2008, 08:32:39 PM
Well, i'm still reading it, and enoy it too.   :)

As a fellow developer i can sympathise with all the points you raise.

Those of us who do code games suffer from similar issues, so you're not alone.

TMC


Title: Re: AngryPuppy DevBlog
Post by: fog on February 15, 2008, 11:32:43 PM
Yep we've all been there :)  So in anticipation can I just say welcome to the world of menu coding....the most tedius job in the world.  :bunnymonkey:


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 15, 2008, 11:59:37 PM
Yep we've all been there :)  So in anticipation can I just say welcome to the world of menu coding....the most tedius job in the world.  :bunnymonkey:
Not in Flash Fog, I simply draw my button template, copy and paste it for as many buttons as I want, place them where I want onscreen. Convert them to a "Button" object, add the code, snce flash is made up of a series of windows so the code is.
Code:
onRelease(){
gotoAndPlay(2);
}
Thats if you would like to go to the second screen that is. Other options become more tedious and harder to do, so maybe your right. I can even double click on the button when its been converted and add animations for it, when the mouse hovers over it, and when the mouse clicks it using the "Button" templates. Thats about as easy as Flash gets though. Everything else is real programming =D.

I have decided that once I get the menu and options system coded, I am going to optimise the entire system. Luckily I found loads of ActionsScript optimising help, so I know what to change and what to improve. Then once thats all done, I can decide on small enemy behaviour because for the moment I am not happy with it, I may even scrap the small enemy and just have the larger enemy shoot at the player, but I don't know.

Currently though the game has been stripped and I'm just checking all of the necessary things, I want it to move at a comfortable 48 fps with up to 50 things onscreen at once, since I know its possible. I'll keep you all informed anyway, its fun since its rounding off the bare bones of the game...I just know its polish to come. Fog it should be in full system testing phase soon, obviously myself and MadJ test at the moment but another head would be good. My only fear is the I will be a master at whatever I build because I have played it a fair bit.

Almost forgot, I need to have it so the player can die, that never even crossed my mind until just this moment, have to code that before I can think about stuff really.

I'll keep y'all posted... 


Title: Re: AngryPuppy DevBlog
Post by: T_M_C on February 16, 2008, 08:35:23 AM
If you need another playtester, i'd be more than willing. :)

TMC


Title: Re: AngryPuppy DevBlog
Post by: fog on February 16, 2008, 12:11:44 PM
Yep we've all been there :)  So in anticipation can I just say welcome to the world of menu coding....the most tedius job in the world.  :bunnymonkey:
Not in Flash Fog, I simply draw my button template, copy and paste it for as many buttons as I want, place them where I want onscreen. Convert them to a "Button" object, add the code, snce flash is made up of a series of windows so the code is.
Code:
onRelease(){
gotoAndPlay(2);
}
Thats if you would like to go to the second screen that is. Other options become more tedious and harder to do, so maybe your right. I can even double click on the button when its been converted and add animations for it, when the mouse hovers over it, and when the mouse clicks it using the "Button" templates. Thats about as easy as Flash gets though. Everything else is real programming =D.
Yeah it's not so much the coding of the menu buttons and stuff that's tedius, it's making all those buttons have an effect.  Highscore tables, joypad configuration, audio and graphic options etc....all boring when you'd much rather be working on the gameplay.  You might not need all those for this project but you'll find out what I mean soon enough  :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 16, 2008, 12:22:03 PM
If you need another playtester, i'd be more than willing. :)

TMC

Sure thing, I do presume there is a link to your email ? If there is then I'll patch you through builds. Most probably al of the same things that Fog has seen. Just to note any builds with Motion Blur are far in the past - In fact I just got an idea, I'll send you "ShmupTest5" which is ok, it means that you can see the large enemy in action, have something to shoot, also see how I "Copied" (replecated) Fogs ship from famous Binary Zoo games, infact more feedback would be useful. =). I'm happy again.

As a quick update, I decided that I need to spice the game up, so for the moment I am taking out the smaller enemy and having the large enemy shoot the player at intervals. I'm gonna create a spicier alternative to the large enemy spewing out smaller enemies. Once I think of it or them then i'll start to implement some stuff.

Still haven't coded since last night, but will have to do some optimising because I want a few more enemies on screen before I think about polishing.

Until next time...


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 16, 2008, 08:38:18 PM
Sorry to double post.

Anyway, I made the game play different, so now its just a smaller enemy, the smaller enemy acts like the small asteroid in Echoes, and infact has what I think is a really similar method of spawning, along with random movement speeds, so it bombards from all sides and bounces off the screen wall. The game is super simple, but I think it may be too simple. The game will perhaps have a level system. I am toying with the level increasing after a random time, which I think I will probably do or have it increase depending on a random player score. If I do it with the timer then I can have that delay section at the beggining that I so crave because in Crack it looks super cool. yeah, once the enemies are introduced they have a fixed number, then the variable number is simply just increased depending on the level, so level 1 may begin with 3 enemies which would allow the player to warm up, when level 3 may have 10 enemies, and so on incrementing depending on whether or not I would like more enemies on screen, or I could do it without informing the player and have the screen become more packed.

From what I can tell its pretty fun, but I don't yet know if its, "just 1 more game" fun, because if i'm right then the simple things amuse.

Also thanks for your feedback TMC, I do believe that because of your feedback I will have to take FPS into serious account, and my quest is to have you running at a smooth 48 FPS as opposed to your appauling 21, which shouldn't of happenned.

Until next time...


Title: Re: AngryPuppy DevBlog
Post by: fog on February 16, 2008, 10:39:10 PM
Also thanks for your feedback TMC, I do believe that because of your feedback I will have to take FPS into serious account, and my quest is to have you running at a smooth 48 FPS as opposed to your appauling 21, which shouldn't of happenned.
Ah so the FPS is an issue after all.  I said I thought it might be.  Hope you can fix that.

Most Flash games tend to run in much smaller windows than you are trying so maybe that's something worth considering?


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 17, 2008, 11:19:11 AM
Also thanks for your feedback TMC, I do believe that because of your feedback I will have to take FPS into serious account, and my quest is to have you running at a smooth 48 FPS as opposed to your appauling 21, which shouldn't of happenned.
Ah so the FPS is an issue after all.  I said I thought it might be.  Hope you can fix that.

Most Flash games tend to run in much smaller windows than you are trying so maybe that's something worth considering?
I'll consider it, but too small and you have no game, I did manage to boost another 10 FPS out of his system yesterday, pre-optimization so once itsall optimized I should hopefully find another 10, ore 20.

Thanks TMC for all your feedback, its definately making me work that little bit faster.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 18, 2008, 10:11:55 AM
Just posting to say that I am going to take a break with, "Mania" for the moment and do some simple demos or even try my hand at puzzle games, or make a few tech demos. I'm only taking this break now because I don't want to get sick of "Mania" just yet.

So my devblog now will be talking about side projects.

 I have also been researching Flash game sponsorship, to see how much money a singular flash game can sell. So, starting on my Birthday, this saturday, I am going to quest to build a game a month over 2 months, one will be set up with the Mochi-ads system, the other will be in an attempt to earn big bucks through a game sponsorship.

Sponsorships range from about $75 - $5000 which is encouraging. The Mochi-ads system pays about a cent per showing of the advert, which is great, Thank you NewGrounds !!!

I guess now, that I have to think of what these small games will be...


Title: Re: AngryPuppy DevBlog
Post by: fog on February 18, 2008, 11:55:53 AM
Just posting to say that I am going to take a break with, "Mania" for the moment and do some simple demos or even try my hand at puzzle games, or make a few tech demos. I'm only taking this break now because I don't want to get sick of "Mania" just yet.

So my devblog now will be talking about side projects.

 I have also been researching Flash game sponsorship, to see how much money a singular flash game can sell. So, starting on my Birthday, this saturday, I am going to quest to build a game a month over 2 months, one will be set up with the Mochi-ads system, the other will be in an attempt to earn big bucks through a game sponsorship.

Sponsorships range from about $75 - $5000 which is encouraging. The Mochi-ads system pays about a cent per showing of the advert, which is great, Thank you NewGrounds !!!

I guess now, that I have to think of what these small games will be...
I know puzzle games are really your thing so it will be interesting to see what you come up with.  I know from that other thread that you have plenty of ideas.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 18, 2008, 04:22:18 PM
Don't expect it to be the most amazing puzzle game evr madethough, I'm probably just going to make one to the style I enjoy. This is just going to be an experiment though, to see what each of the systems does to my advantage. There is one thing I would love to try though, is a dance music rhythm game to the style of BBR but use WASD/Arrow keys at the same time, where WASD is that background and The arrow keys are the melody and the tune. I'll still test it out though just to see if it'll be feasable, doing it in time to music wil be tricky, and checking if there is or isn't a collision will also be tricky.

They are though just going to be super simple. I just want to merely see if the Flash game market can give a profit of value equivalent or greater than the effort I put into it.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 19, 2008, 05:56:45 PM
Well that was a short break, but I just couldn't tear myself away from it, which is sad, I know. I have been thinking of ways I could speed my game up, make it a better system and the like. So I am thinking, that if for the moment I simply remove the code for the Arrow key support (unless any of you guys use it?) just because its a massive block of code, so I am going to temporarily remove the code for Arrow keys.

My menu has its style which I enjoy. Its familiar yet unique.

There is something annoying with a variable that I need to get sorted out, its so I can add enemies in large blocks after a time interval, and keep adding to them. Because the game has just one enemy type, but many of them onscreen. I remembered what I liked from your games, the power of the player, and the wealth of enemies on screen to shoot. So thats all this game is, from what I can tell it will run at optimum speed on most computers.

Also have a nice Asteroid shape that I won't mind using in the final game.

I did though yesterday write a simple game demo, I just don't know if theres a game there :(. If there is I could perhas develop it further during the experiment time.

I guess the reason I did return to the project so soon, was because I am having fun getting and then solving problems and seeing the game progressing. I also tested some of my code at school today and a teacher told me to stop playing the game, so I was pleased because if it looked to them like a game, then thats a start. I also am continuing because the thought of money at the end could be seen as a nice reward. If I keep taking on everything you guys are saying then this has the chance to be a beautiful game. Also provided I can get all of my effects in place by the end of it, but for the moment, I am just going to try and get the bare-bones game running at 48 Fps on everyones PCs. Expect a refreshed build in the near future.

Until next time...


Title: Re: AngryPuppy DevBlog
Post by: T_M_C on February 19, 2008, 07:41:37 PM
Quote
Well that was a short break, but I just couldn't tear myself away from it, which is sad, I know. I have been thinking of ways I could speed my game up, make it a better system and the like. So I am thinking, that if for the moment I simply remove the code for the Arrow key support (unless any of you guys use it?) just because its a massive block of code, so I am going to temporarily remove the code for Arrow keys.

I'm wondering if you're polling the arrow keys each time you need to know they're key state.  Ie, a keyboard system check.  Which is causing some slow down.

When all you need to do, is the poll the cursor keys once per game loop, at the start of your code, and store the values in some variables.  Then you check those variables, instead of an actual keyboard system check. 

But i dont know how your reading keys or how flash does it, but i don't see why it should be a large chunk of code.

TMC


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 19, 2008, 07:47:24 PM
Quote
Well that was a short break, but I just couldn't tear myself away from it, which is sad, I know. I have been thinking of ways I could speed my game up, make it a better system and the like. So I am thinking, that if for the moment I simply remove the code for the Arrow key support (unless any of you guys use it?) just because its a massive block of code, so I am going to temporarily remove the code for Arrow keys.

I'm wondering if you're polling the arrow keys each time you need to know they're key state.  Ie, a keyboard system check.  Which is causing some slow down.

When all you need to do, is the poll the cursor keys once per game loop, at the start of your code, and store the values in some variables.  Then you check those variables, instead of an actual keyboard system check. 

But i dont know how your reading keys or how flash does it, but i don't see why it should be a large chunk of code.

TMC


Yeah its a large chunk of code, I'll just show you it, by printing it beneath.
Code:
//Key class code - Must preceed Arrow Key/WASD code
KeyPress = Key.isDown;
KeyLeft = Key.LEFT;
KeyRight = Key.RIGHT;
KeyUp = Key.UP;
KeyDown = Key.DOWN;

onEnterFrame(){
//Arrow Key Support - Library
if (KeyPress(KeyLeft)) {this._rotation = -90;}
else if (KeyPress(KeyRight)) {this._rotation = 90;}
else if (KeyPress(KeyUp)) {this._rotation = 0;}
else if (KeyPress(KeyDown)) {this._rotation = 180;}
if (KeyPress(KeyUp)){
if (KeyPress(KeyLeft)){this._rotation = -45;}
    }
if (KeyPress(KeyUp)){
        if (KeyPress(KeyRight)){this._rotation = 45;}
    }
if (KeyPress(KeyDown)){
        if (KeyPress(KeyLeft)){this._rotation = 180+45;}
    }
if (KeyPress(KeyDown)){
        if (KeyPress(KeyRight)){this._rotation = 180-45;}
    }
}

Its quite a big chunk, and obviously the same goes for the WASD, I even optimised it aswell, because apparently going into the keyclass everytime I pressed a key was wasting valuable processing time, so I called variables and just do it that way.


Title: Re: AngryPuppy DevBlog
Post by: fog on February 19, 2008, 08:24:30 PM
That's not a big chunk :)  My input code is just short of 400 lines  :bunnymonkey:

Anyhoo you may want to nest your diagonal checks inside the other IF statements as it's not necessary to check for -45 and +45 degree angles if UP isn't pressed.

EG (pseudo code):
Code:
IF UpKey = Pressed
   Rotation = 0
   IF Leftkey = Pressed
      Rotation= -45
   ELSIF Rightkey = Pressed
      Rotation = 45
   ENDIF
ELSEIF
etc....

TBH that's not what I do but it fits in with your method nicely.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 19, 2008, 10:15:42 PM
That's not a big chunk :)  My input code is just short of 400 lines  :bunnymonkey:

Anyhoo you may want to nest your diagonal checks inside the other IF statements as it's not necessary to check for -45 and +45 degree angles if UP isn't pressed.

EG (pseudo code):
Code:
IF UpKey = Pressed
   Rotation = 0
   IF Leftkey = Pressed
      Rotation= -45
   ELSIF Rightkey = Pressed
      Rotation = 45
   ENDIF
ELSEIF
etc....

TBH that's not what I do but it fits in with your method nicely.

Luckily DBpro can handle multiple lines of well over 400, just for input code. So what you're saying is, with my code, just underneath where I call Upkey in the diagonal nesting code, it should put the rotation, instead of having the individual stuff seperated ? If thats so then that removes unnecesary lines of code, but if its not then I'm doomed. Thanks Fog, i'll certainly look into it, looks like I could save a lot of time (ironic since i'm going back over it).

I have also found out too that I should do my entire game, bar the pre-loader in one frame, when I get it done properly. I am just for the moment gonna get it done. But when I do the main menu with variable options, the only way it'll work is with it all on one screen. on the next screen I can have my end game, which at the moment looks pretty sweet, custom cursor and the like.

I have still been researching your motion blur method for flash, I do hope its possible, its just that no-one on the webs has had to do it for everythng, so I'll just ask on a distinct flash forum(which feels cheap, but its necessary).

I also love how after all examples you put, its not what I do...Shows just how awesome you are !!!


Title: Re: AngryPuppy DevBlog
Post by: fog on February 20, 2008, 12:32:02 AM
Thanks Fog, i'll certainly look into it, looks like I could save a lot of time (ironic since i'm going back over it).
Nah it wont save much time at all but you should always nest you IF statements inside each other wherever possible.  Likewise try and avoid using AND in any IF statements.

These little things don't seem like much but say I have 1000 FX particles on screen, not nesting an IF where possible in their update loop could mean several thousand extra lines per cycle.  Do that regularly in a decent sized program and before you know it you've got 10's of thousands of unnecessary lines being processed.

I also love how after all examples you put, its not what I do...Shows just how awesome you are !!!
lol.  Hardly.  It just means I don't know any Flash so couldn't show you how it should be done ;)


Incidentally I see you're calculating angles based on keypresses?  How are you turning those angles into x/y movement quantities for your bullets?


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 20, 2008, 10:51:56 AM
The bullet rotation = ship rotation in angles, so I don't have to repeat the code again. in flash terms its...

Code:
_root.shot1._rotation = _root.playerShip._rotation;

And thats it. But I was wondering though, when you create your bullets for shooting, say you have 1 bullet following a path, do you then create another 2 bullets and make them follow a similar path, or can you code a full bullet system for many different bullet paths by just loading the 1 bullet type ?

Because, as TMC knows I have to create 3 initial bullets if I want to have 3 bullet motion paths, i\ was just wondering if there is an easier way.


Title: Re: AngryPuppy DevBlog
Post by: fog on February 20, 2008, 02:12:45 PM
The bullet rotation = ship rotation in angles, so I don't have to repeat the code again. in flash terms its...

Code:
_root.shot1._rotation = _root.playerShip._rotation;

And thats it. But I was wondering though, when you create your bullets for shooting, say you have 1 bullet following a path, do you then create another 2 bullets and make them follow a similar path, or can you code a full bullet system for many different bullet paths by just loading the 1 bullet type ?

Because, as TMC knows I have to create 3 initial bullets if I want to have 3 bullet motion paths, i\ was just wondering if there is an easier way.
No I have loads of seperate bullets too.

With regards to bullet rotation what I meant was how do you turn that angle into movement?  You know the heading of each bullet but how is that turned into an x and y co-ord change each frame?  DOes Flash handle all that for you or do you need to do a bit of trig?


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 20, 2008, 02:31:47 PM
Yeah, I have to do trigonometry I created a set of variables, assigned values and formula to these variables, infact I'll post the code later, when I'm programming so you can have a scant through it.


Title: Re: AngryPuppy DevBlog
Post by: fog on February 20, 2008, 02:49:06 PM
Yeah, I have to do trigonometry I created a set of variables, assigned values and formula to these variables, infact I'll post the code later, when I'm programming so you can have a scant through it.
Will do.  You just have to be careful that you aren't doing too much unnecessary trig and things like SQRT are an unbelievably huge drain.  Avoid wherever possible.



Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 20, 2008, 08:23:50 PM
Yeah, I have to do trigonometry I created a set of variables, assigned values and formula to these variables, infact I'll post the code later, when I'm programming so you can have a scant through it.
Will do.  You just have to be careful that you aren't doing too much unnecessary trig and things like SQRT are an unbelievably huge drain.  Avoid wherever possible.

So as I said I would, here's the code I'm using for calculating the angle, If this can be simplified I would be super happy, but for the moment this is as simple as i've gotten it.

Code:
[onClipEvent (load) {
if (String(_name) != "shot1") {
cannonLength = 30;
turretpoint = _parent.flower._rotation;
angle = (turretpoint/360)*2*Math.PI+0.1;
xcomponent = cannonLength*Math.sin(angle);
ycomponent = -cannonLength*Math.cos(angle);
_x = xcomponent+_parent.flower._x;
_y = ycomponent+_parent.flower._y;
xmove = (xcomponent/cannonLength)*10;
ymove = (ycomponent/cannonLength)*10;
this._rotation=turretpoint;
}
}
onClipEvent (enterFrame) {
if (String(_name) != "shot1") {
_x += xmove;
_y += ymove;
}
if(this._x > 640){this.removeMovieClip()}
    if(this._x < 0){this.removeMovieClip()}
    if(this._y > 480){this.removeMovieClip()}
    if(this._y < 0){this.removeMovieClip()}
}
}/code]

tell me what you think, if you can help somehow, please do.

Afterall this, I do have to admit that although flash can handle the 2D it can't support as many objects on screen as other languages, like i'd be lucky to get 50 suitably sized active moving objects on screen at once. One thing that is keeping me going on this project is that once its done, it'll be the perfect thing for me to dip into and use fr later projects. Like i'll never have to code the player ship again, and the input code (thanks Fog, worked perfectly that way;)) and hopefully more once this games done. I do however have a trick up mysleeve that I may have to do in the sequal or later...but I don't know. Atleast i'm not sick of it and probably won't be.

I am definately gonna try and do a puzzle game though next, or use all the stuff I created in this game and put it towards another game of a similar nature I may develop two of my much earler demos into proper games...I dunno. I am most certainly gonna try and get "Mania" sponsored once its completed though becase looking at other games that have been sponsored its looking likely that if I can do everything I plan to do with this project I could get a tidy reward.

Until next time...


Title: Re: AngryPuppy DevBlog
Post by: fog on February 20, 2008, 10:17:53 PM
Well remembering that I don't know any Flash a few comments :)

Is it necessary to refer to things by names?  Strings are slow to process in comparison with straight variables.
ie.
IF object$="shot1"
is much slower than..
IF object=1


Also in your onClipEvent() function/method can you not exit if one of your IF statements is true?  I mean if(this._x > 640){this.removeMovieClip()} is true then you don't need to run the other checks (Flash may already do this...not sure).  It's a very minor thing but every little helps :)


And finally it looks like you are doing some quite complicated calculations every time you create a new bullet.  You only have 8 different angles of rotation so why not precalculate these?

Does Flash have a CASE or equivalent command?
eg (pseudo code):
Code:
SELECT rotation
   CASE 0 : xmove=0 : ymove=-10 : ENDCASE
   CASE 45 : xmove=7.07 : ymove=-7.07 : ENDCASE
   CASE 90 : xmove=10 : ymove=0 : ENDCASE

etc..

If there is no CASE or equivalent then just use IF's
Code:
IF rotation=0
   xmove=0
   ymove=-10
ELSEIF rotation=45
   xmove=7.07
   ymove=-7.07

etc...


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 22, 2008, 07:50:23 PM
Hey Fog, I'll certainly make those improvements, because luckily I am restricted to 8 directions. It shouldn't be too dfficult, we also do have a case equivalent.

I do presume you know, that flash is OOP (Its the stuff, if i'm lucky that you'll have to suffer when coding Echoes HD !).

This week, I have just been slaving away writing a framework, that I can emplore for other projects. Should be very handy. I did find out that I am going to do a game for the interwebz properly it has to be all on screen, without using the scene system, which I have finally implemented, so I'm pretty happy. The core game mechanic is fine. the player starts off with a few asteroids after a time delay, as the time increases until it arrives at pre-determined points the enemy number will increase until its capped at 20-25 enemies on screen, where the tmer is stopped.

Also I was apparently dealing with all of my created entities incorrectly, I am meant to create them go to the library link the library info to the entity, then delete the entity. Then I have to call the entity into the loop where necessary. Its a long way of doing things, but it runs a heck of a lot faster.

I am still tempted to go ahead with some super small projects, that I am going to see through the development of fully to a polished state in a relatively short development time. I just have to come with some ideas.

More stuff to come...


Title: Re: AngryPuppy DevBlog
Post by: fog on February 23, 2008, 11:59:47 AM
I am still tempted to go ahead with some super small projects, that I am going to see through the development of fully to a polished state in a relatively short development time. I just have to come with some ideas.
If you're relatively new to devlopment then that's a great way to start.  Too often people dive into a project and then lose interest when they realise things take longer and are maybe a bit trickier than they thought.  Starting on something small will let you see results much quicker and help maintain your interest.  The biggest motivator I've ever had was finishing that first game (DUO in my case) and getting some feedback.  There's no feeling quite like that.

The other advantage of starting on something small is that, providing you're working in the right way, you'll gradually be building up a library of reusable functions/methods/classes that will make development on the larger projects both easier and faster.  For example I'm still using exactly the same particle fx and bullet code as I wrote for DUO.  I've never had to write a single line since then. :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 24, 2008, 10:57:06 AM
I am still tempted to go ahead with some super small projects, that I am going to see through the development of fully to a polished state in a relatively short development time. I just have to come with some ideas.
If you're relatively new to devlopment then that's a great way to start.  Too often people dive into a project and then lose interest when they realise things take longer and are maybe a bit trickier than they thought.  Starting on something small will let you see results much quicker and help maintain your interest.  The biggest motivator I've ever had was finishing that first game (DUO in my case) and getting some feedback.  There's no feeling quite like that.

The other advantage of starting on something small is that, providing you're working in the right way, you'll gradually be building up a library of reusable functions/methods/classes that will make development on the larger projects both easier and faster.  For example I'm still using exactly the same particle fx and bullet code as I wrote for DUO.  I've never had to write a single line since then. :)

Thats the stage i'd love to get to, its just writing the projects, coming up with the ideas and making sure that everything you write could be reusable at a later stage.

The great news is, that the spaghetti code system I was using in my younger days has gone, I am now doing it all properly so everything should run better.

As far as little projects are concerned, I have been advised by the flash community to go for a 500x350 screen resoloution since its the prefferred screensize. Although Mania will still have a 640x480 screensize. So I'm pretty tempted to do a base style defense game, where the base is a slightly larger version of a ship, its stationary in the centre, and a variety of enemies just come and attack the "base", with upgradeable weapons, probably minimum from like single shot, to a quad death stream.

I did find out recently fog, that the motion blur technique you use is possible in Flash, its just that most devs are keeping their source for it pretty close, so I have to work out what they're doing, even though I think i'm nearly there, I am not going to worry until everything is done.

Another thing, even though this project is a bit tricky, I still enjoy the feeling of getting a problem, and spending a while solving the problem to see the finished results. yeah I may ask for help, but i'm not asking for help all the time ;).


Title: Re: AngryPuppy DevBlog
Post by: fog on February 24, 2008, 02:03:43 PM
Another thing, even though this project is a bit tricky, I still enjoy the feeling of getting a problem, and spending a while solving the problem to see the finished results. yeah I may ask for help, but i'm not asking for help all the time ;).
The learning process is all part of the fun but don't be afraid to ask for help, not just here but anywhere you get the chance.  When I started learning there was no net and I knew nobody else that coded so it was a slow often frustrating process.  Now there are plenty of sources of information and help so take full advantage of them I say.

And you've got the right attitude.  You're having a go at things and only then, if they don't work, do you ask for help or advice.  You haven't done the old noob trick of saying "I need code for a shmup" :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on February 24, 2008, 02:48:44 PM
Another thing, even though this project is a bit tricky, I still enjoy the feeling of getting a problem, and spending a while solving the problem to see the finished results. yeah I may ask for help, but i'm not asking for help all the time ;).
The learning process is all part of the fun but don't be afraid to ask for help, not just here but anywhere you get the chance.  When I started learning there was no net and I knew nobody else that coded so it was a slow often frustrating process.  Now there are plenty of sources of information and help so take full advantage of them I say.

And you've got the right attitude.  You're having a go at things and only then, if they don't work, do you ask for help or advice.  You haven't done the old noob trick of saying "I need code for a shmup" :)

Asking code for a full shmup would be rediculous. then again asking for that would usually yeild no results. I just enjoy giving something ago and knowing that if it works with my code then I have completed by myself. But I do stil like to learn how to do something a simpler way because I can the explore that atitude elsewhere in the project.


Title: Re: AngryPuppy DevBlog
Post by: fog on February 24, 2008, 09:14:28 PM
Asking code for a full shmup would be rediculous.
You would think so but you've no idea how many emails I've had asking for my source code.

Luckily I'm a very nice chap and offer to help them if they make a start on the code and get stuck....needless to say I never hear from them again lol :)


Title: Re: AngryPuppy DevBlog
Post by: TheKhakinator on February 24, 2008, 09:28:04 PM
You would think so but you've no idea how many emails I've had asking for my source code.
LOL one of those would've been mine when I started coding in DB :P


Title: Re: AngryPuppy DevBlog
Post by: fog on February 24, 2008, 09:30:05 PM
You would think so but you've no idea how many emails I've had asking for my source code.
LOL one of those would've been mine when I started coding in DB :P
noob  ;D

j/k ;)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on March 05, 2008, 06:21:45 PM
Time for an update !

Well I have been coding a little of Mania, Vex, Towers and my un-named music rhythm game (to the style of boom boom rocket) ooh ooh and my base defense game, which is also rhythm based, with 2 enemy types !

Vex is a simple shmup, only with movement on the X axis. It features a weapons upgrade system and a level by level system similar to that of DUO although when people get to the end in the game they stay at the final level, which throws all of the enemy types at the player. Also for this game I have been planning a Survivor mode similar to that of DUO although, the first level is always super easy which is the easiest of the levels so people can get upgrades, then it selects from a set of random levels after random time intervals of 4 I hope to create, so its a slogvest. Its called Vex because the graphical effects I hope to include would cause the player to be vexxed ?

Towers is a puzzle game with a stacking style similar to that of DUOtris combined with a double vertical Y scroller shooter, where when a block drops, your guns follow it at the same speed, and to move your blocks you fire random coloured blocks at it from either left or right. Simple match 3 or more.

Un-named music rhythm game is to the style of BBR but I am gonna change it a lttle make it unique, and if the gameplay tests with songs of my choicework as planned then I may be asking around for some music (again) from FKD Reality. Its gonna be simple, 5 songs, 2 difficulties Normal and Frantic.

Base defense game is just where you control this blob (circle) which can either absorb one enemy and deflect the other enemy, levels progress, upgrades that enlarge your circle, slow time down etc. Level system like in Vex but only progression to the final level where its like, "Being hosed down with a faeces cannon". Should be fun, if not too simple.

Work on Mania is going slow as I have to re-code everything to fit in 1 frame. Luckily I have a framework set up so I just have to drop code into the right sections, for either menu, game, end game etc. So its super easy to build on from there. Its just once I get my shmup system nailed I could "Churn" out shmups obviously the challenge from then on will be creating innovative enemy types and fun scenarios for people to play through. If i'm lucky aswell, once I get this music game sorted out I can just add 5 songs to the next version in a fast space of time. For the music game I spent about 2 hours planning which payed off, because I wondered how the music game could work, then I worked it out, just cause a note to spawn after a timer, if the note goes off the screen delete it and stuff. Detect the note collision with a hidden box, if collision = true then add points, to check whether its a perfect, awesome whatever then have a timer for each note which deducts when the player presses the button and depending on what the timer was at when the collision comes about then assign the label and the score for that band but only if a collision is detected, if a note isn't detected, run the timer to zero and deduct the combo bar. Don't allow points if there is no collision no matter how fast people press the button.

I'll post more updates in future anyway...


Title: Re: AngryPuppy DevBlog
Post by: fog on March 05, 2008, 10:15:20 PM
Great to here things are progressing JDog.  I don't know how you manage to juggle so many projects at once.  In an ideal world I'd only work on one at a time as that's all my frazzled brain can handle.

EDIT  :-[


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on March 05, 2008, 10:24:33 PM
Great to here things are progressing JDog.  I don't know how you manage to juggle so many projects at once.  In an ideal world I'd only work on one at a time as that's all my frazzled brain can handle.

Lol at JDof, but thats just me. Yeah I would love to work on just one game at once, for the moment Vex is taking main concern, ironing out the creases with my framework, soriting out particle effects code so I can drop it in anywhere... Thinking of some visual effects that I can go for...Doing some tests builds. they are all at different stages in the build, design, test, polishing and beta but I do hope to get something playable for them all in the near future.

Vex will probably be the first. I have some quite interesting enemy ideas (which I get just here and there, thank you ideas !) which could provide for a quite fun game indeed. All of them are nicely themed aroud space and asteroids. the only thing that i'm struggling to do is to translate you motion blur technique across to flash, I know its possible but its not easy. I just need to ask around, send a few messages here and there.

Prety soon i'm going to probably start on the community project ! speaking of that though I do like the graphical style you guys are going for with simple colours, blacks whites and greys, which as we all know, I like ! I'm tempted to do something to the style Graphically of Patapon, its just different and it'll look cool, if the brightly coloured background changed colours like the BZoo text in your games !


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on March 13, 2008, 07:18:13 PM
Progressing slowly...

Weapon upgrade system planned, working on Vex mainly. Been distracted by Coursework and the wanting of Guitar Hero 3 !

will update soon.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on March 27, 2008, 04:24:04 PM
Well, I now have guitar hero 3 and am proressing nicely on that game as far as completing and building up my skill is concerned.

As far as programing is going I am progressing at a nice pace. My One-day game ideas are growing along with my ability to complete them aswell. I'm currently working on a small game, similar to breakout, but with no blocks, simply a ball spawns to begin with, you have to keep the ball from touching the bottom of the screen, then after time intervals more balls get added, capped at 6. The player has to keep them up in the air. The player has 3 lives, I also incorporated a multiplier system, where the longer you keep them up in the air the more points you gain, but if you lose a life your multiplier resets.

It has taken so far about 2 days. I reckon I can get it done in 3 days or so. It also runs really smoothly and its surprisingly fun, I just find myself sitting and playing it so I guess its fun, also I try and beat my personal hi-scores. Sad, but hey, thats how games development works. I am tempted to make difficulty ramp up over 2 minutes as opposed to 1 minute as it is at the moment.

The other games are also progressing slowly but I just wanna get a game out of the door soon.  I also find myself falling into patterns, I like the look of m simplistic black and white games with motion blur, but I could be seen as too simplistic...

Only time will tell.

I'll update soon, probably tommorrow...telling how the ball games going. I could do with a better name but I can't think of what it should be called, any ideas ?


Title: Re: AngryPuppy DevBlog
Post by: fog on March 27, 2008, 10:52:00 PM
Sounding good JDog :)

I also find myself falling into patterns, I like the look of m simplistic black and white games with motion blur, but I could be seen as too simplistic...

Only time will tell.
It really depends on what market you are after.  Simplistic B&W and motion blur could put a lot of the casual market off in the same way as our blurry neon probably does.  They like things colourful and cute :)


I could do with a better name but I can't think of what it should be called, any ideas ?
I have a notepad file and I write any game names I think of in it.  ( You wouldn't think that to look at the game names I've used so far but it's true ;P ) Anyway I'd recommend doing something similar as that way you should always have something appropriate listed when you start on a new demo/project.

Or you could just try this :)

http://www.norefuge.net/vgng/vgng.html


Title: Re: AngryPuppy DevBlog
Post by: T_M_C on March 28, 2008, 09:57:24 AM
That name generator gave me some laughs.

One benefit i see of creating lots of small games of differing game types, is that as a coder, you'll be getting alot of different coding experience by developing alot of different techniques for the various games.

A bit like a musician's repertoire.  You build up alot of knowledge over time.

TMC


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on March 28, 2008, 12:04:27 PM
Cool, thats what I was thinking, a little bit of everything.


Title: Re: AngryPuppy DevBlog
Post by: fog on March 28, 2008, 03:48:17 PM
That name generator gave me some laughs.
It's worrying how many of the stupid ones still sound like proper video games ("Toxic Vampire Battle", "Chinese Devil Invaders")  with many just sounding like dodgy Japanese translations. ( "Stupendous Blood Base", "Topsy-Turvy Mushroom Forever ") and one day I'm going to have to code "Save Yourself from the Hillbilly Punch-Out!!"  :bunnymonkey:


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on April 13, 2008, 10:33:56 AM
Just to update...

So as you all, all who read this thread, are aware I have been recently creating a "One-day" game, which since its well over 2 weeks since I started can't be called that anymore. What is encouraging is that in this two week period I have put about 10 hours into the game so far, all with a positive effect ! So thats good. I also have a new name for the project, it was "Bounce" and its now "Rebound", I know its the name of an old since abonded game, which I may get back to. Now however its the name of my current project. So hopefully Rebound will be a name we all remember.

As far as the game goes, the gameplay is all there, perfectly ! You gain score by balls bouncing on the bat. You gain a multiplier by more bounces on the bats, every 10 your multiplier increases. Balls are added every 20 seconds, on Easy for a maximum of 2 balls, to Hard with a max of 4 balls, Medium with 3 obviously. You lose a life if the ball goes behind the paddle and out of the play area, you have 3 lives, also when a ball goes behind the paddle you lose your multiplier. The max multiplier can also be affected by how many balls are on screen at the max for that difficulty.

At the moment though I am working on a front end, the options for the game, a co-operative mode so two people can work together. I am struggling writing a pause function, which is proving extremely difficult and I am also going to ad a mute button on the menu, which shouldn't be too hard.

Here is what I have done for my Pause function, so could you give me any pointers ?

Code:
var paused = false;

_root.onEnterFrame = function(){
if(Key.isToggled(Key.SPACE)) {
        paused = true;
}else{
         paused = false;
     }
}

if(paused == false){
//updated game code here
}

if(paused == false){
//more updated game code here etc
}

Thats what I do at the moment, sadly I don't get any positive results. Or negative for that matter, infact nothing hapens, but you can see where my theory/idea comes from, right ?

I have most recently though been polishing the game, updating graphics.

I have decided though that once this is all done, getting back to work on Mania, since its a pretty fun game, there is always an audience for it, I was having developing it as my first flash game, whatever I learn about programming my current game can be used to great effect to improve what I had done in Mania before. :giraffe:. I do expect it to be much better. I am still getting used to coding all in one frame, as opposed to how I learned initially which was coding in each sprite as the tutorials teach you, shame its not the proper or best way to do it. I still think however that Mania will still be a mini-game compared to some of the hot Binarzoo stuff available.

I'll update when I have stuff to update.

until next time...=D.


Title: Re: AngryPuppy DevBlog
Post by: fog on April 13, 2008, 11:55:08 AM
Good to hear about your progress JDog.  It all sounds very promising :)

Quote
Here is what I have done for my Pause function, so could you give me any pointers ?
Tricky as I don't know the language you are using...

Hopefully you don't have this in your main loop otherwise you are resetting paused to be false all the time.
Code:
var paused = false;

However the main problem looks like being this:
Code:
if(Key.isToggled(Key.SPACE)) {
        paused = true;
}else{
         paused = false;
     }
}
That looks like it will only set "paused" to be "true" when a key is very first pressed.  Next time through the loop "Key.isToggled(Key.SPACE)" will be "false" and therefore "paused will be set to "false" again.

Like I say I'm not familiar with the language but maybe this ould work:
Code:
if(Key.isToggled(Key.SPACE)) {
        paused = !paused ;
}
That should hopefully toggle the value of "paused" each time a keypress is first pressed. (this will however only work if "isToggled" only returns "true" when a key is pressed and not when it is released.

If that still doesn't work then I'll write it out in DBPro that you will understand and can convert.

The idea behind how your pause code works is fine though.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on April 14, 2008, 07:32:41 PM
I should have said that it was in Actionscript sorry. The language in Flash is that. I would be happy to see how you would code your pause function in DBPro then I would translate it over, I really want it to pause, so people can stop, have a break then play again.

Just sorting some text out at the moment once thats done, I can have you guys playing it for feedback if you will !


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on April 16, 2008, 05:30:47 PM
Just to update, Pause function is completed !!!! The game pauses and plays perfectly, now to add a snazzy pause effect, probably the word pause flashing in black and grey !

Now I just need to sort out some dynamic text boxes, and once thats done, I can just slap it into the seperate game framework file and its done. Then its options, difficulties, local multiplayer.. The things us developers do.

What I have learnt by doing this mini-project is that its hard stuff making a game aswell as it being a big job making a game by yourself.

hope to update more regularly after all my coursework is done.


Title: Re: AngryPuppy DevBlog
Post by: fog on April 16, 2008, 09:39:26 PM
Glad you got that pause function working :)

Aye you're now hitting that point where you've pretty much finished the gameplay and you realise how much work doing all the "little things" like options, highscore tables, difficulty settings etc takes.  Gameplay in my experience is less than 50% of the code needed for a project, and when the rest of it is often such a chore, it's not hard to see why a lot of indi projects lack some polish and feel a touch unfinished.  Respect to anyone that sees it through to the end. :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on April 20, 2008, 03:59:12 PM
So much work in the polishing of a game, I would have never thought. The pause function works beautifully ! After taking "Inspiration" from the way you do Pause, I decied to give the player a pause menu, on the menu, they can continue...Go to the main menu, or mute or unmute the music, not just that but I also added a Tips section, similar to the Xbox 360 game The club, people can get a tip by clicking the mouse button, they can also do it on the main menu aswell.

Today I got my text problems sorted !!! So there now done, all I need to do is upgrade the text system with code from the test I did, organise my code properly so it all runs properly in the right order, making sure everything is the right depth.

I'm just going to put on a front end so people can choose to start the game...then just copy and paste the rest of the code into the main game section, I suppose I should do a post game carnage report. Then i'll send a version of the game to anyone who's interested to do some bug finding for me !

You will just get the single player build to tamper with, with only the standard game mode aswell, I still need to add a survivor mode...Co-op mode aswell...Once thats done its done ! I will need some music though, so I may be asking the FK'd reality team if thats possible...

I'll update soon !


Title: Re: AngryPuppy DevBlog
Post by: fog on April 20, 2008, 08:19:47 PM
So much work in the polishing of a game, I would have never thought.
Yeah as I said there's a lot more work involed than people think and it's only when you've really finished your first game that you appreciate that.  Still, sounds like you're nearly done.  :)

Throw it this way when you're ready as I'm always up for some testing.

I will need some music though, so I may be asking the FK'd reality team if thats possible....
I'd stick a request on their board (http://www.binaryzoo.com/forum/index.php?board=7.0).  Not sure how much time they have ATM though as I've just seen something a couple of them at least are working on.....and quite superb it is too. (not sure if I can say what it is  :P )


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on April 25, 2008, 09:40:12 AM
Time to update...

Well, I've been programming a lot on Mania over the past few days, hevaily abusing the teachers strike at any give option. So really it was one days worth of coding and gaming. I have almost completely re-written Mania, which is looking great. Mania can now be summed up as an Asteroids style game, with a better scoring method, where the player is controlled to the BinaryZoo style with weapons upgrades.

I have also learnt to keep small projects small so that game that I was telling you about before is being streamlined, so I am going to complete, then give it to you guys to review and play, tell me what you think, then i'll improve based on what you say. SO I have removed game modes, reduced options...just so I can get the game out of the door.

Once its polished, i'll see about continuing work on Mania.

Until next time...


Title: Re: AngryPuppy DevBlog
Post by: fog on April 25, 2008, 03:06:48 PM
Good good.  :kangaroo:

Removing extra game modes and options for now is a good idea.  Everyone knows that "feature creep" can kill a project but so can trying to put too much in in the first place.  Get the core gameplay in, twek that to perfection, and then maybe add in the extra game modes.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on April 25, 2008, 07:26:20 PM
Good good.  :kangaroo:

Removing extra game modes and options for now is a good idea.  Everyone knows that "feature creep" can kill a project but so can trying to put too much in in the first place.  Get the core gameplay in, twek that to perfection, and then maybe add in the extra game modes.

Which is what i'm going to do, once all of the necessary stuff is there, then I can add some fluff !


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on May 18, 2008, 06:16:30 PM
Time to update !!!

Some good news is, no more CourseWork ! Bad news however is, exams and revision =(.

I have been making more time to program. This week I managed to finally get my Mini game template completed. It works fine. Its there so that when I get  game up and running I can simply drop the game code in the "play_game" section of my template and it'll run with a default menu and default game over screen as well as a default gamescreen. I just then have to tinker with the graphics and games can be produced pretty quickly !

Just a few moments ago I completely created, from scratch, a particle system ! It works great, I can alter how many particles spawn in the explosion, so there can be different settings for different peoples comps.

I am currently working on a Parrallax demo which is coming along nicely. yesterday, I built from scratch an enemy shooting prototype which shoots towards the player dependng on his/her whereabouts on screen ! Looks pretty good. Just need to neaten the code up.

I managed to sort out the asteroid stuff for Mania so when you destroy an asteroid by shooting the other asteroids will spawn in its place. I do see however the chances are more likely that i'll be making some kind of Crack like game. Combining my new template, particle system and asteroid spawn code together along with a slightly different scoring system...or your scoring system.

Some good news, i'm upgrading to Flash 8 soon which means i'll be able to add motion blur permanently since bitmap data doesn't work with flash 7 =(. Hopefully once thats incorporated my ports should look pretty faithful whenever I get around to finishing them.

I hope to be in a routine during the half term holiday where a game idea I come up with, I can prototype quickly, polish, add to the template then distribute...doubt'll happen, but a man can dream !

I need to set up a PayPal account at some point or else all the work I have put into flash will be a waste sadly. The advertising systems (of which there are two to choose from nowadays) send all payments through paypal. Value is based on pay per 1000 gamelays, which is a bit wierd. It works out at roughly 50c per 1000 which isn't much but that combined with a sponsor could be good provided the games are good enough.

Fog, would you mind if my very mono games had the option, like in Mono to change the game from either black on white to white on black ?

I'll update soon. Feel free to ask me any questions =). I'll be sending you an email soon Fog anways.

Until next time...


Title: Re: AngryPuppy DevBlog
Post by: fog on May 18, 2008, 07:39:48 PM
Bad news however is, exams and revision =(.
Good luck with those.  The coding can wait.  Priorities and all that ;)

Fog, would you mind if my very mono games had the option, like in Mono to change the game from either black on white to white on black ?
You mean your B&W asteroids game?  Sure no problem.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on May 18, 2008, 09:07:55 PM
Bad news however is, exams and revision =(.
Good luck with those.  The coding can wait.  Priorities and all that ;)

Fog, would you mind if my very mono games had the option, like in Mono to change the game from either black on white to white on black ?
You mean your B&W asteroids game?  Sure no problem.

or other black and white games in future that I may produce ?


Title: Re: AngryPuppy DevBlog
Post by: fog on May 19, 2008, 07:52:48 PM
Bad news however is, exams and revision =(.
Good luck with those.  The coding can wait.  Priorities and all that ;)

Fog, would you mind if my very mono games had the option, like in Mono to change the game from either black on white to white on black ?
You mean your B&W asteroids game?  Sure no problem.

or other black and white games in future that I may produce ?
Hell yeah.  The only "original" gameplay element in mono is the background.  Everything else, such as the black/white switching, I'd say is just common sense game design, so even if you'd gone ahead without asking I'd have thought nothing of it.

I appreciate that you asked anyway though :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on May 22, 2008, 10:26:07 AM
NP Fog, its just that I hadn't seen that used in any other games prior to Mono tbh.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on May 25, 2008, 09:04:56 PM
Time for another update...

So without CourseWork the dog has had plenty of time to program. I made the finishing touches to my games template by adding the instructions page, the button which links to the page and the button which allows the user to return to the menu. I also added the stuff which comes up when the main game is paused. All it needs now is a game to be dropped into there...

Thats where i'm currently stuck. I need an idea for a simple small project, of which I have many, sadly however I cannot think of them at this time. I try and think concentrate on gameplay worry about graphics later, in doing this I trick myself get about midway through then I realise, i'm not a great artist and no no-one else locally who is good at drawing and uses flash. So I have been thinking about either updating an old fashioned game with some depth or make a simple game and add my own depth, each of which is proving difficult.

I am at the moment taking a break on most of other projects since they require more time and that the template I have built is focussed around it being a mainly mini game. Mania is working effectively.

With regards to Mania i'm tempted to have a mini-game inbuilt much to the style of Crack in Echoes... shame i'm so stuck for ideas.

I also have a little problem with my shooting code in Mania, I'd like to have the gun still shoot in the last direction it was facing but I can't for the life of me work out how to do it. I'll post my bullet function code in the next post tommorrow.

Until then....


Title: Re: AngryPuppy DevBlog
Post by: fog on May 25, 2008, 10:15:24 PM
Thats where i'm currently stuck. I need an idea for a simple small project, of which I have many, sadly however I cannot think of them at this time. I try and think concentrate on gameplay worry about graphics later, in doing this I trick myself get about midway through then I realise, i'm not a great artist and no no-one else locally who is good at drawing and uses flash.
I'm no artist either (as if you hadn't guessed :) ) so just do what I do and do stuff that doesn't necessarily require a great artist.  That doesn't necessarily restrict you to simple geometric shapes though, you could use clip art, photographs or hand draw stuff and scan it in. 

The other thing to remember is that there are plenty of good artists out there.  We have a few on here.  Not many will commit to a project without seeing it but put up a demo of something cool and I'm sure you'd have poeple willing to help with the graphics.

If that fails then do what I did with las6 and just annoy them until they agree to help just to shut you up :)

With regards to Mania i'm tempted to have a mini-game inbuilt much to the style of Crack in Echoes... shame i'm so stuck for ideas.
For a first project then forget mini-games and anything else fancy.  Seriously.  Just get the game out there as finishing the first one is by far the hardest thing to do.  The feeling of satisfaction you get from that will then motivate you to tackle bigger and better things.

I'm surprised your stuck for ideas ATM.  With most people it's the opposite problem....too many ideas and not enough time.  If you're still struggling we'll all knock our heads together and see what we can come up with.

I also have a little problem with my shooting code in Mania, I'd like to have the gun still shoot in the last direction it was facing but I can't for the life of me work out how to do it. I'll post my bullet function code in the next post tommorrow.
Yeah I know the problem you mean as I had to allow for that too.  Simple enough to do. Stick your code up and I'll test my Flash coding skills again. (or more likely bottle it and just post a DBPro version).


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on May 25, 2008, 10:50:00 PM

This is the shooting code from memory. It may not be 100%. I had an idea where each direction corresponds to a number which is initialised beforehand, then in the main loop that number is updated and stored? Anyway the code is below, slightly simplified, as in I removed the other 4 directions...

Code:
var a:Number = 0;
function create_shot(){
//restricting the number of bullets..
a++;
if(a>20){
a=0;
}
var shot:MovieClip = _root.attachMovie("shot_game","shot_game"+a,_root.getNextHighestDepth());//creating the shot
shot._x = ship._x;//Shots co-ords when created
shot._y = ship._y;

var shotMoveX:Number  = 0;//I think the problem is here as its refreshed every time one is created
var shotMoveY:Number  = 5;//THe shot's variables

if(Key.isDown(Key.LEFT)){
shotMoveX  = -5;
shotMoveY = 0;
}
else if(Key.isDown(Key.RIGHT)){
shotMoveX  = 5;
shotMoveY  = 0;
}
else if(Key.isDown(Key.UP)){
shotMoveX  = 0;
shotMoveY  = -5;
}
else if(Key.isDown(Key.DOWN)){
shotMoveX  = 0;
shotMoveY  = 5;
}
shot.onEnterFrame = function(){
shot._x += shotMoveX;//updating the variables
shot._y += shotMoveY;
//deleting if out of bounds
if(shot._y > 400){
shot.removeMovieClip();
}
if(shot._y < 0){
shot.removeMovieClip();
}
if(shot._x > 550){
shot.removeMovieClip();
}

if(shot._x < 0){
shot.removeMovieClip();
}
}
}

The create_shot function is called after a time interval which is monitored elswhere in the code...so tell me what you think, I also added a few comments too ;P






Title: Re: AngryPuppy DevBlog
Post by: fog on May 26, 2008, 12:52:04 PM
Yeah the bit you've highlighted in your comments is obviously where the problem is.  You don't want to be recreating that variable every time you call that function, or if you have to recreate it then you need to assign the last bullet direction to it and not the values you are currently giving it.  Maybe just using a global variable to store the last bullet direction is the easiest thing to do.

Also I thought the cursor keys were actually used to rotate the players ship?  If this is the case then the bullet direction should be taken directly from the ships rotation and there is no need to test for keypresses again.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on May 27, 2008, 09:42:40 AM
I don't test for keypresses twice, in this code, which is omitted I would just add the rotation value to the ship since it can be altered in the bullet code area. Any idea how you would impliment what you said about ?


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on May 30, 2008, 10:34:46 PM
Mini update...

I have a vast knowledge in puzzle games but I myself have never designed or thought about making one, so I guess it'd be a logical step to design and then build a puzzle game. ATM i'm thinking Astropop meets bubble bobble, provided I can make it more fun. My quest is to simply make a mini puzzle game that works as a puzzle with the simplest scoring method possible, then once thats done, I can expand it.

I still have all of my other projects running aswell and the finishing touches have been made to my template...

Working alone is super hard as you have no-one to talk to and nobody to keep you on task, its a shame. I'll get something done eventually. :(


Title: Re: AngryPuppy DevBlog
Post by: fog on May 31, 2008, 12:53:32 PM
Working alone is super hard as you have no-one to talk to and nobody to keep you on task, its a shame. I'll get something done eventually. :(
Yeah I've said this before, but from my own experience it's worth saying again.  Staying focused is really difficult but once you've release that first game, the feedback you get is more than enough motivation to drive you on through future projects.  Cracking that first project is the difficult part.

When I was working on my first game (DUO) I only had members of a small forum community to keep me going and it was initially only las6 that I bounced ideas off and got involved with playtesting.  That took me about 6 months, I made a load of mistakes and the coding is horrible, but it's still the most enjoyable project I've worked on because, thinking only a handful of people would ever play it, it was written entirely for myself.  It was a game I wanted to play and made no concessions to what other people might want or expect.

I always think a good guide to how successful a project is going to be is how much time you spend playtesting it while you really should be developing it further.  If you find it frustrating that you're wasting a load of time then you're probably onto a good thing.  Alternatively, while you may be making good progress, if you're not enjoying testing or jumping from project to project, then the chances are you haven't hit upon a great idea yet.  We've all been there :) and IMO you're much better off dropping the idea and moving onto something else than forcing yourself to see something like that through.  Chances are progress will just get slower and slower and you'll never finish it anyway, so quit while you're ahead.

Don't forget that above all else development like this, on a project you're 100% happy with, should be fun. :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on May 31, 2008, 02:29:36 PM
Just to translate what you'd said, if your spendng more time playtesting and having fun playing a project early in its build, then thats a good thing. If you can't seem to settle then the project isn't worth continuing as the idea hasn't really been thought out ?

Sometimes with projects the technical hurdle is also one to overcome and should it not be overcome that can also hinder the project. I do have to admit however that this forum has been a great help. I do have a few games currently in playable builds but not polished, so what I should do is play them some more and add some more features to them to make them nore fun. If thats the case then thats wht i'll do.

Thanks for your interest so far though Fog ! You have been a great help.


Title: Re: AngryPuppy DevBlog
Post by: fog on May 31, 2008, 03:06:29 PM
Well first of all I wouldn't follow blindly what I say :)  Just what little advice I can offer based on my own experiences and what works for me.

Just to translate what you'd said, if your spendng more time playtesting and having fun playing a project early in its build, then thats a good thing. If you can't seem to settle then the project isn't worth continuing as the idea hasn't really been thought out ?
Well playtesting is a good guide.  Obviously the ones you enjoy playtesting the most will be the better games.  If no one project has kept your attention then that doesn't necessarily mean they are bad ideas, but it might be worth moving onto something else and returning to them with a fresh perspective later.

I do have a few games currently in playable builds but not polished, so what I should do is play them some more and add some more features to them to make them nore fun.
Polishing the ideas is a major part of finishing a game, but a minor part of the actual core gameplay.  I had a fully playable version of DUOtris within 2 or 3 days and it was already great fun (IMO obviously)  It had no menus, placeholder graphics and sound and a lot of rough edges, but enough to prove the gameplay worked.  It took another few months to add the polish but I already knew that would be time well spent.

Concentrate on nailing that gameplay first and only once you're happy with that, start adding polish.  As countless commercial games prove, no amount of polish can hide crap gameplay.

And once you do have something with gameplay that works, regardless of polish, get feedback from a few people.  Not only might that spot any flaws early on when they are easy to fix, but, as I've said many times, feedback of any kind is the greatest motivator.

Thanks for your interest so far though Fog ! You have been a great help.
Works both ways.  It's the interest I've had for yourself and many others over the years that has kept me going through some rough periods.

And it's important to realise that every developer has pretty the same problems and issues that you're going through.  Don't think you're alone :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on May 31, 2008, 03:49:20 PM
Ok, so now quite simply, when I think something is fun, I should test it on others to see if they think its fun. Sounds like a plan, as soon as I get the enemies shooting in one of my other gameplay tests i'll send you over an email.

You always know how to brighten my spirits !

Edit: My enemies shoot. This has now greatly increased believability. ATM it plays similarly to Heavy Weapon, so thats not a bad place to start. I'll just improve collision detection, add another enemy type... then I'll email it to you. Its pretty fun aswell !



Title: Re: AngryPuppy DevBlog
Post by: fog on May 31, 2008, 04:50:49 PM
Edit: My enemies shoot. This has now greatly increased believability. ATM it plays similarly to Heavy Weapon, so thats not a bad place to start. I'll just improve collision detection, add another enemy type... then I'll email it to you. Its pretty fun aswell !
Result :)

Getting something to a playable state, however rough, can make you see things from a whole new perspective and banish any doubts you might have.  Good to hear it's working out for you.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on May 31, 2008, 05:57:27 PM
It seems to be, the one thing i've noticed is, if I set myself a small task, then I can complete it no problem, I think my problem is I burdon myself with far too much to do. My particle system was evidence to this too, I said I wanted one, 1 hour or so later, it was done and working fine ! I'll just sort out collisions and send it over...ATM its looking like it'll still be vector but vector aircrafts and the like...for the moment though I won't think about it.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on June 02, 2008, 01:25:45 PM
Mini update II

Well, progress seems to greatly increase if I set myself small tasks as I said in the previous post. Whts great about these small tasks is they help me to refine my code and see results ! So thats some progress.

What I was working on mainly so far has been my enemy code. I have cooked up 4 different types of enemies(planes) that i'd like to see in the game. I was working out how I should code them...I came to the conclusion that I should do them in seperate functions, so that when I need them I can simply call them. This was a good start for the first enemy type, just a regular fighter which drops bombs. I could then in the main game loop call it whenever I wanted, yay ! Progress. I was then bout to start coding the bombers function when the thought hit me, if i'd like a large variety of enemies, I could simply give this movie clip different frames, each frame represents the graphics...I can then have the function at the start to select which frame gets selected, then if that frame gets selected  it plays the code in the function referring to which graphic gets selected ! So jobs a good one and it saved me writing loads of different functions too.

From that, 1 function, calls and randomly selects all my aircraft types, they will act according to which graphic is selected and behave accordingly, saving me writing 4 or 5 different functions.

I also wrote a different way of doing full screen motion blur until I get my copy of Flash 8, so all goes well.


Title: Re: AngryPuppy DevBlog
Post by: fog on June 02, 2008, 07:55:28 PM
Yeah one function for all your enemy types is the way to go.  90% of the code for each type will be the same so it saves duplication.  :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on June 03, 2008, 08:05:00 PM
Well, coding goes well. If actually feels really great when you get to a stage where coding the game isn't the hard part, coming up with the original game idea is where its tricky.

Using my small bits of code methodat the moment it seems to be going well, I can get what I want done in a relatively short time. I just need a reason to code.

As far as that Heavy Weapon game goes, it goes well. I just need to sort a few things out then you can test it if you wish ! As with most of your feedback so far I don't have to emphasize honesty, so thats good ;)

It plays naturally, shoots automatically and so far i've coded 2 enemy types, which are chosen randomly, but they spawn infinitely every so often, max of a few on screen at once which should get incremented over time !

On the whole then, not much is happenning other than a more reserved view on development.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on June 03, 2008, 08:09:41 PM
Yep we've all been there :)  So in anticipation can I just say welcome to the world of menu coding....the most tedius job in the world.  :bunnymonkey:
Not in Flash Fog, I simply draw my button template, copy and paste it for as many buttons as I want, place them where I want onscreen. Convert them to a "Button" object, add the code, snce flash is made up of a series of windows so the code is.
Code:
onRelease(){
gotoAndPlay(2);
}
Thats if you would like to go to the second screen that is. Other options become more tedious and harder to do, so maybe your right. I can even double click on the button when its been converted and add animations for it, when the mouse hovers over it, and when the mouse clicks it using the "Button" templates. Thats about as easy as Flash gets though. Everything else is real programming =D.
Yeah it's not so much the coding of the menu buttons and stuff that's tedius, it's making all those buttons have an effect.  Highscore tables, joypad configuration, audio and graphic options etc....all boring when you'd much rather be working on the gameplay.  You might not need all those for this project but you'll find out what I mean soon enough  :)

And you know Fog, I did ! Some hard/annoyingly boring things to do !


Title: Re: AngryPuppy DevBlog
Post by: fog on June 03, 2008, 09:06:43 PM
As far as that Heavy Weapon game goes, it goes well. I just need to sort a few things out then you can test it if you wish ! As with most of your feedback so far I don't have to emphasize honesty, so thats good ;)
Well there are a million-and-one other forums you can post on if you just want people to say "OMG iz soooooo cool!!!111!!".  Until recently I've always struggled to get good honest feedback, but I know how important it is to a project so I'll always give it where I can.

At the end of the day though it's still just an opinion, so it's your job as games designer to work out which advice to take and which to ignore :)

And you know Fog, I did ! Some hard/annoyingly boring things to do !
Yeah the only bright side of menu coding is that you can just use the vast majority of it again for your next project.  The first time it's a very very painful experience though....and I still have it to look forward to in XNA.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on June 04, 2008, 11:55:55 AM
As far as that Heavy Weapon game goes, it goes well. I just need to sort a few things out then you can test it if you wish ! As with most of your feedback so far I don't have to emphasize honesty, so thats good ;)
Well there are a million-and-one other forums you can post on if you just want people to say "OMG iz soooooo cool!!!111!!".  Until recently I've always struggled to get good honest feedback, but I know how important it is to a project so I'll always give it where I can.

At the end of the day though it's still just an opinion, so it's your job as games designer to work out which advice to take and which to ignore :)

And you know Fog, I did ! Some hard/annoyingly boring things to do !
Yeah the only bright side of menu coding is that you can just use the vast majority of it again for your next project.  The first time it's a very very painful experience though....and I still have it to look forward to in XNA.

You misunderstood, or I did perhaps...I was saying that all of your feedback has been excellent so far, keep up the great work ! you seem to tell me instantly where i've gone wrong and how to remedy my problems. Infact, what I like alot about this forum is just how friendly people are ! It is infact one of the friendliest places on the web :'). Also, how many games companies do you know where if you post on a forum, the creator of the game will post a reply to your comment and answer it personally ! I don't know any others...

Great service so far Fog !


Title: Re: AngryPuppy DevBlog
Post by: fog on June 04, 2008, 04:04:47 PM
Also, how many games companies do you know where if you post on a forum, the creator of the game will post a reply to your comment and answer it personally ! I don't know any others...
Well I'm sure plenty of other indis do it too.  Don't forget we are in it because we love what we do (the pay sucks lol ;) ) so it's always great hearing what other people think, or discussing game devlopment with like minded people. :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on June 04, 2008, 08:48:11 PM
Also, how many games companies do you know where if you post on a forum, the creator of the game will post a reply to your comment and answer it personally ! I don't know any others...
Well I'm sure plenty of other indis do it too.  Don't forget we are in it because we love what we do (the pay sucks lol ;) ) so it's always great hearing what other people think, or discussing game devlopment with like minded people. :)


I'm just glad that we both know what the other is talking about.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on June 16, 2008, 09:13:25 PM
Quick update...

I'm just coding stuff I think I may need for a later project ATM, still looking for ideas. In the meantime i've been playng a fair bit of the original Rollercoaster tycoon ! What an awesome game.


Title: Re: AngryPuppy DevBlog
Post by: fog on June 16, 2008, 11:34:21 PM
Quick update...

I'm just coding stuff I think I may need for a later project ATM, still looking for ideas.
Ideas you say?  Always got loads of those (no quality control mind) Go on then throw it open to the crowd (well all 3 of us ;) )  Give us a few details and we will see what we come up with.

Even if you don't like our ideas a bit of brainstorming is always good and may well trigger off a few ideas of your own.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on June 17, 2008, 04:41:36 PM
Quick update...

I'm just coding stuff I think I may need for a later project ATM, still looking for ideas.
Ideas you say?  Always got loads of those (no quality control mind) Go on then throw it open to the crowd (well all 3 of us ;) )  Give us a few details and we will see what we come up with.

Even if you don't like our ideas a bit of brainstorming is always good and may well trigger off a few ideas of your own.

Cool, well then, its open house, anything game related that you think could either be fun. Just remember though, no great artist so I don't want loads of depth as far as say CoD or Halo. Design something that you think is fun, then i'll see. I really have no ideas at all. I was thinking a generic puzzler, but even they are quite tricky.


Title: Re: AngryPuppy DevBlog
Post by: fog on June 17, 2008, 10:03:32 PM
Quick update...

I'm just coding stuff I think I may need for a later project ATM, still looking for ideas.
Ideas you say?  Always got loads of those (no quality control mind) Go on then throw it open to the crowd (well all 3 of us ;) )  Give us a few details and we will see what we come up with.

Even if you don't like our ideas a bit of brainstorming is always good and may well trigger off a few ideas of your own.

Cool, well then, its open house, anything game related that you think could either be fun. Just remember though, no great artist so I don't want loads of depth as far as say CoD or Halo. Design something that you think is fun, then i'll see. I really have no ideas at all. I was thinking a generic puzzler, but even they are quite tricky.
Ah lol.  I assumed that when you said you needed ideas that you'd already decided on a basic game type and were just looking for ideas to flesh things out a bit.  What projects have you got so far that we can discuss ideas for then?  Channeling our thoughts in a certain direction might be more beneficial than me telling you my random ideas for Housework Simulator 2000 Deluxe.


Title: Re: AngryPuppy DevBlog
Post by: TheKhakinator on June 18, 2008, 05:42:19 AM
...my random ideas for Housework Simulator 2000 Deluxe.
New SECRET MOP HEAD UPGRADES!


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on June 20, 2008, 11:22:55 AM
Quick update...

I'm just coding stuff I think I may need for a later project ATM, still looking for ideas.
Ideas you say?  Always got loads of those (no quality control mind) Go on then throw it open to the crowd (well all 3 of us ;) )  Give us a few details and we will see what we come up with.

Even if you don't like our ideas a bit of brainstorming is always good and may well trigger off a few ideas of your own.

Cool, well then, its open house, anything game related that you think could either be fun. Just remember though, no great artist so I don't want loads of depth as far as say CoD or Halo. Design something that you think is fun, then i'll see. I really have no ideas at all. I was thinking a generic puzzler, but even they are quite tricky.
Ah lol.  I assumed that when you said you needed ideas that you'd already decided on a basic game type and were just looking for ideas to flesh things out a bit.  What projects have you got so far that we can discuss ideas for then?  Channeling our thoughts in a certain direction might be more beneficial than me telling you my random ideas for Housework Simulator 2000 Deluxe.

Well, I suppose shmup related, I do and have had an engine for ages, its just coming up with interesting enemies, you know i've had that problem before.


Title: Re: AngryPuppy DevBlog
Post by: fog on June 20, 2008, 12:43:20 PM
Quick update...

I'm just coding stuff I think I may need for a later project ATM, still looking for ideas.
Ideas you say?  Always got loads of those (no quality control mind) Go on then throw it open to the crowd (well all 3 of us ;) )  Give us a few details and we will see what we come up with.

Even if you don't like our ideas a bit of brainstorming is always good and may well trigger off a few ideas of your own.

Cool, well then, its open house, anything game related that you think could either be fun. Just remember though, no great artist so I don't want loads of depth as far as say CoD or Halo. Design something that you think is fun, then i'll see. I really have no ideas at all. I was thinking a generic puzzler, but even they are quite tricky.
Ah lol.  I assumed that when you said you needed ideas that you'd already decided on a basic game type and were just looking for ideas to flesh things out a bit.  What projects have you got so far that we can discuss ideas for then?  Channeling our thoughts in a certain direction might be more beneficial than me telling you my random ideas for Housework Simulator 2000 Deluxe.

Well, I suppose shmup related, I do and have had an engine for ages, its just coming up with interesting enemies, you know i've had that problem before.
My 2 pennies worth....as usual, only my opinion, I know nothing more than the next man, so take it or leave it :) .....

I'm not sure you do have a problem "coming up with interesting enemies" for the simple reason that, for the game style I assume you're still writing, I'm not convinced that enemy style is that important.  OK I'm slightly biased as there's nothing particularly clever about any of my enemy styles, but just look at all the classic arcade games and their modern equivalents like GW2 and Super Stardust HD, and none of their enemies are what I would consider "interesting" either.

In fact if you're going for a chaotic shmup then the enemy behaviour has to be very predictable and simple is most definitely better.

If however, and IMO this is the real problem, you think you need interesting enemies to make your game more interesting, then it's the core gameplay idea that really needs looking at.  (BTW I'm not saying the core gameplay isn't interesting, I've never played it, but obviously you think it needs something extra to spice it up.)

You can of course get away with having both simple enemies and pretty much no interesting gameplay at all like in Echoes, GW2 and SS HD, in which case the hook is balancing the challenge and keeping things so fast and chaotic that the player doesn't have time to realise the gameplay is mind numbingly repetitive.  ;)

Personally I'd concentrate on thinking of some original gameplay hook.  It doesn't need to be anything too clever (that wouldn't suit this style of game), just something different to make it stand out from the crowd.  Something that will work with dumb bouncy enemies is often best in my experience :)



Title: Re: AngryPuppy DevBlog
Post by: JDog053 on June 20, 2008, 08:24:55 PM
Thanks for an interesting post fog :)

So I have to make something to detract away from the games repetiveness. My control style as you well know, is your control style, i'm just thinking that it needs enemies of a type to go against. I suppose as a backup there are always asteroids, but I don't want to go that far. With my Heavy Weapon PoC demo I can have enemies which shoot. So I suppose I culd have enemies which flyby and shoot the player, bullets can't be destroyed whilst the enemis can. I'd just need to make the enemies move in a fashion which best reflects the chaotic style that they shoot...they can also shoot however I choose them too. Great input again Fog, I should try some stuff out, and asyou said, get feedback from people before trashing a project. I'll see what i can do.


Title: Re: AngryPuppy DevBlog
Post by: fog on June 21, 2008, 05:03:14 PM
Yeah get some demo up so we can have a play and then we can start discussing more specific gameplay ideas.  We need a mono style gameplay twist or an interesting scoring system. :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on June 22, 2008, 01:17:55 AM
Yeah get some demo up so we can have a play and then we can start discussing more specific gameplay ideas.  We need a mono style gameplay twist or an interesting scoring system. :)

Sounds good.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on June 27, 2008, 04:10:33 PM
Just to update...

I now have an "actual blog" The blog that I have will be more focussed then this one, doesn't mean I won't stop coming here, not at all. Anyways, I mentioned a Heavy Weapon project a while ago with a player tank and enemies which shoot. Well I decided as my first series of tutorials to create that game. Obviously i'm going to create a heavily simplified version for people who use my site to learn to program, then i'll upgrade it and post a similar yet different game on my "site".

Here's the link. its on a blogging site, but with Adsense so I could earn something for the priveledge of uploading tutorials, here's hoping.

www.jdog053.blogspot.com (http://www.jdog053.blogspot.com)

I did this because I think, if I can get the tutorial series to work as i'd planned, then I can break the project up into stages and post the stages up, limiting my workload to what needs to be added in a multipart system. Here's hoping. Anyway check out the site, if you want feel free to post a comment, or just reply here. I'll add a link to Binaryzoo.com from there since everyone here is awesome and you've been such a great help !


Title: Re: AngryPuppy DevBlog
Post by: fog on June 27, 2008, 10:41:14 PM
That's great JDog.  Like you say, maybe having something structured like the tutorial will help you focus better.  Breaking something up into managable chunks like your tut idea will always make things seem more achievable.

I'll be following developments.  :kangaroo:


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on June 28, 2008, 10:00:43 AM
That's great JDog.  Like you say, maybe having something structured like the tutorial will help you focus better.  Breaking something up into managable chunks like your tut idea will always make things seem more achievable.

I'll be following developments.  :kangaroo:

Thanks very much indeed Fog. I just hope the managable chunks system will work. It should do, and allow people to learn in the process, since its not just a learning experience for them, as you said its an exp grind for me too. I do firstly though have to teach people to link MovieClips from the library and load them into the scene. I'll keep it as a Tank though to keep the theme. Also for the next stage you'll see that its simplified a little bit more then I wanted too, but i'll explain in the tutorial.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on July 01, 2008, 11:29:36 AM
So far so good. I'm about 4 steps ahead of the "crowd" if you will at the moment in my Heavy Weapon Tutorial. I'm just tinkering with the Parrallax background which I think I found a system which best replicates theres and is simple to program.

Please bare in mind that it won't be a full clone, at points i'll be making changes, some more major than others. I'll just be leaving the Tutorial version looking a bit, shall I say drab ? Because if someone gets hold of the .fla then its there's so what I must do is keep it looking dull but play well, then when I do my version with a few more gubbins it'll seem special and people and people'll will want to come back and play it ! Thats the theory anyways. All i'm giving people is the oppertunity to make a simplified single-player version of Survival Mode, which although good can get boring, so when I adapt the thing i'll probably add upto 4 player co-op for survival. Since it is really simple, I might have to cap upgrades if theres 4 people on screen. I might be replacing the upgrade helicopter for something more suitable to the way i finally did the game-play.

I'm definately having fun writing this tutorial. It menas that if I struggle doing something then solve my problem, then I can explain it to people so they don't struggle with the same thing, or so the theory goes. there should be something playable by tutorial 3 or 4 hopefully. The playable thing is an optimized version of what I was talking about a few posts back.

I also hope you don't mind me using adsense on the site. its just a good system, shame no-one so far has used it, only time will tell.

I added a link to your site, if you'd like the 3-word description changed to something else, just say and i'll make it happen, you can have more than 3 words.

just to add, another eason I think this project will work better than most others is because I also have real life help as far as graphics are concerned, play testing. You guys can still playtest too. oh yeah, I don't have a syntax highlighter on my ite so it'll be tricky, I don't know what i'm to do TBH. There will be something somewhere I hope.

Also...I still have everything in Flash I have ever coded, which now is alot, just most of them are in different stages of development. It has the advantage of giving me lots of source code done by me, so I can adapt stuff. The one thing this tutorial won't teach is Finishing a game, with Menu's and such...Its something (a demon if you will) I have to slay myself. Its looking likely i'll slay it. Then next series will explain how to go about polishing something. Looking too far ahead :( I'll just get the next Tutorial uploaded.

Upload days will probably Monday, Wednesday and Friday to add a lot of content often.

/end long post.


Title: Re: AngryPuppy DevBlog
Post by: TheKhakinator on July 01, 2008, 11:44:31 AM
Looks like you're doing some neat stuff on the site. Let me know if you get any cash out of the ads :P


Title: Re: AngryPuppy DevBlog
Post by: fog on July 01, 2008, 11:55:47 AM
oh yeah, I don't have a syntax highlighter on my ite so it'll be tricky, I don't know what i'm to do TBH. There will be something somewhere I hope.
There are a few and they look fairly straight forward to use...
Flash syntax highlighting[/url
[url=http://softwaremaniacs.org/soft/highlight/en/]Various language syntax highlighting (http://www.flashtexteditor.com/ftf/)

Tut is looking good so far.  I went to comment on the first part yesterday, but need to get a Google ID.  :P

Flash obviously isn't my language of choice, but I do like reading dev blogs so I'll be following this one.  :kangaroo:


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on July 01, 2008, 12:28:43 PM
oh yeah, I don't have a syntax highlighter on my ite so it'll be tricky, I don't know what i'm to do TBH. There will be something somewhere I hope.
There are a few and they look fairly straight forward to use...
Flash syntax highlighting[/url
[url=http://softwaremaniacs.org/soft/highlight/en/]Various language syntax highlighting (http://www.flashtexteditor.com/ftf/)

Tut is looking good so far.&nbsp; I went to comment on the first part yesterday, but need to get a Google ID.&nbsp; :P

Flash obviously isn't my language of choice, but I do like reading dev blogs so I'll be following this one.&nbsp; :kangaroo:

I'll check out those links shortly Fog ! My quest would be to slowly to teach people the workings of Flash, so maybe it could be your langueage also ! You are already multi-lingual. Shame about the Google ID though. You should just make one. Good stuff. I also have a love of reading DevBlogs thats why I have stuck around here for so long (that and your great games) just waiting for updates and such. Because of you though Fog, I must purchase a wired controller ! So I can play the 360 Version of what you make on my PC with a controller.

@the Khakinator - I'll keep you informed, but due to Googles Policy I can't sy how much I get, so far nothing, but here's hoping. I just need a reason to keep people coming back to the site, Games seems like the best way to do it IMHO. Tutorials are all well and good but they require indirect participation from people, games are direct. So maybe whilst they are playing they may notice a link and click-clickety.

So far though guys, thanks for your continued interest.


Title: Re: AngryPuppy DevBlog
Post by: fog on July 03, 2008, 12:25:30 PM
Shame about the Google ID though. You should just make one.
Yeah I should and I no doubt will at some stage.

It's just that we already have a gazillion logins and ID's for other things, so when you are told you need yet another my immediate reaction is sod off  :bunnymonkey:


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on July 03, 2008, 03:20:31 PM
I feel the same, far too many, for everything. Apparently I don't even have one, thats just how mental it is !


Title: Re: AngryPuppy DevBlog
Post by: fog on July 03, 2008, 06:53:15 PM
I see you have syntax highlighting now anyway.  Nice :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on July 03, 2008, 06:58:10 PM
I see you have syntax highlighting now anyway.  Nice :)

I don't, I had to do that manually, sadly :(


Title: Re: AngryPuppy DevBlog
Post by: fog on July 03, 2008, 07:03:30 PM
I see you have syntax highlighting now anyway.  Nice :)

I don't, I had to do that manually, sadly :(
Ouch.  Had me fooled.  :bunnymonkey:


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on July 03, 2008, 09:42:14 PM
I see you have syntax highlighting now anyway.  Nice :)

I don't, I had to do that manually, sadly :(
Ouch.  Had me fooled.  :bunnymonkey:

then i'll keep it up ! You've just made me happier Fog :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on July 13, 2008, 09:47:55 PM
just a quick update, haven't forgotten about my site, but am beginning to learn XML /MySQL so I can code multiplayer Flash games, which are the next big boom in internet games, since they are so under used. When my tutorial draws to a close I hope to have the game in a multiplayer format, atleast all on one computer, which is done anyways...

I should be uploading part 3 today, if all goes well. I just have to simplify the tutorials a little, bit too complex for the newbie... I get a fair few hits per day but nowhere near as many as I need... Heavy Weapon though, is a great game, try it out on Xbox Live Arcade or PC !


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on July 15, 2008, 06:03:21 PM
just a quick update, haven't forgotten about my site, but am beginning to learn XML /MySQL so I can code multiplayer Flash games, which are the next big boom in internet games, since they are so under used. When my tutorial draws to a close I hope to have the game in a multiplayer format, atleast all on one computer, which is done anyways...

I should be uploading part 3 today, if all goes well. I just have to simplify the tutorials a little, bit too complex for the newbie... I get a fair few hits per day but nowhere near as many as I need... Heavy Weapon though, is a great game, try it out on Xbox Live Arcade or PC !

Finally uploaded Part 3 to that Tutorial, I also got around to simplifying the code aswell in all parts so it should be easier for the Newbie. Just preparing now to simplify my enemy code and post it up there prbably later this week, if i'm lucky Saturday. In Part 4 which'll be the biggest part, I'll add enemy, allow the enemy to shoot, have full collision between enemy bullets and the tank and friendly bullets and the plane. I just need to work out if theres a "read more" option on blogger so I don't have to post the full code on one page as it doesn't intice people to click and view the article, but all that should change... I also need to work out how to embed the Flash SWf onto the page so users don't have to follow that link to the hosting site...

Ah well. The version of the Heavy Weapon Tutorial that i'm upto is looking pretty good, the only thing I don't like is the look of my plane, but i'll refresh the graphic later.

Until next time.


Title: Re: AngryPuppy DevBlog
Post by: fog on July 15, 2008, 06:37:00 PM
Looking good so far.  The only thing I'd suggest is that, as it's a tutorial, I'd consider giving some of the variables more meaningful names rather than just letters.  Using x and y for co-ordinates is fine as most people are used to that notation, but using letters like "t" is fairly meaningless when you are reading through code, struggling to learn a new language.

Just a thought :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on July 15, 2008, 10:12:39 PM
Looking good so far.  The only thing I'd suggest is that, as it's a tutorial, I'd consider giving some of the variables more meaningful names rather than just letters.  Using x and y for co-ordinates is fine as most people are used to that notation, but using letters like "t" is fairly meaningless when you are reading through code, struggling to learn a new language.

Just a thought :)

I'll keep that in mind, so I guess instead of "t "for time i'll change it to time ! and for the players shot i'll keep it as a !



Title: Re: AngryPuppy DevBlog
Post by: JDog053 on July 25, 2008, 07:05:41 PM
Although as you know I have designed my site based around a Tutorial series, which is all well and good, but if your (myself) is not fluent fully in the language and the art of programing, he can't much teach anyone how to program. So i've decided to change tack a little, this may involve a re-write of most if not every single post on the site, but it seems like the best way. Pretty much, instead of a tutorial or step by step guide. I'll use it more as a framework so that each post will document the next part of the game I add, why i'm adding it and some source code. So it'll besimilar but not aimed too much towards the reader, kind of like a blog but people if they wish can take some horrible un-optimized code if they so wish. Thats up until the eventual release of the game on my site as soon as i learn to embed games and flash documents on the site. So its all go, and not at the same time.

Still to do on my "clone" add enemies, collision, HUD then atleast its at a playable stage for people on my site, then i'll add finishing like, the nuke button, parrallax scrolling and the Nuke particle effect.

if you haven't played Heavy Weapon yet though, I would advise you do !

I decided for the special version of the game that i'll do to (hopefully) bring people back to the site, i'll add local (only local, because I don't want to learn MySQL or XML) 2 player Survival and Boss battles...here's hoping.

And to clarify, i'm not dead :)


Title: Re: AngryPuppy DevBlog
Post by: fog on July 25, 2008, 11:01:33 PM
Cool.  Well from a purely selfish point of view, as I don't use the language your tutorials were based around, I'll be much more interested in reading a more dev blog related site.  I love a good dev blog.


if you haven't played Heavy Weapon yet though, I would advise you do !
Yeah I played the demo when it first came out.  Quite enjoyed it, but it just left me thinking that a much better game could be made around that basic gameplay.

Unfortunately one of the curses of dabbling in game design is that you tend to be over analytical of every game you play.  A couple of recent XBLA releases in particular recently have had me banging my head asking who the hell decided a certain feature was a good idea.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on July 26, 2008, 11:00:23 AM
A couple if not every single game for the XBLA released after Hexic 2 was a waste of time, although next Friday will see the release to Geometry Wars, with Geometry Wars 2. It should be fantastic !


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on August 02, 2008, 12:20:26 PM
Small update.

I've been doing a little bit of coding recently, not much. The one thing that i've realised about a graphics intensive project is that you need to make graphics. I'm ok with that but whenn you spend time making you realise that your spending time away from coding. So recently as you can see from my blog perhaps in my newest post, i've been thinking about making a simple Tile scrolling engine. Little did I realise however that they are incredibly complicated. So i've worked out roughly what i'd like to do and am going to write a simple proof of concept demo in the coming minutes.

I wouldn't worry about my Heavy Weapon project, its still going on I have post 4 just about ready to reveal, I just need to add code and some pictures and alter the style to a more "chatty" style.

Just to keep you posted.


Title: Re: AngryPuppy DevBlog
Post by: fog on August 02, 2008, 08:26:48 PM
I'm amazed you're doing any coding now that GW:RE2 is out. ;)

The one thing that i've realised about a graphics intensive project is that you need to make graphics. I'm ok with that but whenn you spend time making you realise that your spending time away from coding.
Yeah I find that a problem too. The fact I'm a crap artist doesn't help either. :bunnymonkey:

I wouldn't care, but my game engine automatically loads any new objects I create with default images, sounds etc so that in theory I can test out ideas without making a single piece of media, but I still get sidetracked. Then again it's sometimes good to fire up an art package and get away from coding for a while.  It recharges your coding batteries and messing with graphical ideas can provide some much needed inspiration.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on August 02, 2008, 10:21:04 PM
I'm amazed you're doing any coding now that GW:RE2 is out. ;)

The one thing that i've realised about a graphics intensive project is that you need to make graphics. I'm ok with that but whenn you spend time making you realise that your spending time away from coding.
Yeah I find that a problem too. The fact I'm a crap artist doesn't help either. :bunnymonkey:

I wouldn't care, but my game engine automatically loads any new objects I create with default images, sounds etc so that in theory I can test out ideas without making a single piece of media, but I still get sidetracked. Then again it's sometimes good to fire up an art package and get away from coding for a while.  It recharges your coding batteries and messing with graphical ideas can provide some much needed inspiration.

I guess you've noticed some of my scores then ? hehe. Well I was formally rank #1 on Evolved, but it looks like i'll have to work harder.

I've also come up with another solution but I don't think its possible...anyway, if a level is say 5 screens large or larger, then I create a smaller array which holds multiple arrays. if thats possible then the code becomes less labour intensive but much more extreme...anywho a theory is a theory.

Oh and since GWE 2 is out you can gain further inspiration from their work (not saying you copy, but inspiration is always good, right ?).


Title: Re: AngryPuppy DevBlog
Post by: fog on August 03, 2008, 12:35:39 PM
I guess you've noticed some of my scores then ? hehe.
Not really.  I just know you played Geometry Wars:RE a hell of a lot so guessed you be playing the new one a lot too.

Oh and since GWE 2 is out you can gain further inspiration from their work (not saying you copy, but inspiration is always good, right ?).
Well the original didn't exactly inspire me as I was almost finished Echoes before I ever played it. Echoes was always meant to be an update of Asteroids, but due to the timing of the release it was inevitable it would be compared to GW :)

And I've got no intention of playing GW:RE2 any time soon for a number of reasons.  :bunnymonkey:

I've also come up with another solution but I don't think its possible...anyway, if a level is say 5 screens large or larger, then I create a smaller array which holds multiple arrays. if thats possible then the code becomes less labour intensive but much more extreme...anywho a theory is a theory.
No idea what you're talking about lol :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on August 03, 2008, 07:45:55 PM
I guess you've noticed some of my scores then ? hehe.
Not really.  I just know you played Geometry Wars:RE a hell of a lot so guessed you be playing the new one a lot too.

Oh and since GWE 2 is out you can gain further inspiration from their work (not saying you copy, but inspiration is always good, right ?).
Well the original didn't exactly inspire me as I was almost finished Echoes before I ever played it. Echoes was always meant to be an update of Asteroids, but due to the timing of the release it was inevitable it would be compared to GW :)

And I've got no intention of playing GW:RE2 any time soon for a number of reasons.  :bunnymonkey:

I've also come up with another solution but I don't think its possible...anyway, if a level is say 5 screens large or larger, then I create a smaller array which holds multiple arrays. if thats possible then the code becomes less labour intensive but much more extreme...anywho a theory is a theory.
No idea what you're talking about lol :)

I see, Echoes is certainly an update to Asteroids...a very good update. Shame about not playing GW:RE 2 since its a really beautiful game and has 6 different game modes. Or maybe 360 troubles, no MS points or other reasons...

I was reffering to making an array which each part of the array is used to open a section of a level. I'll have to test this proof of concept soon. The last one I did had horrible code but worked for all purposes i'd so asked it too.


Title: Re: AngryPuppy DevBlog
Post by: fog on August 03, 2008, 08:36:03 PM
Shame about not playing GW:RE 2 since its a really beautiful game and has 6 different game modes. Or maybe 360 troubles, no MS points or other reasons...
Oh I will play it eventually.  I have several thousand MS points waiting to purchase a number titles over the next few weeks as there is some cool stuff coming up on XBLA.

I didn't play the original GW:RE much as I'd already spent several months playtesting Echoes and just needed a break from twin stick shooters. So the last thing I need is to OD on GW:RE2 when I still have several months of testing on mono to do :)

I'm sure I would find it quite inspirational in some way, but not for mono as that's already designed.  Maybe on the next project though ;)

I was reffering to making an array which each part of the array is used to open a section of a level. I'll have to test this proof of concept soon. The last one I did had horrible code but worked for all purposes i'd so asked it too.
Ah right I follow you now.  Why can't you just put the whole level in one array then?  Size can't be a problem, and it should make coding a lot simpler if everything is in one array.  Unless by "section of a level" you mean a whole new area and that two "sections" within the same level are never displayed at the same time?  Actually I might even be inclined to put them withing the same map array too and just jump to a different position when you reach a specific map location like an area boundary or a door.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on August 03, 2008, 09:34:53 PM
Shame about not playing GW:RE 2 since its a really beautiful game and has 6 different game modes. Or maybe 360 troubles, no MS points or other reasons...
Oh I will play it eventually.  I have several thousand MS points waiting to purchase a number titles over the next few weeks as there is some cool stuff coming up on XBLA.

I didn't play the original GW:RE much as I'd already spent several months playtesting Echoes and just needed a break from twin stick shooters. So the last thing I need is to OD on GW:RE2 when I still have several months of testing on mono to do :)

I'm sure I would find it quite inspirational in some way, but not for mono as that's already designed.  Maybe on the next project though ;)

I was reffering to making an array which each part of the array is used to open a section of a level. I'll have to test this proof of concept soon. The last one I did had horrible code but worked for all purposes i'd so asked it too.
Ah right I follow you now.  Why can't you just put the whole level in one array then?  Size can't be a problem, and it should make coding a lot simpler if everything is in one array.  Unless by "section of a level" you mean a whole new area and that two "sections" within the same level are never displayed at the same time?  Actually I might even be inclined to put them withing the same map array too and just jump to a different position when you reach a specific map location like an area boundary or a door.

I probably will go with a single array personally since it loads it all at once and so i'm not looking for text files when it comes to compile time. I've seen a few tutorials on large scrolling 2D areas but dislike the way they do things, even though its probably the best, its just, I like to have a fair amount of Maths in my code, don't know why...

I completely see whereyou are coming from regarding OD on GW when Mono is on the build and will require vast amounts (not vast, but some) of testing. Could the next project be the fabled Tension project ? Going directly to 360 no middle man but with a middle man download for the PC. All in all sounds good...


Title: Re: AngryPuppy DevBlog
Post by: fog on August 04, 2008, 12:52:39 PM
... its just, I like to have a fair amount of Maths in my code, don't know why...
It's because most people that enjoy coding are the sorts of people who like problem solving and, although there may be simpler solutions, using a lot of maths is far more satisfying.  We are all geeks after all ;)

Could the next project be the fabled Tension project ? Going directly to 360 no middle man but with a middle man download for the PC. All in all sounds good...
God I've no idea.  The old DBPro code I had running for Tension proved the idea would work well, so it will happen at some stage.  It still has the major problem that designing the levels would take a long time though, so I may do a few quicker projects in XNA before tackling Tension.  I have plenty of alternatives in mind.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on August 05, 2008, 12:41:04 PM
... its just, I like to have a fair amount of Maths in my code, don't know why...
It's because most people that enjoy coding are the sorts of people who like problem solving and, although there may be simpler solutions, using a lot of maths is far more satisfying.  We are all geeks after all ;)

Could the next project be the fabled Tension project ? Going directly to 360 no middle man but with a middle man download for the PC. All in all sounds good...
God I've no idea.  The old DBPro code I had running for Tension proved the idea would work well, so it will happen at some stage.  It still has the major problem that designing the levels would take a long time though, so I may do a few quicker projects in XNA before tackling Tension.  I have plenty of alternatives in mind.

Whichever is easier for you really Fog, most of the stuff (all) produced by the zoo has been gold so far ! It can only get better !

I guess you're right, we are geeks hence our love for complex looking code. My main reason for doing code like I do isto put my friend off the idea of being a programmer, even though he's been offered the same Uni course I have he's never done a single line of code and has no intention of learning anything until he first starts, which by then will be too late. :)


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on August 06, 2008, 06:20:47 PM
New post.

Just thought i'd say what i'm doing this week. I'm doing a couple of single post code samples the first one that i'll do is simulated 2D gravity as exploited by the bouncing ball. It'll be special sinceits all done in less than 20 lines and i'm going to give it a nice pixel art beach ball aswell. Which nicely introduces the next part of my update, since I said previously that I do sprite work I've decided to make a template and have it as a free distributable on my site...you never know when you might need a sprite in a Human form so the template may fulfill a need for you or somebody. I do hope aswell by either end of this week, early next week to show off part of my scrolling engine, its a bit rough and almost works as I want it too. Then once the distractions are out of the way, then its time to continue my Heavy Weapon game...

will update more regularly.


Title: Re: AngryPuppy DevBlog
Post by: fog on August 06, 2008, 06:50:49 PM
Cool.  Looking forward to seeing some of your pixel art.  That's something I could never do myself, but always love the look of.


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on August 28, 2008, 09:00:25 PM
I'm Tempted to overhaul my site. When I do i'll probably use it to showcase Pixel Art templetes (free to take/no credit required) and i'll start adding some of my Flash Templates. I've made a couple of Flash templates so far, one is for a mini game the other is for a slightly larger game, i'm going to build up my collection and have templates for all sizes of game, then all people will need to do is simply change the graphics drop there game code into each section then there good to go. I made a partcle system a while ago, so i'm probably going to clean the code up, make it more visually impressive and release that aswell, so all you'd need to do is make a particle type, then its drag and drop, whenever you need an effect anywhre you call the function...

I do really really want to make a game myself, but working alone is a daunting task, so what i don't do is ever plan too far ahead of what i'm doing. I just haven't done anything so far other than what i've mentioned that i'm satisified with...

I've just been distracted by XNA and C# recently and by making a few sprites and i'm probably going to do a full pixel art page header on the site to show people from the onset that I like Pixel Art !


Title: Re: AngryPuppy DevBlog
Post by: JDog053 on November 08, 2008, 08:17:59 PM
As i'd mentioned elswhere i'm currently working on BattleShips for our University project. We had our brief given to us on the Friday, but as i'd mentioned before, I had the game fully working a day before it was initially set. I'm now working on vastly improving the game from the base brief. All we had to do was put about 4 ships, in different locations,  each ship being 1 space in size. I'm currently adding ships which take up multiple spaces, I have it so it takes up 3 and i'll get to 2 shortly, the Ai will also have the same types of ships. I have a feeling howeer that it'll be finished a good 5 weeks before the deadline.

Upon completion/pre-optimization, i'll post the source code here and i'll see if anyone who remains would be willing to help me optimize as, Thanks to Fog, I only optimize at the end of a project.

I'll upload it once its done.

It is of course written in C# and its fully text based.


Title: Re: AngryPuppy DevBlog
Post by: fog on November 09, 2008, 08:31:53 PM
As i'd mentioned elswhere i'm currently working on BattleShips for our University project. We had our brief given to us on the Friday, but as i'd mentioned before, I had the game fully working a day before it was initially set. I'm now working on vastly improving the game from the base brief. All we had to do was put about 4 ships, in different locations,  each ship being 1 space in size. I'm currently adding ships which take up multiple spaces, I have it so it takes up 3 and i'll get to 2 shortly, the Ai will also have the same types of ships. I have a feeling howeer that it'll be finished a good 5 weeks before the deadline.

Upon completion/pre-optimization, i'll post the source code here and i'll see if anyone who remains would be willing to help me optimize as, Thanks to Fog, I only optimize at the end of a project.

I'll upload it once its done.

It is of course written in C# and its fully text based.

Sounds cool.

I'd love to have done a coding course at college or at school.  I took O-Level Computer Studies but, much to my disappointment, all we did in that was learn about a load of "technology" that's now gone the way of the dinosaurs....paper tape, punched cards, UDG graphics etc.  :P


Title: Re: AngryPuppy DevBlog
Post by: SiN on November 09, 2008, 09:08:14 PM
I'd love to have done a coding course at college or at school.  I took O-Level Computer Studies but, much to my disappointment, all we did in that was learn about a load of "technology" that's now gone the way of the dinosaurs....paper tape, punched cards, UDG graphics etc.  :P
I remember that course. :)

While my teacher was teaching the class about "RAM, hard disk, monitor, etc" and about "Word, Excel, Access" I figured out that we had Visual Basic on the school computers and ignored him in favour of teaching myself how to code. He was actually quite supportive of this, and allowed me to not pay attention in class ... well, he was until I wrote a chat program for the whole class to use, and distracted *everyone* from the lesson. :)

Oh man, I just realized how old that makes me sound. None of the school PCs had internet (heck, most kids didn't have internet at home!), and chat was still this new and amazing technology. :)

Mo


Title: Re: AngryPuppy DevBlog
Post by: fog on November 09, 2008, 11:15:24 PM
While my teacher was teaching the class about "RAM, hard disk, monitor, etc" and about "Word, Excel, Access" I figured out that we had Visual Basic on the school computers and ignored him in favour of teaching myself how to code. He was actually quite supportive of this, and allowed me to not pay attention in class ... well, he was until I wrote a chat program for the whole class to use, and distracted *everyone* from the lesson. :)

Yeah well when I was at school I didn't have that distraction as there were just 4 computers in the school locked in a separate room.  And we only got to go on them for a single 1 hour lesson every month....5 kids sharing each screen  :P

Actually Mo being old does have it's benefits.  Even at your age you can really appreciate how much technology has advanced recently where most kids take a lot of this stuff for granted.  They think Mario64 is retro gaming :)


Title: JDog053 DevBlog
Post by: JDog053 on November 10, 2008, 12:22:31 PM
Ah, a nostalgic feeling is in the air. Not for me (actually, I am coding/have coded a fully text based version of battleships using the console in C#). Anyhoo, as you'd just heard I have finished coding Battleships with everything I mentioned a few posts back. i have no problem posting code here as you all know my code is usually inefficient and most of the time useless.

I have another few battleships files aswell, the one that I care about the most at the moment isn't the one that i'm posting, but a very much simplified version of the game, which has its own problems since it uses methods. the chances are however that I may be posting that code too.

Problems with the below code is that its very long winded, everything is in the main. When both the player and the enemy Ai place there multiple space ships, I couldn't think of another way to do it so you can't have a ship 3 spaces long either hugging a wall or a floor, since it randomly decides horizontal and vertical.

Without further ado the code is ready to be critiqued. Oh, if you'dlike to rin the cde, either open c# 2005 (visual of course) or 2008 and open a Console Application.

Code:
// BattleShips Ver 0.3
// Joel Parkey

//Added AI
//Added Multiple Squared Ships

using System;
using System.Collections.Generic;
using System.Text;

namespace BattleShipsGame
{
    class BattleShips
    {
        static int[,] playerSea = new int[10, 10];
        static int[,] enemySea = new int[10, 10];

        static void clearSeaArrays()
        {
            for (int a = 0; a < 10; a++)
            {
                for (int b = 0; b < 10; b++)
                {
                    playerSea[a, b] = 0;
                    enemySea[a, b] = 0;
                }
            }
        }

        static void drawPlayerArray()
        {
            for (int a = 0; a < 10; a++)
            {
                for (int b = 0; b < 10; b++)
                {
                    Console.Write(playerSea[a, b] + " ");
                }
                Console.WriteLine();
            }
        }

        static void drawEnemyArray()
        {
            for (int a = 0; a < 10; a++)
            {
                for (int b = 0; b < 10; b++)
                {
                    Console.Write(enemySea[a, b] + " ");
                }
                Console.WriteLine();
            }
        }

        static void Main()
        {
            Random RandomClass = new Random();

            int x, y, shipCount, enemyShipCount, shipRotation;
            string xString, yString;

            clearSeaArrays();

            for (enemyShipCount = 0; enemyShipCount < 5; enemyShipCount++)
            {
                x = RandomClass.Next(10);
                y = RandomClass.Next(10);

                //Large 3 Piece BattleShips

                if ((enemyShipCount == 0) || (enemyShipCount == 1))
                {
                    if ((x < 1) || (x >= 9))
                    {
                        enemyShipCount -= 1;
                        continue;
                    }
                    if ((y < 1) || (y >= 9))
                    {
                        enemyShipCount -= 1;
                        continue;
                    }

                    shipRotation = RandomClass.Next(2);

                    if (shipRotation == 0)
                    {
                        if ((enemySea[y, x - 1] == 1) || (enemySea[y, x + 1] == 1))
                        {
                            enemyShipCount -= 1;
                            continue;
                        }
                        else
                        {
                            enemySea[y, x - 1] = 1;
                            enemySea[y, x + 1] = 1;
                        }
                    }

                    if (shipRotation == 1)
                    {
                        if ((enemySea[y - 1, x] == 1) || (enemySea[y + 1, x] == 1))
                        {
                            enemyShipCount -= 1;
                            continue;
                        }
                        else
                        {
                            enemySea[y - 1, x] = 1;
                            enemySea[y + 1, x] = 1;
                        }
                    }
                }

                //Medium 2 Piece BattleShips

                if ((enemyShipCount == 2) || (enemyShipCount == 3))
                {
                    if ((x < 1) || (x >= 9))
                    {
                        enemyShipCount -= 1;
                        continue;
                    }
                    if ((y < 1) || (y >= 9))
                    {
                        enemyShipCount -= 1;
                        continue;
                    }

                    shipRotation = RandomClass.Next(4);

                    if (shipRotation == 0)
                    {
                        if (enemySea[y, x - 1] == 1)
                        {
                            enemyShipCount -= 1;
                            continue;
                        }
                        else
                        {
                            enemySea[y, x - 1] = 1;
                        }
                    }

                    if (shipRotation == 1)
                    {
                        if (enemySea[y, x + 1] == 1)
                        {
                            enemyShipCount -= 1;
                            continue;
                        }
                        else
                        {
                            enemySea[y, x + 1] = 1;
                        }
                    }

                    if (shipRotation == 2)
                    {
                        if (enemySea[y - 1, x] == 1)
                        {
                            enemyShipCount -= 1;
                            continue;
                        }
                        else
                        {
                            enemySea[y - 1, x] = 1;
                        }
                    }

                    if (shipRotation == 3)
                    {
                        if (enemySea[y + 1, x] == 1)
                        {
                            enemyShipCount -= 1;
                            continue;
                        }
                        else
                        {
                            enemySea[y + 1, x] = 1;
                        }
                    }
                }

                if (enemySea[y, x] == 1)
                {
                    enemyShipCount -= 1;
                    continue;
                }
                else
                {
                    enemySea[y, x] = 1;
                }
            }

            drawEnemyArray();
            Console.ReadLine();

            for (shipCount = 0; shipCount < 5; shipCount++)
            {
                Console.WriteLine("Place Ship: " + (shipCount + 1));

                Console.Write("Insert X Co-ordinate: ");
                xString = Console.ReadLine();
                x = int.Parse(xString);

                if ((x < 0) || (x >= 10))
                {
                    Console.WriteLine("Invalid X Co-ordinate");
                    shipCount -= 1;
                    continue;
                }

                Console.Write("Insert Y Co-ordinate: ");
                yString = Console.ReadLine();
                y = int.Parse(yString);

                if ((y < 0) || (y >= 10))
                {
                    Console.WriteLine("Invalid Y Co-ordinate");
                    shipCount -= 1;
                    continue;
                }

                //Large 3 Piece BattleShips

                if ((shipCount == 0)||(shipCount == 1))
                {
                    if ((x < 1) || (x >= 9))
                    {
                        Console.WriteLine("Invalid X Co-ordinate");
                        shipCount -= 1;
                        continue;
                    }
                    if ((y < 1) || (y >= 9))
                    {
                        Console.WriteLine("Invalid Y Co-ordinate");
                        shipCount -= 1;
                        continue;
                    }

                    shipRotation = RandomClass.Next(2);

                    if (shipRotation == 0)
                    {
                        if ((playerSea[y, x - 1] == 1) || (playerSea[y, x + 1] == 1))
                        {
                            Console.WriteLine("Co-ordinate is Occupied!");
                            shipCount -= 1;
                            continue;
                        }
                        else
                        {
                            playerSea[y, x - 1] = 1;
                            playerSea[y, x + 1] = 1;
                        }
                    }

                    if (shipRotation == 1)
                    {
                        if ((playerSea[y - 1, x] == 1) || (playerSea[y + 1, x] == 1))
                        {
                            Console.WriteLine("Co-ordinate is Occupied!");
                            shipCount -= 1;
                            continue;
                        }
                        else
                        {
                            playerSea[y - 1, x] = 1;
                            playerSea[y + 1, x] = 1;
                        }
                    }
                }

                //Medium 2 Piece BattleShips

                if ((shipCount == 2) || (shipCount == 3))
                {
                    if ((x < 1) || (x >= 9))
                    {
                        Console.WriteLine("Invalid X Co-ordinate");
                        shipCount -= 1;
                        continue;
                    }
                    if ((y < 1) || (y >= 9))
                    {
                        Console.WriteLine("Invalid Y Co-ordinate");
                        shipCount -= 1;
                        continue;
                    }

                    shipRotation = RandomClass.Next(4);

                    if (shipRotation == 0)
                    {
                        if (playerSea[y, x - 1] == 1)
                        {
                            Console.WriteLine("Co-ordinate is Occupied!");
                            shipCount -= 1;
                            continue;
                        }
                        else
                        {
                            playerSea[y, x - 1] = 1;
                        }
                    }

                    if (shipRotation == 1)
                    {
                        if (playerSea[y, x + 1] == 1)
                        {
                            Console.WriteLine("Co-ordinate is Occupied!");
                            shipCount -= 1;
                            continue;
                        }
                        else
                        {
                            playerSea[y, x + 1] = 1;
                        }
                    }

                    if (shipRotation == 2)
                    {
                        if (playerSea[y - 1, x] == 1)
                        {
                            Console.WriteLine("Co-ordinate is Occupied!");
                            shipCount -= 1;
                            continue;
                        }
                        else
                        {
                            playerSea[y - 1, x] = 1;
                        }
                    }

                    if (shipRotation == 3)
                    {
                        if (playerSea[y + 1, x] == 1)
                        {
                            Console.WriteLine("Co-ordinate is Occupied!");
                            shipCount -= 1;
                            continue;
                        }
                        else
                        {
                            playerSea[y + 1, x] = 1;
                        }
                    }
                }

                if (playerSea[y, x] == 1)
                {
                    Console.WriteLine("Co-ordinate is Occupied");
                    shipCount -= 1;
                    continue;
                }
                else
                {
                    playerSea[y, x] = 1;
                }

                drawPlayerArray();
            }

            while ((shipCount > 0) && (enemyShipCount > 0))
            {
                //Player Turn

                Console.WriteLine("Player Turn!");

                Console.WriteLine("Enemy Ships Remaining: " + enemyShipCount);

                Console.Write("Insert X Co-ordinate: ");
                xString = Console.ReadLine();
                x = int.Parse(xString);

                if ((x < 0) || (x >= 10))
                {
                    Console.WriteLine("Invalid X Co-ordinate");
                    continue;
                }

                Console.Write("Insert Y Co-ordinate: ");
                yString = Console.ReadLine();
                y = int.Parse(yString);

                if ((y < 0) || (y >= 10))
                {
                    Console.WriteLine("Invalid X Co-ordinate");
                    continue;
                }

                if (enemySea[y, x] == 2)
                {
                    Console.WriteLine("Already Bombed There!");
                    continue;
                }

                if (enemySea[y, x] == 1)
                {
                    Console.WriteLine("Hit!");
                    enemySea[y, x] = 2;
                    enemyShipCount -= 1;
                }
                else
                {
                    Console.WriteLine("Miss!");
                    enemySea[y, x] = 2;
                }
               
                //AI Turn

                Console.WriteLine("Enemy AI Turn!");

                x = RandomClass.Next(10);
                y = RandomClass.Next(10);

                if (playerSea[y, x] == 2)
                {
                    Console.WriteLine("Already Bombed There!");
                    continue;
                }

                if (playerSea[y, x] == 1)
                {
                    Console.WriteLine("Hit!");
                    playerSea[y, x] = 2;
                    shipCount -= 1;
                }
                else
                {
                    Console.WriteLine("Miss!");
                    playerSea[y, x] = 2;
                }
                drawPlayerArray();
            }
            Console.ReadLine();
        }
    }
}

Hope it wasn't too long, any questions, feel free to ask !


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 11, 2008, 04:54:18 PM
As you'll notice the above code is extremely long and clunky and isn't terribly efficient as I have to repeat some of the same code segments, like the user inputting the X and Y coordinate in the players turn and when he places ships.

I've since posting this completely recoded everything into methods, so its all easily accessible and whenever i'd need a function I simply call it in the Main.

I'm at the point where I need to re-incorporate multiple square ships into my newer code. I'll attach the old multiple square ships code from the last post and maybe if somebody could tell me how to improve it to make it act more like it should, then i'd be extremely grateful.

Code:
//Large 3 Piece BattleShips

                if ((enemyShipCount == 0) || (enemyShipCount == 1))
                {
                    if ((x < 1) || (x >= 9))
                    {
                        enemyShipCount -= 1;
                        continue;
                    }
                    if ((y < 1) || (y >= 9))
                    {
                        enemyShipCount -= 1;
                        continue;
                    }

                    shipRotation = RandomClass.Next(2);

                    if (shipRotation == 0)
                    {
                        if ((enemySea[y, x - 1] == 1) || (enemySea[y, x + 1] == 1))
                        {
                            enemyShipCount -= 1;
                            continue;
                        }
                        else
                        {
                            enemySea[y, x - 1] = 1;
                            enemySea[y, x + 1] = 1;
                        }
                    }

                    if (shipRotation == 1)
                    {
                        if ((enemySea[y - 1, x] == 1) || (enemySea[y + 1, x] == 1))
                        {
                            enemyShipCount -= 1;
                            continue;
                        }
                        else
                        {
                            enemySea[y - 1, x] = 1;
                            enemySea[y + 1, x] = 1;
                        }
                    }
                }

My fear is that in order to get this code to run efficiently I may have to lengthen it and use more IF statements. I also hopeto make the bigger BattleShip into a 4 piece and not a 3 piece ship.

Anyhoo, hope i'm not bing too strange. Its just great having time to code, and i'm having a surprising amount of fun coding this game.

I've already gone above and beyond the specification so far, so I know i've passed !

Thanks in advance !


Title: Re: JDog053 DevBlog
Post by: fog on November 11, 2008, 10:25:13 PM
At a glance the code itself isn't too bad, but I'm curious as to why you have separate loops for each ship size?  The logical thing to do would be to have a single Method/Function that places the ships and you just pass into it how big the ship is you want to create (along with whether it's a player or enemy ship I guess)

And why are your co-ords in the format y,x and not x,y ?  Is it just to confuse people like me?  :)

Also if you want to make the code more readable (for others if not yourself) then you might want to look at an Enumerator for storing your grid contents.

ie:
Code:
if (enemySea[y, x] == content.Ship)

is more readable than:
Code:
if (enemySea[y, x] == 1)

Not a big thing and I might not bother, but for a university project it's the sort of thing that might get an extra mark or two  :P


Title: Re: JDog053 DevBlog
Post by: TheKhakinator on November 12, 2008, 02:17:22 AM
Excel actually has some functions that ask for input in the form y,x. No idea why.


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 12, 2008, 05:59:18 PM
At a glance the code itself isn't too bad, but I'm curious as to why you have separate loops for each ship size?  The logical thing to do would be to have a single Method/Function that places the ships and you just pass into it how big the ship is you want to create (along with whether it's a player or enemy ship I guess)

And why are your co-ords in the format y,x and not x,y ?  Is it just to confuse people like me?  :)

Also if you want to make the code more readable (for others if not yourself) then you might want to look at an Enumerator for storing your grid contents.

ie:
Code:
if (enemySea[y, x] == content.Ship)

is more readable than:
Code:
if (enemySea[y, x] == 1)

Not a big thing and I might not bother, but for a university project it's the sort of thing that might get an extra mark or two  :P

This is about a week old. I was going to use Enumerated types, but i'm not to keen on them really.

When I recoded it I took into account making the code perfectly readable.

If possible Fog, could you expand on placing the ships, of multiple square sizes ?

It is in the format y, x becaus an array in C# sees the Y axis before the X axis.

When my re-coded version is completed i'll put the code up here aswell, you should realise what a difference a week makes.

Thanks for the comments guys!

Since i've coded the game twice in a week, I may be tempted after the hand in date, to code it completely in Flash and distribute it for sale, but you know me, it may never happen, just another idea to put on the backburner, eh ? :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 14, 2008, 06:23:47 PM
I've been coding the game a little more and i've settled upon a better method for placing ships of multiple square sizes. This method is better as it only requires 2 directions, horizontal, vertical and it can be placed at every point in the array.

After I finish coding it for my Ai, i'll upload the code here, then maybe I can be told if the code can be improved further.


Title: Re: JDog053 DevBlog
Post by: fog on November 14, 2008, 07:28:52 PM
I've been coding the game a little more and i've settled upon a better method for placing ships of multiple square sizes. This method is better as it only requires 2 directions, horizontal, vertical and it can be placed at every point in the array.

After I finish coding it for my Ai, i'll upload the code here, then maybe I can be told if the code can be improved further.

Cool.  Although I'm the last person to be giving out advice on coding in C#....you probably know more than me :)



Title: Re: JDog053 DevBlog
Post by: JDog053 on November 14, 2008, 08:45:44 PM
I've been coding the game a little more and i've settled upon a better method for placing ships of multiple square sizes. This method is better as it only requires 2 directions, horizontal, vertical and it can be placed at every point in the array.

After I finish coding it for my Ai, i'll upload the code here, then maybe I can be told if the code can be improved further.

Cool.  Although I'm the last person to be giving out advice on coding in C#....you probably know more than me :)


I may know more C#, but I most certainly don't know anymore about programming than you. You will most definately be able to help me optimize code better than I. I have a few areas with my code that I don't like at all, they just seem too long.



Title: Re: JDog053 DevBlog
Post by: JDog053 on November 18, 2008, 10:17:31 PM
Well, battleships is just about fully optimized into methods. I've done above and beyond what is required to get 100% so i'm not complaining.

Once I get the last few bugs ironed out, i'll erm...tell you about it :)

So since my project is finished so many weeks in advance I can now concentrate on getting back into Flash after a long Hiatus. I've been tampering recently with my template, just updating it more to my recent style and looking for whene I can optimize the code whilst at this early stage.

I'm back at the stage once again where I require an idea. Good news is however that I have a few new friends willing to help me! (really they are old friends but they understand more than before...).

So when I/we get the idea i'll slap together an alpha build, no matter how rough then post it here for you guys to look through. Feedback is important!


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 21, 2008, 09:55:35 PM
Well, Battleships wise, everything is in methods and sorted.

I have just managed to code the section for the AI placing ships (bigger ships than just one space). I had to make sure that no space the big ship would occupy has been occupied by anything else.

Basically, I think i'm finished. I just need to do what I have done for the AI and translate that to the player. My only fear as that whenever a user plays the game and places their 7 ships, they'd get a little bit annoyed, too much validation involved, just to stop the prgram from crashing!

All in all I love C# and i'm glad I chose the course. It is helping me with finishing programs *touch wood*. I have found out though just how boring battleships is as a game :(.

I have been thinking about Flash recently. I think the first couple of games I make should be done using Flash's vector graphics. I'm also tempted to involve physics in some way and wouldn't mind doing a traditional shmup style game since i've had the code lying around for nearly a year.

If I do anything I wouldn't mind making it have a level by level dynamic similar to Sequence in Geometry Wars 2. Atleast this would allow me to use my larger template. Although for level testing purposes i'd probably end up using the smaller template.

Well i'm rambling again, good chance none of that'll happen, but I wouldn't mind doing a vector shmup :)


Title: Re: JDog053 DevBlog
Post by: fog on November 22, 2008, 11:28:48 AM
Good work on Battleships :)

If I do anything I wouldn't mind making it have a level by level dynamic similar to Sequence in Geometry Wars 2.
I haven't played that, but if you mean what I think you mean then good luck :)  The coding isn't necessarily difficult, but designing levels is an incredibly tedious process and, if done properly, much harder to balance properly than it initially seems.  That's why I've avoided it since DUO and one of the reasons Tension has been put on temporary hold.


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 22, 2008, 03:30:57 PM
Good work on Battleships :)

If I do anything I wouldn't mind making it have a level by level dynamic similar to Sequence in Geometry Wars 2.
I haven't played that, but if you mean what I think you mean then good luck :)  The coding isn't necessarily difficult, but designing levels is an incredibly tedious process and, if done properly, much harder to balance properly than it initially seems.  That's why I've avoided it since DUO and one of the reasons Tension has been put on temporary hold.

Thanks.

Yeah, it does seem challenging but that'd be cool. I've had the frame work of the regular enemies for a long time so I could do a simple version of a game...I'll just see how it goes. I have been thinking about control schemes though.

I'm tempted to do teh Trusty Mono/Echoes/DUO/Crack style but as the other option have it reversed, so WASD for movement with acceleration and friction and mouse to aim.  Atleast i'm not being so tricksy :)

I do however really like the player from the zoo games as its simple and it tells you which way you're facing.


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 28, 2008, 08:26:25 PM
With Battleships being a distant memory I decided to do some more serious coding in Flash.

First thing i've done is create two control methods, one where the user uses WASD or Arrow keys to move and mouse to aim, and the trusted version originally by the zoo where its mouse to move keyboard to aim.

You can now change your method of control in the options menu and everything works fine :)

The first thing i'm going to do for the proper game is to make a practice mode. The practice mode allows people to pick which enemy types they go against , it also allows me to make each enemy type sequentially and add and balance them together!

When I get my first balanced enemy on screen i'll post a demo online!



Title: Re: JDog053 DevBlog
Post by: fog on December 02, 2008, 10:20:50 AM
First thing i've done is create two control methods, one where the user uses WASD or Arrow keys to move and mouse to aim, and the trusted version originally by the zoo where its mouse to move keyboard to aim.

You can now change your method of control in the options menu and everything works fine :)
Good move.  As I've mentioned before I can't do that keys to move, mouse to aim mode, which is the main reason my games control the other way around.  :bunnymonkey:

The first thing i'm going to do for the proper game is to make a practice mode. The practice mode allows people to pick which enemy types they go against , it also allows me to make each enemy type sequentially and add and balance them together!
Good thinking.  That would be a pretty neat game mode and certainly makes development easier.  :kangaroo:


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 09, 2008, 03:08:44 PM
Thanks Fog!

I've just been to Disneyland Paris for 8 days but i'm back now so I can continue coding. To be honest, I was coding whilst I was away.

I had a thought. I'm interested in doing 3 game modes aswell as the practice mode. I'd also like to do the other two game modes after the main game mode as unlockables! or shall I do it without a password system where once the user gets past a certain points value and dies on the game over screen it produces a code where the user can then type the code elshwere and get something...

Oh i'm thinking too far ahead again :(

Practice - All enemy types are selectable, infinite life and no score or multiplier.
Survival - Just a regular mode where you against a variety of enemies, very rarely in combination.

not sure about the other two...so i'll just do practice mode and Survival for the time being.

I love my mini-laptop, definately makes programming on the fly really easy as you were saying.


Title: Re: JDog053 DevBlog
Post by: fog on December 09, 2008, 06:46:36 PM
I've just been to Disneyland Paris for 8 days but i'm back now so I can continue coding.
Hope you had a good time.  I bet it was cold lol :)


Oh i'm thinking too far ahead again :(
Well I'm not one for planning things in too much detail in advance, but it's important to consider things like game modes as you'll need to structure your game code differently in order to accomodate them.  That's one of the few things I make a note of even when I haven't got a clue what the gameplay will be like. :)


I love my mini-laptop, definately makes programming on the fly really easy as you were saying.
Yeah I never shut mine down now and wherever I am I can flip the top open and be typing in seconds.  Ace :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 10, 2008, 12:42:16 PM
It was a good trip, I went on the Tower of Terror a fair amount, it was awesome!

For me coding game modes/planning for game modes is just as simple as creating a button with the game mode name on it, then a section of code allowing the user to click on the button taking you to the game mode. Its just draw the button, add the function done :)

I might just have the practice mode button there for the time being until that is completed, then i'll add the survival button later. My main aim is to not over burdon myself when it comes to the coding. Practice mode is the best way to do it, I code an enemy, then I stick in a segment of code that can only be accessed when that enemy type is selected which I may do it using a nifty picture and arrow scrolling system, or a drop down menu...

I tend to use my mini-laptop at the kitchen table so i'm not so much a recluse as being upstairs. That reminds me, i'm yet to put any BinaryZoo games on my top, i'll have to do that later, and get myself a Mini mouse!


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 14, 2008, 12:50:17 AM
Warning long post

I've been planning alot more coding recently. Since i'm very keen on Methods/Functions for the idea of not repeating code anywhere. I was thinking, is it possible to shorten my code. The answer is it is possible, just tricky since I code small programs anyway.

I'm not sure if flash can handle strings very well, so i'll do a little test.

I managed to work out how to incorporate my particle system into the game and hence how to do asteroids much like I was before, although before it psuedo works. The method I have now definately works in theory, yet to be put into practice. Its also nice having a particle system that I can just copy and paste with ease into my game code without dstroying anything. The inspiration to get it to work came from Battleships where I set a string to be called a ship name before calling the game message variable, at this point the new ship name that was inserted is simply slotted into all my writelines instead of coding a different message per ship it was much easier this way. The examiner was also pleased so i'm guessing he liked it.

Anyhoo i'm using this same principal. I simply set the X and Y position as it destroys to the source of the particle explosion. Simple. Same for other asteroids...although this technique can also be used for defining the size of asteroid in one function.

Shame i'm just doing balls as my first enemy psuedo mono that split when shot.

I love coding again ! As I improve everything seems better. Also after finishing battleships I have an urge to work on my proper game. Shame battleships wasn't how I envisioned it :(


Title: Re: JDog053 DevBlog
Post by: fog on December 15, 2008, 01:32:03 PM
Oh yeah, half the fun of coding is problem solving so when you come up with new techniques it always gives your motivation levels a little boost :)

Anyway it sounds like you've made a start on re-usable code and that's always a good thing (although TBH I probably get a bit obsessed with making just about every piece of code re-usable when it's not really necessary).

So when you say you set variables before calling these methods/functions, can you not just pass variables into them as parameters?


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 15, 2008, 02:10:18 PM
Anyway it sounds like you've made a start on re-usable code and that's always a good thing (although TBH I probably get a bit obsessed with making just about every piece of code re-usable when it's not really necessary).

So when you say you set variables before calling these methods/functions, can you not just pass variables into them as parameters?

I'm a fan of making code re-usable but maybe not your level.

I think thats what i'm doing. I'll add some sample code below, you'll maybe see what i'm talking about. Unless after reading my code it is something different, we'll wait and see.

I'd set the Last_X and Last_Y variables at the top of my code when I asign all variables. Its just a matter of changing there values. Particle_Effects() is my function. I set The Effect_Type variable to a string instead of a number because its alot more readable that way and Flash doesn't discriminate different types of variables.

Code:
/* All enemy Movement code and
such can go above here. When its
destroyed store the last positions
of the enemy */
 
//In the ball code
Last_X = ball._x;
Last_Y = ball._y
ball.removeMovieClip();
Effect_Type = "Explosion";
Particle_Effects();

//In the particle or enemy code
particle._x = Last_X;
particle._y = Last_Y;

//Move the particles from this position.

If thats what you're talking about thats what I do. If not however, could you elaborate.


Title: Re: JDog053 DevBlog
Post by: fog on December 18, 2008, 11:01:00 AM
Remember I know nothing at all about Flash but in other languages you'd just do:

Code:
//In the ball code
Particle_Effects("Explosion",ball._x,ball._Y);
ball.removeMovieClip();

//In the particle or enemy code
public void Particle_Effects(string particleType ,int x,int Y);
particle._x = x
particle._y = y
//etc

Surely you can pass values to functions/methods without having to use "global" variables as in your example?


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 18, 2008, 12:33:02 PM
I think you can do what you'd mentioned, its just that I've decided to shy away from it. My method just simply changes the value of Last_X and Last_Y before calling a function, your method however is alot safer from a technical standpoint.

Oh i've been thinking regarding my second movement system, where you move with WASD or Arrow Keys and aim with Mouse. Instead of calculating the angle based upon where the cursor is in relation to the ship I could do it based upon the centre of teh screen. This method is used to combat people dragging the mouse everywhere the ship goes so both control schems will act the same but opposite. I think its a good idea and i've been doing some preliminary tests and it feels alot more natural.


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 24, 2008, 01:42:23 PM
I've been doing alot more programming recently to great effect!

I've added a save state feature which allows all highscores for all game types to be saved. Although I haven't done it yet I do intend to hve all games options saveable so people don't need to mute the music or change controller preferences every time they play. Which should be good.

I'm extremely tempted with the idea of unlockables in Mania since I was thinking, what keeps people coming back to a game, the fact that they can get more. so unlocking different game types or perhaps the chance to pick a different ship design or even multicoloured explosions...

Since I had most of Mania written before but in crap code I have had to re-write the vast majority (all) of the code. Thats what is taking so long. The good news is everything I am adding into Mania may be re-useable at some point in the future in other games...

Pretty much, the player ship is added and both the control methods are incorporated. There is one glitch so far that I have no idea how to solve or why it occurs. I'll PM you FOG regarding it, maybe you can help :)

I just need to add the bullets the ship again.My fear is calculating the direction may be a tad hard. The good news is i'll only need to add the calculating code once. It should also make adding the other bullets much easier aswell.

So far so good and i'm enjoying the project.


Title: Re: JDog053 DevBlog
Post by: fog on December 26, 2008, 05:15:55 PM
I'll PM you FOG regarding it, maybe you can help :)

Go for it :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 26, 2008, 07:44:21 PM
I'm taking a break on Mania for a few weeks as I have a few other programming related things to do. I will still send you that PM though probably around New Year time.

I'm curently designing my JDog053 logo which at the moment is pretty simple, but thats all I need. I'm planning on having it at the front of my game as a splash screen preloader and also making it a link to the blog so in the new year i'll probably completely re-design the blog. I'll keep the adsense there though :)

I was reading my italian friends blog and he says the most succesful flash games are usually very simple to use and tend to be crisp clean clones. I'm personally not to keen on cloning but I do like the idea of taking a game idea and improving on it. One of the games he highlighted i'm pretty tempted to see if I can code it straight off, then improve it aswell by adding a unique scoring system or something.

The main reason i'm doing this is to test out the game template and a few other neat features that i've coded.

Regarding my logo i'm pretty tempted to make a poll over at the blog (if thats possible) build up some interest to try and get them to visit the site and vote. I'll explain more later :). My initial quest is to bring people to my site. My italian friend was explainingg that besides the game if people show more interest they need a place to go and at the moment my blog doesn't cut it. I'm planning an XBLA style run-down of a game I make with a few screenshots and a small making of to go with every game I produce.

This is however going to be a busy year. My new years resolution (you've seen it here first people) is to both make a game, get the game either sponsored by Miniclip or another Flash games host and have the blog updated atleast once a month! The main reason fr this is i'd like to earn enough money from a game so I can go to Disneyland paris with my friend for a 2 or 3 day holiday since we both like the place but have never been together.

phew, that was a long post.

I do realise though, its not about the money its about the game I produce. It just sucks being skint all the time ;)


Title: Re: JDog053 DevBlog
Post by: T_M_C on December 27, 2008, 10:13:31 AM
Quote
I do realise though, its not about the money its about the game I produce. It just sucks being skint all the time

I know the feeling.   ::)

Quote
This is however going to be a busy year. My new years resolution (you've seen it here first people) is to both make a game, get the game either sponsored by Miniclip or another Flash games host and have the blog updated atleast once a month! The main reason fr this is i'd like to earn enough money from a game so I can go to Disneyland paris with my friend for a 2 or 3 day holiday since we both like the place but have never been together.

My new years resolution.
To behave on forums.  ;)

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 28, 2008, 11:07:33 AM
Well, I hope it goes well for us both then :)



Title: Re: JDog053 DevBlog
Post by: fog on December 28, 2008, 06:04:47 PM
I do realise though, its not about the money its about the game I produce. It just sucks being skint all the time ;)
Actually it can be just about the money, you just need to decide what your priorities are.  If you need to do it for the money then the worst thing you can do is pretend, and that includes to yourself, that you're really in it to make some great original artistic expression.

As you said in the rest of your post, if you want to make cash then the best way is to "clone" something that's already proved to be popular.  Add a little twist to the gameplay if you want, but don't lose sight of what makes the original game popular and therefore potentially lucrative in the first place.

There's a lot of snobbery about just writing games for money but there's nothing wrong with that IMO as long as you're honest about it.  We all have to pay the bills somehow :)

My new years resolution.
To behave on forums.  ;)

TMC
lol  :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 28, 2008, 06:48:36 PM
I do realise though, its not about the money its about the game I produce. It just sucks being skint all the time ;)
Actually it can be just about the money, you just need to decide what your priorities are.  If you need to do it for the money then the worst thing you can do is pretend, and that includes to yourself, that you're really in it to make some great original artistic expression.

As you said in the rest of your post, if you want to make cash then the best way is to "clone" something that's already proved to be popular.  Add a little twist to the gameplay if you want, but don't lose sight of what makes the original game popular and therefore potentially lucrative in the first place.

There's a lot of snobbery about just writing games for money but there's nothing wrong with that IMO as long as you're honest about it.  We all have to pay the bills somehow :)

My new years resolution.
To behave on forums.  ;)

TMC
lol  :)

Just to note this isn't at rant :)
I decided to put it in spoiler tags to avoid forcing people to read a large block of unfriendly text.

Summmary
I'm tough to make games for because i'm so picky.
I like the idea of profiting from games but I am never pleased with "simple" games.
I'm making Mania because I love what BinaryZoo has done to the Shmup World
I'm making a smaller "Test Project" because i'd like to see how they (MiniClip) value games and test the system.
Ultimately i'd like both to meet (Great game design ideas and a labour of love) with (High Profit) a much deserved reward for a few hard months coding...

Spoiler (click to show/hide)


Title: Re: JDog053 DevBlog
Post by: T_M_C on December 29, 2008, 11:05:53 AM
Even the industry Pro's can't get it right all the time.

Take for instance Richard Garriots, Tabula Rasa.

Now i'm a huge huge fan of mr Garriot, and he's made a personal fortune from writing and creating computer games, but his latest multi million dollar mmorpg has been canned just after a few months of release due to poor sales.

The financial investment in the game runs into millions of dollars and years of dev time.  And Mr Garriot knows the industry inside out.
So i was quite shocked to see how quickly the game was canned after all the hype and investment put into it.

On a more personal note.
I think a more sensible approach would be to write games that you enjoy playing and that you can finish coding.  If you're coding a game you don't particularly enjoy playing you're unlikely to see it through to completion.  In my experience.

Then once the game is complete you can judge user feedback to see if your view of the game is the same as the majority of its players.
You may think your game is great but the majority think the opposite.
 
From the user feedback you can get a better idea of what works for the general public, which may or may not coincide with your own views.


Incidentally.
I heard a great quote over christmas, from Winston Churchill.

"If you find a job you enjoy doing, you'll never work again"  :)

I can relate to that.  I code first and foremost for the love of it.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on December 29, 2008, 09:50:16 PM
I'm not sure if Tabula Rasa is  actually a decent game or not, but it wouldn't be the first great game to be a commercial flop.  Many of my favourite games of the last few years have sold a handful of copies  :bunnymonkey:


On a more personal note.
I think a more sensible approach would be to write games that you enjoy playing and that you can finish coding.  If you're coding a game you don't particularly enjoy playing you're unlikely to see it through to completion.  In my experience.
Yeah I think that's most other developers experience too and another part of the tricky development balancing act.

Maybe JDog has the right approach in that respect.  It should be relatively quick to develop a few small Flash games and if one of them isn't very popular you have others to fall back on.  Also if it's a project that you don't particularly enjoy working on then at least it's done with quickly.


Incidentally.
I heard a great quote over christmas, from Winston Churchill.

"If you find a job you enjoy doing, you'll never work again"  :)

I can relate to that.  I code first and foremost for the love of it.
That's superb.  :)

TBH though while I enjoy coding I'm not sure I'd want to code for a living for fear that I'd no longer enjoy it if I had deadlines to meet, sales figures to worry about and design restrictions to work to.  Then again....


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 30, 2008, 03:13:49 PM
If I keep writing long posts I will do the Summary system as displayed both here and in my above post.

Gotta say, its great talking to you guys. You always put me back on track!

Summary
I enjoy Flash games and the coding environment.
I am not very creative but do enjoy problem solving.
Some problems I can't solve, others can.
I enjoy very particular things in games.
I'd like to make a game to the style I like.
mania had bad frame rate, development stopped, re-coded much faster than before better peformance.
Frame rate a nissue, a game where it doesn't have to do much updating.
The games I like to play are actually very complicated although they seem simple.

Spoiler (click to show/hide)


Title: Re: JDog053 DevBlog
Post by: fog on January 01, 2009, 03:21:42 PM
Gotta say, its great talking to you guys. You always put me back on track!

Yeah just talking about coding is a great motivator.  At least you can do that IRL as you are taking a programming course.  If I try and discuss coding with anyone that I come into contact with IRL then they think I'm a geek....rightly so mind :)

Then I became hampered by my own creativity since I don't posses any and although I enjoy pixel art in the small scale I couldn't sit down and create a full lush pixel art game on my own. I do however enjoy the clean crisp lines of a vector based game which luckily for me Flash is a vector based graphics program. The hard part now is just combining all the elements I enjoy in games into a relatively low powered platform...

Like I've said before, any creative limitations you might have shouldn't stop you writing good games.  Great gameplay with shit graphics can still be a great game, whereas crap gameplay with great graphics will always be a crap game.

Then I was thinking about how would the user select an individual element of the array and swap them over either horizontally and vertically or how would I go about checking if either 3 or more of the same type of pieces are adjacent...where at this point I had a headache as I realised it was going to be tricky to code.

In short, the games I enjoy although seemingly simple are infact very complicated and if i'm to make a game much to the style I enjoy I may age about 50 years in the process. Not to mention I work alone and don't have another coding brain at hand.

Likewise with coding.  You don't need to be a great coder to write great games.  Game design and game coding are two very different things and I know which one it's most important to be good at :)

The problems you listed for the puzzle game are very easily solvable so if you need any specific guidance just say.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 01, 2009, 07:21:25 PM
Thanks Fog

Its good to know the help is there :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 02, 2009, 10:57:45 AM
Quote
It is annoying however that whenever you develop a game the frame rate becomes an issue

Well, thats an issue, i've always had to deal with.

Going right back to the old 8 bit days of the c64 in the 80's, framerate issues have always been a major problem for me.

I've always wanted to do more than what the system would let me.

Then i developed better coding techniques as my knowledge increased and i realised that i could do more than before.  But it usually required an awful lot of hard work to achieve better results.

Simply blaming a slow system was a poor excuse if i knew there were better ways of coding something.  Optimizing code.

There are alot of general tips available on the net for increasing framerates.

One tip for instance, is that the display only needs to be refreshed / updated at a minimum of 30 htz / fps, as the average human eye can't process images any faster.  Therefore updating your display faster than 30 htz is pretty pointless from a visual point of view.

However, it's often advantagious to have your gameloop running at a much faster rate than 30 htz, especially for collision detection, when a faster gameloop update usualy means smaller time steps ( integration ), which makes for easier collision detection.

Therefore having two different timing systems in a game can help to increase the overall framerate as drawing the display is usually one of the biggest time killers.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 02, 2009, 11:57:17 AM
Thanks, that sounds pretty straight forward. I already had my timings locked at 30 fps second. There are a few limitations of flash though that i'm hoping to sort out like having everything refresh and update in one game loop, which believe it or not is very difficult as they want you to give each object its own loop. I think I can sort it out get it to work, but on any project I work on that'll be the last thing I work on...then graphics.


Title: Re: JDog053 DevBlog
Post by: fog on January 02, 2009, 09:36:09 PM
Quote
It is annoying however that whenever you develop a game the frame rate becomes an issue

Well, thats an issue, i've always had to deal with.

Going right back to the old 8 bit days of the c64 in the 80's, framerate issues have always been a major problem for me.
I know we are going slightly off topic here, but I do sometimes wonder whether faster processors have made everyone lazy because they allow them to get away with unoptimizes, sloppy code.  And I'm not talking about indi/hobbyist coders here, but the supposed pro's.  Some seem to be able to do amazing things at a rock steady framerate and others struggle to get something running at a double digit framerate.

FWIW I always find little tricks that you come up with to boost fps among the most satisfying.  I know mono nearly didn't happen until I only update the background colours 3 times a second instead of every time it should have changed.  Not a very difficult hack to get working, but quite pleasing to find that everyone just assumed it was updating in real time.  I'd be rich if I'd had a quid for every email I've had asking about that :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 02, 2009, 09:59:56 PM
You know, I thought it was updating in real time, it definately seems like it is. great job with that!


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 03, 2009, 10:33:37 AM
Quote
FWIW I always find little tricks that you come up with to boost fps among the most satisfying.  I know mono nearly didn't happen until I only update the background colours 3 times a second instead of every time it should have changed.  Not a very difficult hack to get working, but quite pleasing to find that everyone just assumed it was updating in real time.  I'd be rich if I'd had a quid for every email I've had asking about that

Excellent.

Likewise, my racing game started out as full a on 3d game, the cars all had suspension and could roll and crash about in full 3d.
But because i was using blitz3d and a 3rd party physics wrapper, my system could only manage 2-3 cars at most, and thats not allowing for any background level geometry.
So a 3d game was out of the question.
Therefore i decided to go a 2d route ( still using 3d geomtry ), but the cars turned into flat 3d planes all viewed from above in order to keep the framerate high and allow for a large number of cars.

Then an actual game became a real possibility.

There was really very little i could do in coding terms to get around this.  It was a system limitation.

Quote
I know we are going slightly off topic here, but I do sometimes wonder whether faster processors have made everyone lazy because they allow them to get away with unoptimizes, sloppy code.  And I'm not talking about indi/hobbyist coders here, but the supposed pro's.  Some seem to be able to do amazing things at a rock steady framerate and others struggle to get something running at a double digit framerate.

Yeh, i agree with you there.

I think code optimisation is always something to bear in mind when coding.  Especially on routines you know are time killers.
Not every routine needs to be optimised though , but identifying time critical routines and then optimiziing them is a very good habbit to get into.

Wish i would follow my own advice more often.  :)

But getting a piece of code to work as it should, bug free, should be the main priority and then to optimise it.

But i think we can all identify times when we're guilty of lazy coding practicies, it's so easy to build up a library of generic code, we can drop into our projects to speed up the dev time without bothering to take the time to optimise it.

I'd also like to point out, that optimisations arn't restricted only to code.  But graphics and sound too.

A 32bit .tga graphic file with an alpha layer for instance takes longer to draw than the same image at a low color bit depth ( having more data associated with it ), therefore dropping all your images color depths could be a way to speed things up.

A lower screen resolution also means a quicker screen redraw.

Also sound files, especially those played via software ( cpu ) can affect speed issues, as opposed to sounds and music played via hardware.

So there are alot of areas to bare in mind when thinking about speed.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on January 03, 2009, 04:38:49 PM
Therefore i decided to go a 2d route ( still using 3d geomtry ), but the cars turned into flat 3d planes all viewed from above in order to keep the framerate high and allow for a large number of cars.
Is that right?  Christ I'm going to have to check that now as I always assumed the cars were simplified, but definitely 3D models.  The mind plays tricks :)


But getting a piece of code to work as it should, bug free, should be the main priority and then to optimise it.
Definitely.  I'll always try to write bug free code first and then optimise it.  Bug free code is easier to optimise than optimised code is to debug.


Writing in XNA has been an interesting exercise with regards to optimising so far as most of the things that were an issue in DBPro are no longer a problem, but there are now a host of other things to worry about that I never considered in DBPro.

BTW Auto Cross racing would be ace written in XNA and played over XBox Live ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 04, 2009, 02:10:16 PM
Autocross racing would definately suit being on Xbox Live, i'd definately buy it. Speaking of which i'm getting Duotrix soon as i'd promise, just haven't had time to go into town.

Today I modified my particle system for a game concept i'm trying out. the best way I can describe it is E4 meets Boom Boom Rocket, infact thats the best description I could possibly give it. Its not terribly hard to code (fingers crossed) and it should also be pretty fun aswell i've worked out how I can tweak the game to allow for highscores the size i'm accustomed to. At the moment though its pretty fun watching all the particles onscreen, surprisingly I can get about 150 each with its own info running at 30FPS so thats pretty good, I would never need that much though... I'll try and get the rough concept done by next week.

I'm also writing the code at this point so it can be read and not for optimization purposes but as TMC said I am keeping it in mind whilst watching out for bugs. Since I want my new years resolution to go succesfully I will be definately emailing everything in a working form to you guys once i'm happy with it for feedback purposes. I've never failed to keep a new years resolution so far so I don't want to be let down this year...

I also modified my logo, i'll post the updated version in the logo thread. I didn't however touch the 0's and o's as I couldn't think of what to do. I definately tampered with the S/5 though to what I think worked out nicely.


Title: Re: JDog053 DevBlog
Post by: fog on January 04, 2009, 04:13:28 PM
...the best way I can describe it is E4 meets Boom Boom Rocket...
I loooooove E4 but hated BBR so this should be interesting :)


I've never failed to keep a new years resolution so far so I don't want to be let down this year...
I've never broken a resolution in years either....but then I did stop making them when I was about 12 and realised I couldn't keep them :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 04, 2009, 06:03:36 PM

Quote
I loooooove E4 but hated BBR so this should be interesting :)

I hope I don't dissapoint

Quote
I've never broken a resolution in years either....but then I did stop making them when I was about 12 and realised I couldn't keep them :)

Lol. I'll do my best!


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 04, 2009, 09:47:50 PM
After some quick tests of running some objects onscreen all of which will be there in the final game I managed to get 240 moving without any slowdown, whereas in the proper game at most only 100 or so objects would need to be displayed on screen.

I have a feeling my performance may dip when I check for collisions of all these particles, although I might have another method which could work better although i'm not sure.


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 05, 2009, 11:07:05 AM
Quote
Writing in XNA has been an interesting exercise with regards to optimising so far as most of the things that were an issue in DBPro are no longer a problem, but there are now a host of other things to worry about that I never considered in DBPro.

BTW Auto Cross racing would be ace written in XNA and played over XBox Live


Yeh, sounds like your damned if you do and damned if you dont.
But i'm sure, over time, the issues you currently have with XNA will disapear as you become more proficient witht the language.
Theres always a steep learning curve with a new language.


You're not the first person to suggest ACR for xbox, but i really, really, really don't like the peer review system MS has for it's games.  I've read many horror stories from devs saying how MS has forced them to jump through hoops in order to get their games released.

Still, you never know, stranger things have happened.

I'm commited to my curent project though for several years to come.


Quote
Is that right?  Christ I'm going to have to check that now as I always assumed the cars were simplified, but definitely 3D models.  The mind plays tricks


Well, actualy, the physics collision geometry for the cars were boxes, and the car images themselves on 2d planes.  :)


Quote
I'm also writing the code at this point so it can be read and not for optimization purposes but as TMC said I am keeping it in mind whilst watching out for bugs. Since I want my new years resolution to go succesfully I will be definately emailing everything in a working form to you guys once i'm happy with it for feedback purposes. I've never failed to keep a new years resolution so far so I don't want to be let down this year...

Just goes to show that coding discussions help to inform and inspire.   ;D

Look forward to seeing your results Jdog.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on January 05, 2009, 07:32:45 PM
You're not the first person to suggest ACR for xbox, but i really, really, really don't like the peer review system MS has for it's games.  I've read many horror stories from devs saying how MS has forced them to jump through hoops in order to get their games released.
Allay your fears.  :)

These "horror stories" about Microsoft only actually apply to XBox Live Arcade (XBLA) games and not XBox Community Games (XBCG) games.

If you write something with XNA you can release it on XBCG without ever having to submit it to Microsoft.  To get it onto the XBox360 all you need to do is pass peer review.  This is where other XNA developers (such as myself, SiN & PaulCunningham) test your game for bugs (not quality).  If we don't find any bugs it automatically gets published to XBCG on the XBox360.  Simple

And of course XNA code is also PC compatible (and soon Zune) so you can release on those too (obviously no Peer Review required for PC release).

Your coding knowledge is far wider than mine and XNA is superbly structured so you'd pick it up in no time.

Worth considering when you're ready to start on a new project :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 06, 2009, 10:28:19 AM
Ahh ok.

Thanks for the heads up.

Assuming MS don't change the goal posts in the future, XNA seems a viable alternative.  Assuming you're allowed to sell your games on XBCG.

It's going to be some time off yet though, before i consider switching over.  If ever.

Which is probably a good thing.  Means in years to come, everything XNA should be well established and bug ish free.  :)

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 06, 2009, 11:59:42 AM
Ahh ok.

Thanks for the heads up.

Assuming MS don't change the goal posts in the future, XNA seems a viable alternative.  Assuming you're allowed to sell your games on XBCG.

It's going to be some time off yet though, before i consider switching over.  If ever.

Which is probably a good thing.  Means in years to come, everything XNA should be well established and bug ish free.  :)

TMC

Yeah, games are sold on XBLCG as they are given a points value determined by how much is there. Games range from between 200 to 800 points, don't they Fog ?

Its definately something i'd be looking into as i'm completing my degree as they are forcing XNA down our throats. I'm happily obliging though, its great.


Title: Re: JDog053 DevBlog
Post by: fog on January 06, 2009, 10:03:51 PM
Which is probably a good thing.  Means in years to come, everything XNA should be well established and bug ish free.  :)
It already appears to be bug free from what I can see.  I've never come across any and there don't appear to be reports on the XNA/Creators Club forums of any.  Forget any experiences with DBPro and possibly Blitz you might have had. ;)

Microsoft's dedicated XNA team do seem to be a clued up bunch and considering it's effectively a free language the support and the development environment are fantastic.


Yeah, games are sold on XBLCG as they are given a points value determined by how much is there. Games range from between 200 to 800 points, don't they Fog ?
Yeah you can currently sell for 200, 400 or 800 points which IIRC is 2.50 - 10.00 and the developer gets about 70% of that.

Microsoft have no say for PC games though so you can charge what you like and keep the lot :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 06, 2009, 10:51:45 PM
Quote
Quote
Yeah, games are sold on XBLCG as they are given a points value determined by how much is there. Games range from between 200 to 800 points, don't they Fog ?
Yeah you can currently sell for 200, 400 or 800 points which IIRC is 2.50 - 10.00 and the developer gets about 70% of that.

Microsoft have no say for PC games though so you can charge what you like and keep the lot :)

Although 70% isn't bad at all and putting it directly on the Xbox gives it instant exposure to a vst amount of people so you're bound to do well provided there is enough Game for people to play. On PC however I see no reason to charge if people have bought it on 360, since most 360 and PC gamers would get the game for both platforms. You'd just have to make special PC only features and Xbox only features, you could even get them by getting a code on one version and a code in another...although that'd be silly. just making suggestions!

I've also decided that my Achievement like system should be called "Treats" or something along those lines.

Oh and some good news, I found some old code i'd written for Mania that I thought I haden't written, its just saved me about a month. I just need to spruce it up and get it to my new much higher standard of coding to meet my needs, but I think I should be able to get something playable and fun sooner than I expected with multiple control schemes and a full menu navigation system faster than i'd thought. So thats a high point.

For the other game, I managed to add my even newer method of collision detection which causes no slowdown and works as it should do. If I did it the other way i'd planned it would freeze up as there will be over 100 objects moving about onscreen. I've also designed a custom text font for this game which looks really quite nice that i'll use on menu screens and the like. For all UI basically.


Title: Re: JDog053 DevBlog
Post by: fog on January 08, 2009, 11:32:57 AM
Although 70% isn't bad at all and putting it directly on the Xbox gives it instant exposure to a vst amount of people so you're bound to do well provided there is enough Game for people to play. On PC however I see no reason to charge if people have bought it on 360, since most 360 and PC gamers would get the game for both platforms. You'd just have to make special PC only features and Xbox only features, you could even get them by getting a code on one version and a code in another...although that'd be silly. just making suggestions!
Saying you shouldn't charge for the PC version if someone has already bought the 360 version is never really going to work.  Apart from all the financial reasons, from a technical viewpoint there is no way of finding out if someone has already bought the 360 version anyway.

And if, as is often the case, you develop games for a living, then the PC market is huge compared to the XBCG one so if you wanted to charge for any version it would be the PC one and not the 360 one.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 09, 2009, 12:51:40 PM
Although 70% isn't bad at all and putting it directly on the Xbox gives it instant exposure to a vst amount of people so you're bound to do well provided there is enough Game for people to play. On PC however I see no reason to charge if people have bought it on 360, since most 360 and PC gamers would get the game for both platforms. You'd just have to make special PC only features and Xbox only features, you could even get them by getting a code on one version and a code in another...although that'd be silly. just making suggestions!
Saying you shouldn't charge for the PC version if someone has already bought the 360 version is never really going to work.  Apart from all the financial reasons, from a technical viewpoint there is no way of finding out if someone has already bought the 360 version anyway.

And if, as is often the case, you develop games for a living, then the PC market is huge compared to the XBCG one so if you wanted to charge for any version it would be the PC one and not the 360 one.

Oh well, that changes things. I'll see nearer the time though. At the moment its all about flash.

I managed to get the game concept built. Its just a shame that the idea was great in theory. I didn't find it too fun and it had problems.

Synopsis
The user clicks a point where explosions begin - starting off a combo counter.
If the explosion elapses another firework (yes the game is called "Fireworks") then that firework will explode continuing the chain.
The score is based on combo alone and not by how many attempts.
If the combo ends the highest score is saved.

The problems I had where if I spawn the fireworks from the same place the explosions would start a chain reaction going down to where it spawns.
To remedy it I made it so if they get too low then the collision object deletes when its created.

I have a couple of solutions that would be better working in conjunction with what I have mentioned, I just need to see how other people play the game.

I'll email a working version to Fog tonight. Oh and since my computer has been completely re-written it might take a while as I have to re-install flash.

If it can be tweaked and edited to make a decent game i'll continue if not I have a few other different game ideas i'd like to try out and maybe slightly further down the line I can continue with the Fireworks project.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 09, 2009, 07:03:42 PM
I've been doing some tweaking to the code and I realised that it would me much more fun if I programmed a variety of formations. The reason being after watching a few fireworks displays I've noticed that fireworks tend to be sent up in formations and that it'd be more realistic. Also this would give the user much more to attempt to destroy. I could even based on different levels have different patterns spawning so the user could work out the best time to place the explosion.

Adding/designing the different formations could become a challenge but some part of this game has to be a challenge before optimization.

I will see however though after Fog has had a look over the game as it was this morning.


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 10, 2009, 09:51:17 AM
A fireworks based game seems quite original.  I've seen computer fireworks demo's but i don't think i've played a game based on the idea before. 

Nothing springs to mind anyway.

In theory, it sounds a great Casual game idea.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 10, 2009, 12:28:03 PM
A fireworks based game seems quite original.  I've seen computer fireworks demo's but i don't think i've played a game based on the idea before. 

Nothing springs to mind anyway.

In theory, it sounds a great Casual game idea.

TMC


Thanks, and in theory it seems to work, even with firework patterns. I'm not entirely sold by the idea, but I am very pleased with how my particle system is handling things. The main reason I was doing the game is to test out some of the code I had written for Mania, like save games and the aforementioned particle system.

I can go up to about 30 particles in an explosion with it still looking realistic whereas I can happily have about 200 particles in an explosion and have a screen of explosions with no slowdown while each particle is affected by gravity.

I just need to find a way to make the game more fun. Or slightly tweak the way the player plays the game. Not sure how but I think its a pretty good premise and i'd really like that first notch (or game under my belt).

Graphically however i'm really tempted to step back a few years and go for an 8 bit blocky look and a silhoutted foreground and gradient fill background of secondry colours. I quite enjoy the style so it shouldn't be all bad. I'll also see if that works.


Title: Re: JDog053 DevBlog
Post by: fog on January 10, 2009, 08:23:20 PM
OK mate I've tried the code you sent :)

Technically it all works perfectly.  Nothing wrong with it at all.  The particles looked decent and there was no slow down at all (I tried on both my desktops including my crappy ancient one).

From a design viewpoint I'd say it needs considerable tweaking (as I think you know).  The gameplay mechanism itself works.  We know that as we've both seem and loved it in E4.  However for it to work properly you need to tweak a few things because as things stand there is no way of predicting where the "fireworks" will arrive and therefore everything comes down to luck.

Although I say you need to tweak a few things, essentially they all come down to the same thing and that's slowing everything down.  If you watch a clip from the early stages of E4 (so you can actually see what's going on :) ) then you'll see how slowly the targets move and also how much longer the explosions last than in your demo.

Because everything is so much slower, it's possible to plan in advance as you have time to work out where the various targets are heading.

http://uk.youtube.com/watch?v=-1FcAs20Mzk (http://uk.youtube.com/watch?v=-1FcAs20Mzk)


The other problem you have is that because every target comes from the bottom of the screen, unlike E4 your explosions will naturally progress down the chain of objects and eventually reach the bottom, breaking the chain.  One way to fix this would be to have the fireworks behave in a more realistic way.  Yours launch from the bottom and if they aren't destroyed they just fly off the top.  How about having them reach a max height, hang around for a bit, and then slowly fall back down to earth?

Watch the video from Fantavision (a launch game on the PS2) and see how the fireworks hang around for a bit, giving the player time to plan a strategy.

http://uk.youtube.com/watch?v=LfQNZ-fSLOo&feature=related (http://uk.youtube.com/watch?v=LfQNZ-fSLOo&feature=related)

Just some ideas.  Like I said, technically the code is great, but for it to become a game it needs tweaking a touch. :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 11, 2009, 10:27:45 AM
Thanks Fog, that was just the sort of push I needed! You definately went above and beyond what I was asking, so i'm very grateful :)

I found myself playing E4 the other day and thats where I got the idea of formations. Its such a fun game that wouldn't be so bad with a slightly different premise.

Everything you'd said seems to make perfect sense from a game design point of view. It also shouldn't be too hard to add from a technical point of view.

Longer explosions and slower moving fireworks to begin with - speed up as the intensity of fireworks increase.
Fireworks move in a more realistic manner, such as moving upwards being slightly affected by gravity then slowly coming to a stop.
With this method though it will also allow me to further separate the launch times of firewors whilst still having lots of fireworks at the top of the screen.
Making a relatively predictable pattern so when people start the game they have an idea of where to place the first explosion.
I'll also add the bonus reward system aswell so if you do progress it feels like it.

That sounds perfect.

I'm also very happy that there was no slow down on either PC. Although with the way that demo was designed and coded it didn't really allow too many objects fireworks and exlosions to be running around onscreen.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 12, 2009, 12:26:51 PM
I did the top thing on my list from the previous post, slightly larger firework explosions, which work perfectly. I also added so when the fireworks spawn they accelerate and thn decellerate to 1/10th of their sped and scroll upwards. doing this allowed me to fiddle with the timings and now its 100% playable. I also removed the silly spawning on one spot and have it for the time being spawning 5 at a time every so often.

Now all I have to do is tweak gameplay so when a user makes a large combo it increases the amount of fireworks it spawns and enlarges the area it spawns over.

Thanks for your help yet again, this is just how I imagined my game working and now it actually does it too.


Title: Re: JDog053 DevBlog
Post by: fog on January 12, 2009, 03:21:28 PM
That's good to hear.  As with even the best gameplay ideas, it's all in the tweaking and that's where your game lives or dies.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 13, 2009, 12:00:27 PM
That's good to hear.  As with even the best gameplay ideas, it's all in the tweaking and that's where your game lives or dies.

I'm tweaking the gameplay into something that I found myself playing for about 30 minutes solid and thats "playing" and not testing. It was actually fun. The way it works is, when you get to a particular combo count (The user is aware of their target at each stage) you level up, causing the fireworks to spawn slightly more quickly. The gap for the next level however is double that of the last, so the first few levels are easy then it becomes an uphill struggle. Also the way i've coded it, it goes on for infinity (which is always fun). So if you are either that good/lucky you can keep on pushing for higher scores. I struggled however getting to level 5 as I was only 5 fireworks away from it, that alone however as enough of a drive to keep me playing for those extra 20 minutes, as getting to level  4 was challenge eough. Although the targets get harder tweaks per level make it possible as each level you advance to should mean a higher score by on average 50%.

For score purposes though, i'm thinking of giving each firework a base points of 50. Each level is also the base multiplier, so if you start a combo on level 5 you'll get a higher score than if you start a combo on level 3. Which will also be another incentive to get to that next level. I also have another bonus planned, butI won't mention it till I have tryed it and can see it being a part of the gameplay instead of, just another "thing".

I do have one concern at the moment about the later levels but I think I have a really simple but necessary effect to help counter it. Thegood news is the spawn intensity is capped and it caps on level 5.

I do know for a fact though if the user gets to level 5 then either he/she will definately get a "Treat". I just have to do some more playing, since I know its possible, i just hope it isn't too hard. So aswell as trying to get to the next level and trying to get a higher score these "Treats" will be a great incentive. I'm hoping for 10 aswell. As with most things i'm planning on doing for this and future projects though, the first few will be easy and the rest will cause the player (if they care enough) to keep on coming back.

I am planning after the full gameplay tweaking sessions are over to email it on back to Fog to play and spot for bugs as i'll be pretty sure by then the gameplay is nailed. After that however i'll not be talking bout or discussing the game till Beta time, where the game should be just about ready for distribution.

I started on January 2nd and its the 13th today, not bad for 11 days, my aim is do it to completion (but not release) in about 30 days. Still i'm not going to rush it.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 13, 2009, 03:08:16 PM
I also decided to update my Blog aswell. I'm aiming to update it atleast once every 2 weeks, which doesn't seem so hard. As I said on the Blog though, I will only be officially releasing the information there once it has been tested yet again with just about all the game play elements involved.

I saved myself time last week aswell by designing and drawing up my font in place, so when I know what I have to write its just as simple as copying and pasting letters till I form the word I want. Good news is that its 100% more readable than my Logo (which I have grown to like) ;D.

Hope you don't mind doing any more testing Fog?
Also, if you'd like to do some testing TMC feel free, just ask and you shall recieve!


Title: Re: JDog053 DevBlog
Post by: fog on January 14, 2009, 03:02:20 PM
Sure.  Email it and I'll take a look.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 14, 2009, 04:03:34 PM
Sure.  Email it and I'll take a look.

Sounds good.

I'm tempted to stick in a rudimentry game editor, so you can have the ability to tweak the game as you play it to fnd the best balance between a challenge and fun. I thought i'd got a formula which worked yesterday but i'm not sure if I kept it.

I did notice however that when your target is a combo you don't really care what score that is equivalent to, bonusses and all, its all aout starting a big combo and keeping it going (which I much prefer) as it is alot simpler.


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 15, 2009, 10:42:26 AM
Sounds as though you're making good progress Jdog.  :)

You know you're onto a good thing when your playtesting becomes enjoyable.

I remember my acr playtesting sessions we're getting longer and longer  ;D

It's a little difficult for me to playtest demo's at the mo, as i'm using a public computer for net access.  I should be able to download files and burn them to cd, but not very often.

So, let me know when the beta is available and i'll download it for playtesting and feedback.

Also, any clues as to what your treats will be ? or will that spoil it.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 15, 2009, 11:23:20 AM
I've been thinking about roughly what the treats will be, mainly what people will have to do to get them. Some of them are quite easy and I was going to do anyway, others however will have to wait till I have decided exactly how the game progresses.

I'd like the user to get enough enjoyment from watching a "firework" display so I have to balance length with the skill of getting one that length. Some more tweaking, but since I can tweak in-game now alot of time is definately saved. I have 2 ideas about progression, the only problem is i'm not too keen on how my fireworks are acting, although i'll leave them roughly how they are.

**Update**

I have been tweaking and testing the code and have found a better way to progress the game. Every 4 levels it will double the amount of fireworks. Each level the game advances to will reduce the spawn rate by 10 to a minimum of 30, this will reset back to 50 every 4 levels though. I solved on problem I was having with relative ease, just one problem I have that I think is a problem, we'll see after Alpha testing is over if it actually was a problem.

I guess i'l email it later tonight for testing, as I don't want to play too much just yet. I'll incude a small notepad document like I did before, just a little more direct.

Thanks for your help so far guys!

@TMC
I'lll drop you line around Beta anyways.


Title: Re: JDog053 DevBlog
Post by: fog on January 16, 2009, 07:26:54 PM
I have been tweaking and testing the code and have found a better way to progress the game. Every 4 levels it will double the amount of fireworks. Each level the game advances to will reduce the spawn rate by 10 to a minimum of 30, this will reset back to 50 every 4 levels though. I solved on problem I was having with relative ease, just one problem I have that I think is a problem, we'll see after Alpha testing is over if it actually was a problem.

That will be interesting to see.  It's very unusual for a game to tweak variables between levels in some kind of non-linear way.  Sounds like an approach that could lead to a difficulty balancing nightmare TBH :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 17, 2009, 01:01:34 PM
I have been tweaking and testing the code and have found a better way to progress the game. Every 4 levels it will double the amount of fireworks. Each level the game advances to will reduce the spawn rate by 10 to a minimum of 30, this will reset back to 50 every 4 levels though. I solved on problem I was having with relative ease, just one problem I have that I think is a problem, we'll see after Alpha testing is over if it actually was a problem.

That will be interesting to see.  It's very unusual for a game to tweak variables between levels in some kind of non-linear way.  Sounds like an approach that could lead to a difficulty balancing nightmare TBH :)

You know Fog, you're right, it is a nightmare and I'm living it. >:(


Title: Re: JDog053 DevBlog
Post by: fog on January 17, 2009, 06:24:15 PM
I have been tweaking and testing the code and have found a better way to progress the game. Every 4 levels it will double the amount of fireworks. Each level the game advances to will reduce the spawn rate by 10 to a minimum of 30, this will reset back to 50 every 4 levels though. I solved on problem I was having with relative ease, just one problem I have that I think is a problem, we'll see after Alpha testing is over if it actually was a problem.

That will be interesting to see.  It's very unusual for a game to tweak variables between levels in some kind of non-linear way.  Sounds like an approach that could lead to a difficulty balancing nightmare TBH :)

You know Fog, you're right, it is a nightmare and I'm living it. >:(
lol.  I thought it might be. :)

There's a good reason why most people just stick to the tried and tested methods of just making levels progressively faster, enemies stronger, shorter time limits, etc.


Like I said earlier, I can't think of many games which use your suggested method of fluctuating several variables between levels.  Lumines and Meteos spring to mind, and while both great games, one noticable thing about them was the spikes in difficulty.  One level in particular on Lumines stops me almost every time, but get past that and I can sail through the next 3 or 4 levels.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 17, 2009, 08:04:38 PM
I still have creative freedom with my code though as I can make it get progressively harder without ramping up the difficulty. I've also finished going through Phase 2 optimization, surprisingly its highly optimized already.

I dropped an email your direction Fog anyway, so you could give it a play.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 18, 2009, 04:12:03 PM
Randomly 44 people visited my site Yesterday...wonder why? I know I had an update but its not like I told anyone...

Very strange indeed.

Graphics graphics graphics...Its what i'm workng on a the moment. It looks good, but i'm attaced to simple circles for the fireworks and I love the new square explosion particles too. I just need to design the level (stage?) and then work on sorting the graphics out.

Only once I have fully sorted out how the game will progress will I try and add the last effect. I think though, I may progress the game like Hexic...but I don't know. Until a level then unlimited play, not sure. Any feedback? 


Title: Re: JDog053 DevBlog
Post by: fog on January 20, 2009, 01:26:22 PM
I haven't had a chance to fire up the desktop and try out the latest build yet.  I'll try later, but no promises :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 22, 2009, 10:57:07 AM
I haven't had a chance to fire up the desktop and try out the latest build yet.  I'll try later, but no promises :)

Tell me when you do Fog, no need to worry :)

I've been thinking about Fireworks and it is a nightmare to balance and progress... What I really want is the user to have enough fun watching and planning there moves but I don't want the screen at the top being too cluttered with fireworks. I also like the idea of a player going for a target, when they reach the target a new target is presented.

Graphics are just about done, there's a good chance i'm going to be making a parralax scrolling angine with a zoom in and out function for the cityscape or other scenery. I think it would all work together quite nicely, the longer the combo the further out the city zooms as if to make the player feel the fireworks show is over a larger area the better it is.

Not too sure about a late January release though...Its looking more like Mid-February. It will DEFINITELY be released though :)

Also i'm still thinking of what to do next...Physics games are usually fun but i'm pretty sure its flogging a dead donkey asthey are quite prominent. What you don't see however are many 3D flash games...probably because its extremely difficult.

Whatever is next though I only want it to be about the same scale as Fireworks, relatively quick to code, fun with prgressively harder challenges, infinite gameply because there is always somebody who can complete the game.


Title: Re: JDog053 DevBlog
Post by: fog on January 22, 2009, 05:53:54 PM
Also i'm still thinking of what to do next...Physics games are usually fun but i'm pretty sure its flogging a dead donkey asthey are quite prominent.
Surely that's like saying writing a 2D game is pointless because there are already loads of those.  "Physics games" isn't a genre.  It's just because everyone can't think beyond the Crayon Physics style of game that the market seems flooded with them.  Forget that.  The only limitation is your imagination.



Anyhoo we've been sidetracked.  I've tried your latest Fireworks demo :)

It's starting to look slightly better, and it's slightly easier to get chains, and playing is strangely relaxing, but IMHO as a game it still has the same issues as before.

If things have been slowed down then it's so minimal that it hasn't obviously effected gameplay, but it really depends on what sort of game you're after whether that matters to you.

If you're after something where the user can almost randly click and creat nice firework patterns then it's fine.  If you're after something which will encourage skill then it still needs heavy tweaking.  It's actually a very fine line between the two in this style of game.  In E4 for example you can do OK randomly clicking, but using tactics and skill you can do a lot better.  I'm not getting that here.

It's still too fast to be able to play tactically, and too many chains still end because they reach the bottom of the screen and no more fireworks appear.  As most of the gameplay is vertical, it would make sense to move the HUD to the sides, and then use the full height of the screen for displaying fireworks rather than starting them 1/3 of the way up.

If you want to keep it like that then you need to have less emphasis on chains for your score, and instead reward the player for using skill elsewhere.  For example only letting them start an explosion by clicking on a firework rather than clicking anywhere and maybe getting a bonus for clicking on a fast moving one?

Like I say, it really depends on whether you want a score based game or more of an interactive toy.  Only you know that :)

DISCLAIMER:  Having never written a game like this myself, this is all just guesswork.  :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 23, 2009, 09:54:30 AM
Quote
Surely that's like saying writing a 2D game is pointless because there are already loads of those.  "Physics games" isn't a genre.  It's just because everyone can't think beyond the Crayon Physics style of game that the market seems flooded with them.  Forget that.  The only limitation is your imagination.

Yep, I totally agree.

I would reccomend experimenting with physics code anyway, as not only will the experience be invaluable, it may well present game idea's you hadn't thought of before, purely from just messing about.

And in fact, i would recommend experimenting with all sorts of different ideas and code.  The parallax scrolling sounds great too :)

Quote
Like I say, it really depends on whether you want a score based game or more of an interactive toy

In fact, i play mono, as really an interactive toy and not a shoot em up.  I really enjoy just coloring in the screen.  It's a pity i have to dodge the aliens and bullets in order to do the coloring.  If mono is ever updated i'd love just a simple Paint mode of play.  And it's quite satisfying seeing the screen get painted.

Perhaps your fireworks game could be along similar lines, of coloring in the screen !

TMC


Title: Re: JDog053 DevBlog
Post by: fog on January 23, 2009, 12:44:19 PM
Quote
Like I say, it really depends on whether you want a score based game or more of an interactive toy

In fact, i play mono, as really an interactive toy and not a shoot em up.  I really enjoy just coloring in the screen.  It's a pity i have to dodge the aliens and bullets in order to do the coloring.  If mono is ever updated i'd love just a simple Paint mode of play.  And it's quite satisfying seeing the screen get painted.
You're not alone in that Masked :)  That's arguable the main reason why it's still my most popular effort even though it's the least polished and essentially just a proof of concept demo. It seems to appeal to people who aren't normally shmup fans for exactly the reasons you mention.  You can get something out of it other than just chasing a higher score.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 28, 2009, 03:26:11 PM
Also i'm still thinking of what to do next...Physics games are usually fun but i'm pretty sure its flogging a dead donkey asthey are quite prominent.
Surely that's like saying writing a 2D game is pointless because there are already loads of those.  "Physics games" isn't a genre.  It's just because everyone can't think beyond the Crayon Physics style of game that the market seems flooded with them.  Forget that.  The only limitation is your imagination.

Anyhoo we've been sidetracked.  I've tried your latest Fireworks demo :)

It's starting to look slightly better, and it's slightly easier to get chains, and playing is strangely relaxing, but IMHO as a game it still has the same issues as before.

If things have been slowed down then it's so minimal that it hasn't obviously effected gameplay, but it really depends on what sort of game you're after whether that matters to you.

If you're after something where the user can almost randly click and creat nice firework patterns then it's fine.  If you're after something which will encourage skill then it still needs heavy tweaking.  It's actually a very fine line between the two in this style of game.  In E4 for example you can do OK randomly clicking, but using tactics and skill you can do a lot better.  I'm not getting that here.

It's still too fast to be able to play tactically, and too many chains still end because they reach the bottom of the screen and no more fireworks appear.  As most of the gameplay is vertical, it would make sense to move the HUD to the sides, and then use the full height of the screen for displaying fireworks rather than starting them 1/3 of the way up.

If you want to keep it like that then you need to have less emphasis on chains for your score, and instead reward the player for using skill elsewhere.  For example only letting them start an explosion by clicking on a firework rather than clicking anywhere and maybe getting a bonus for clicking on a fast moving one?

Like I say, it really depends on whether you want a score based game or more of an interactive toy.  Only you know that :)

DISCLAIMER:  Having never written a game like this myself, this is all just guesswork.  :bunnymonkey:

I decided to drop the idea for the treats as its such a small game there isn't really a need for them.

I tried the clicking on the fireworks method to begin with, no matter how fast or slow they are moving it is still difficult.
I realised that the friction code isn't running properly so that should sort out fireworks spawning and slowing down.

Thats the real reason why i'm not too sure about the game. Interactive Toy or Game...At the moment I see where you are coming from, it is alot more like clicking where the vast majority of fireworks are and watching simple explosions. Turning that into a game however would mean changing the dynamic, from instead of long chains to something else. Long chains don't and can't really work due to the frequency of a spawn leaving the game with a maximum amount of Fireworks onscreen at once.

I think the best thing I can do at the moment is write both variations, since one is alot easier than the other i'll most likely create an "Interactive Toy" version first and maybe once that is up and running with final graphics the idea will hit me of what I need to do to make it into a game. Sadly however that isn't what i'd like, I am a fan of scoring and enjoying a game where you get a highscore. The good news is thinking about this is helping me separate the mechanic from the game, the mechanic is good and it is fun getting a chain. The hard part with an "Interactive Toy" is that it doesn't really offer anything for repeat players.

A really successful "Interactive Toy" is line rider, it keeps people coming back because it allows for infinite tracks to be created, tracks to be saved and loaded. Its just working out how I could do something like that for Fireworks. Although I have a few ideas, they are a little far ahead of my Flash knowledge.

It just prooves, what you think will be an easy project is never as easy as it should be. You have definitily given me something to think about as always Fog and your knowledge is proving invaluable once again.

I've almost finished my menu system and graphically it looks lovely. The good new is it allows me to return to prgramming and tweaking the game once again.


Title: Re: JDog053 DevBlog
Post by: fog on January 29, 2009, 02:46:00 PM
I decided to drop the idea for the treats as its such a small game there isn't really a need for them.
In a first project dropping the "treats" is probably a good idea.  The more features you try to put in then the less chance there is you'll finish the project....and right now getting something finished will give you the biggest motivation boost imaginable :)


I tried the clicking on the fireworks method to begin with, no matter how fast or slow they are moving it is still difficult.
I realised that the friction code isn't running properly so that should sort out fireworks spawning and slowing down.

Thats the real reason why i'm not too sure about the game. Interactive Toy or Game...At the moment I see where you are coming from, it is alot more like clicking where the vast majority of fireworks are and watching simple explosions. Turning that into a game however would mean changing the dynamic, from instead of long chains to something else. Long chains don't and can't really work due to the frequency of a spawn leaving the game with a maximum amount of Fireworks onscreen at once.
That's a good analysis of where you are so far.  If in doubt I suggest you look at the games you've taken your inspiration from :)

E4 requires no skill to set off an explosion, but has loads of objects on screen and the skill is in trying to explode as many as possible.

BBR on the other hand has much fewer objects on screen and the actual skill is in creating the explosion itself.  Almost the direct opposite of E4.

Your game currently implements certain elements of both those very well, but lacks the skill element of either.  That IMO is the difference between it being an interactive toy and a game.


I've almost finished my menu system and graphically it looks lovely. The good new is it allows me to return to prgramming and tweaking the game once again.
That's one of the worst parts of game design out of the way.  Excellent :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 30, 2009, 01:10:12 PM
Thats my main reason for dropping the "Treats" system, if I put too much work into that it would no doubt stop me from finishing. Since I see this game as a mini game then over burdening it with too many features would cloud over the simple game idea in the first place.

I did exactly that and I returned to and played both E4 and BBR both of which were fun but as you'd described they are both opposites. I just need to work out exactly what of the both games I enjoy and how to incorporate those into the game.

BBR
I really like the look of the fireworks and the explosions and how they look over the skyline.

E4
I enjoy setting off a chain reaction and watching as all the other objects explode.

Combining these will prove tricky. Thats what i'll be working on over this following week, so back to tweaking and testing for me :)

The Menu systems are all graphically out of the way all of the code works and the navigation is simple. Everything is easy to read. I just need to get a few skyline research pictures that I can sort out for use in the game.

I'll be making a blog post shortly showing off the look of the game!

Thanks for your help and support so far!


Title: Re: JDog053 DevBlog
Post by: fog on January 30, 2009, 04:47:15 PM
I did exactly that and I returned to and played both E4 and BBR both of which were fun but as you'd described they are both opposites. I just need to work out exactly what of the both games I enjoy and how to incorporate those into the game.

BBR
I really like the look of the fireworks and the explosions and how they look over the skyline.

E4
I enjoy setting off a chain reaction and watching as all the other objects explode.

Combining these will prove tricky. Thats what i'll be working on over this following week, so back to tweaking and testing for me :)
If you have a game that you like then I'd just think of a little tweak you can add to it that means you keep what you liked about the original while giving it a unique identity of it's own.

E4 for exmple is great and creating huge chain reactions is fun, but essentially once you've started one you have no way of influencing it.  How about being able to have some slight control over the explosions?  What if you could slightly steer any new explosion particles towards the mouse cursor, directing them towards another cluster of objects?  That way big chains require some skill from the player to keep going and you will limit the frustration from broken chains.


Thanks for your help and support so far!
Hey I'm just waffling.  There is no magic game design formula, I'm just offering opinion :)

Looking forward to the next version :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 02, 2009, 06:59:15 PM
You'll be getting the next version soon, i'm just sorting out the look of the cityscapes (i'm doing a few) and i'm working out the best way to add the fireworks as I have a clear plan of how I want it to progress, It also works out really well when the fireworks try and move towards the mouse, I'm back at the stage of progression once again.

I'm quite keen on the Menu system I decided on and have implemented, hope you like it too guys!


Title: Re: JDog053 DevBlog
Post by: fog on February 02, 2009, 09:44:26 PM
Cool.  Looking forward to seeing some proper graphics in there :)

... It also works out really well when the fireworks try and move towards the mouse...
That works does it?  Excellent.  I was just thinking out loud so wasn't sure whether it would help at all.  :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 02, 2009, 10:12:41 PM
Sometimes thinking out loud helps Fog, Since i'm primarily a coder nowadays and a do it yourself graphics machine, I have a narrow mind as far as games design goes, I normally fit a game design based on coding skill and how "Neat" I can make the code, its always good to have a more abstract view on the same theme as it definately caught my interest and I wouldn't have known how it would work without doing it myself. Now that to me is Test Driven Development!

Yeah, its just I have to pace the game on a per combo basis, as it'll start quite zoomed in with larger explosions and the like, and every 5 or so fireworks they'll spawn faster and the explosions will get smaller as the city zoms out. Its still a little buggy but isn't that what testing is all about? I just need to sort out that progression and make sure that when a combo ends everything resets to normal and the city zooms in smoothly...

I just hope it works out well enough to put it in the final game, I can't wait to see everything working together, I kept the navigation system away from the game build in an attempt to separate the task, which seemed to have helped, so instead of worrying about the game when I was placing buttons, I was only worrying about placing the buttons, as it should be!

I'm very excited about the project though as I feel I've put far too much work in (surprisingly not as many hours as you'd think, probably under 24) to drop the project at this stage. The only reason I would project on delay however after release would be for tactical Bonfire night release or around then, as seasonal releases tend to do much better, I just hope they look past that and see the game for itself.



Title: Re: JDog053 DevBlog
Post by: fog on February 04, 2009, 02:50:30 PM
That all sounds like good progress. :)

The only reason I would project on delay however after release would be for tactical Bonfire night release or around then...
Well as Bonfire Night is still some 9 months away that would be some delay! ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 05, 2009, 09:27:31 AM
That all sounds like good progress. :)

The only reason I would project on delay however after release would be for tactical Bonfire night release or around then...
Well as Bonfire Night is still some 9 months away that would be some delay! ;)

Yeah 9 months would be pushing it a little.

I have been thinking though, if I do continue to make the Fireworks but can't workout the problem, I might simply change the way the game plays.  There isn't really anything stopping me from keeping the graphical look but simply changing the mechanic. At this stage, this is what i'm considering.

At the moment I am also working on my next proof of concept, which is hopefully alot more concrete.


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 05, 2009, 06:21:43 PM
My XNA foray is officially at a start. I have just completed Pong so i'm pretty pleased. All I have to do is optimize it for performance and add a front end. I'm doing it for my course. Funny story however is its not due to be set for another 6 weeks atleast maybe 9 weeks! I'd love 100% in something so thats my aim!

I do love XNA and hope once I have completed Fireworks (however it plays) I'll begin to think about a possible Xbox 360 game.


Title: Re: JDog053 DevBlog
Post by: fog on February 06, 2009, 02:20:18 PM
My XNA foray is officially at a start. I have just completed Pong so i'm pretty pleased.

You should upload it to XBCG.  There are already about a dozen pong clones on there  :bunnymonkey:


I do love XNA and hope once I have completed Fireworks (however it plays) I'll begin to think about a possible Xbox 360 game.
Cool.  Do you have a free student Creators Club membership?


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 06, 2009, 05:13:15 PM
I'll not be uploading anything anytime soon. Especially not Pong.

I haven't yet got my free membership yet.

I'm just working on graphics and my own spritefont system. I'd love to do a motion blur effect but I have no idea how I would go about creating one in XNA...any pointers?

I'll be positing a screenshot of the graphical look of Fireworks tommorrow. I'm still working on how I should play the game, either way with these graphics and  good enough game mechanic I should be on to a winner as far as my first full project is concerned.

I also have my concept of the next game (around similar size to Fireworks, one game mode, progression). It seems to work Ok I just have to sort out the AI. Once thats sorted i'll send it your way. At the moment its just a bit of fun ordering the player presence around on screen.


Title: Re: JDog053 DevBlog
Post by: fog on February 07, 2009, 11:24:21 AM
I haven't yet got my free membership yet.
Let us know if you do get one as we might need someone else to help with 360 testing.


I'd love to do a motion blur effect but I have no idea how I would go about creating one in XNA...any pointers?
XNA is nice and fast and you don't need to do anything clever, so I'd just use the simplest method available.  Just copy the backbuffer to a texture, turn down the alpha to fade it slightly and then draw it back to the screen with your new sprites over the top.

code (from memory so be prepared for errors :P )
Code:
//create buffer texture
ResolveTexture2D  bufferTexture = new ResolveTexture2D(graphicsDevice, screenWidth, screenHeight,textureFormat);

//Then in Draw() code...
//Copy buffer to texture before you clear the screen
graphicsDevice.ResolveBackBuffer(bufferTexture);

//clear screen and stuff

//Then draw texture back to screen with decreased alpha
spriteBatch.Draw(bufferTexture, Vector2.Zero, new color(255,255,255,100));

//Then draw your new sprites here....

That's the theory anyway :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 07, 2009, 12:36:50 PM
Thanks Fog, I new the theory of drawing it to a texture and fading it, I just didn't know how to go about doing it. You definately gave me the right path to go down. When the alpha gets below say 10 should I delete the texture?

I will try and get a membership soon.


Title: Re: JDog053 DevBlog
Post by: fog on February 07, 2009, 07:16:51 PM
Thanks Fog, I new the theory of drawing it to a texture and fading it, I just didn't know how to go about doing it. You definately gave me the right path to go down. When the alpha gets below say 10 should I delete the texture?

No, once you've found an alpha value that gives the amount of blur you want then don't change it.....and just keep using the same Rendertexture,  never delete it.


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 08, 2009, 11:25:29 AM
I think i've worked out what I should do to make Fireworks how i'd imagined it yet not restricted by hardware.

To begin with the user has to create a combo of atleast 1 of two fireworks which spawn. The user will have time to place their explosion as the fireworks slow down to a stop roughly midscreen. They then place their explosion and try and combo as many as possible. I they complete the target then they proceed to the next level. If they don't complete the target, then the remaining fireworks on screen will explode then they will have another variation on the level where the same number of fireworks will spawn.

targets will be lie 1/2, 2/5, 5/10, 8/15, Introduce new firework type 10/15, 12/20, 15/25, 20/30 and so on until I cap it off at a particular kevel where the target keeps increasing. I'll need to try it out first, but in theory it seems to work fine, also framerate doesn't become an issue at all since its just the particles that are moving.

Score is calculated on Base 50 per firework with Multiplier being how far in the combo they are, so 50*Combo_Count, for special bonus fireworks with multicoloured trails it will be 50*Combo_Count*2. I think it will add an added challenge for players who play for score over completeness.

I'l test it out today where it should hopefully work and I can end this Firework nightmare forever...lol jk.


Title: Re: JDog053 DevBlog
Post by: fog on February 08, 2009, 02:48:04 PM
Ok none of those targets make any sense without playing the game lol :)

I'll comment after I've played it.


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 08, 2009, 06:38:51 PM
I tested it as I said I would, and it didn't work out very well. So i'm just going to finish one or two other jobs with the game, then i'll take a little break and hope once again to come up with a decent idea, its likely i'm going to try and tweak the old chain reaction version once again as I nearly got that version sorted out.

I'll just make sure thoughto get everything else done so when it does come to my finished final design it'll just be a copy and paste job.

The next Mini Game however is also proving to be an early success, I just have one bug to sort out and an objective to add then its ready for preliminary testing! Theres a chance that may come before the finished version of Fireworks, but I hope not!


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 10, 2009, 01:38:32 PM
I've been doing some more work with XNA and i've realised, its an extremely powerful addition to the C# language. I finally managed to get Motion Blur working with no impact to the games performance what so ever.

Its a strange feeling starting your end of year 1 assesed work 6 weeks in advance. I'm hoping for both a great game and a great mark. ATM on Pong i'm sorting out all of the tweakable options, like difficulty, multiplayer and visual FX tweaking.Whats also good news is, when I get a game structure which works as it should I only have to make it the once, so i'll have a decent structure prepared for when I start on a proper XBLCG game.

For fireworks, i'm trying, instead of scaling the speed down as they move up the screen (which looks great and no doubt i'll keep) but to test the game uing slow moving fireworks.

I will however though, true to my word add a couple of screenshots showing off the current graphical style of Fireworks as i'm sure up until now, you'll have no idea how it looks unless I show it to you. Also based on my track record of 0 games, a screenshot would also help show you that i'm still working on the project. They'll be added to the blog in a few minutes. When they are up i'll provide a link in this post.


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 10, 2009, 05:05:59 PM
Eureka!

Or atleast it would have been had I posted a few minutes earlier. Anyhoo.

"Missile Command meets Boom Boom Rocket!. I think that would be the best way to sum it up. You have a performance meter, you click to place an explosion and have to explode the Fireworks whilst onscreen. If they go offscreen your performance meter goes down. As you progress through the levels the intensity of Fireworks increase. Obviously as the game progresses I can also add the bonus firework I mentioned earlier. Game ends if performance meter drops to zero.

I'm also sorting out smooth scaling so it zooms the city in and out proportional to how many fireworks you are destroying.

It seems perfectly viable and fun. The only way to make it work better is to have a motion trial behind all the fireworks, which i'm working on at the moment. Its looking like after tonight I should be able to send the game yet again for 2nd Alpha. I do however think that this will be the final version of Fireworks as the gameplay seems to fit so perfectly.

You won't hear a peep about Fireworks till tommorrow where i'll send it for some testing!

Any comments will be more than welcome...


Title: Re: JDog053 DevBlog
Post by: fog on February 10, 2009, 06:30:52 PM
Someone's been busy :)

Of all the changes you've listed I'm sure that slowing the firework movement down will return the biggest improvement.  As I said on playing the first demo, that was the one and only big problem with the game IMHO.

Gimme a nudge when the next demo is on its way ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 11, 2009, 05:44:14 PM
Picture is on the site...tell me what you think!

Showing the graphics, be aware though, it doesn't show off the trails or the explosions though... just the style.


Title: Re: JDog053 DevBlog
Post by: fog on February 11, 2009, 07:46:04 PM
That's rather lovely :)

It will be interesting to see if you can get the firework graphics to fit nicely with that scheme.


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 11, 2009, 08:16:46 PM
That's rather lovely :)

It will be interesting to see if you can get the firework graphics to fit nicely with that scheme.

Thanks for the kind words Fog :)

Thats what i'm working on now. I'm definately emitting the black explosion and i'll try and go for a more primary meets secondry colour, like blue, red, green, pink, lime, ice...I have to expirement.

On each of the sub menus, I have the large building like Text. I just think the menu seems a little empty, I was contemplating the idea of putting some kind of structure to the right hand. I also have a delay where fireworks spawn and explode.. 


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 12, 2009, 02:32:00 PM
I'm currently tinkering with the Menu at the moment by adding Text Based prompts when the user hovers over each of the buttons. I'm also adding a small patch of city to all the major options, credits, game over and Main menu, which is where after a delay Fireworks will start to spawn and randomly explode as I mentioned before.

I'm also going to begin designing and making the final city graphics. After Alpha tecting i'll be uploading the game with Mochi-Ads at FlashGameLicense which is effectively an auction site for Flash games. It seems as though that would be the best route for getting the most out of the game.


Title: Re: JDog053 DevBlog
Post by: fog on February 12, 2009, 03:42:41 PM
It seems as though that would be the best route for getting the most out of the game.
Define "most" ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 12, 2009, 05:10:18 PM
It seems as though that would be the best route for getting the most out of the game.
Define "most" ;)

I don't know...

More than if i'd go around Flash Sponsor companies myself as the site is a hub. I'll see once its done!


Title: Re: JDog053 DevBlog
Post by: fog on February 13, 2009, 02:26:12 PM
It seems as though that would be the best route for getting the most out of the game.
Define "most" ;)

I don't know...

More than if i'd go around Flash Sponsor companies myself as the site is a hub. I'll see once its done!
Which answers my question nicely....  "most money"  :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 13, 2009, 07:41:07 PM
Its part of my aim for this game. I came up with quite a simple initial concept, i'm working on improving the project above and beyond what i'd intended in both prgramming and graphics to make a final game that I myself am pleased to play because as i've said before, i'm my harshest critic.

Anyhoo, i'd like to gp to Disneyland again and this seems like best way to do it :)

Hopefully you'll be able to see though that its about the game at the development stage and it'll be about the money at the sponsorship stage...its the best way I can sum it up ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 15, 2009, 12:10:20 PM
I've been doing more work with Fireworks and i'm working on pacing, progression and suitable targets for the infinite gameplay. I sorted out the coring mechanism for the game as it provides enough of a challenge.

It works kinda like this, 50 * Level + Height of Explosion you also get a bonus if more Fireworks explode in a chain which is 50 * Bonus * Level + Explosion Height, Bonus increases for eachexplosion in a chain, if you start a new explosion then the bonus resets so its about holding your nerve. Oh and if you destroy a bonus firework the score you get from a firework or bonus is doubled. So theres lots of potential.

I decided to slow gameplay down alot and as you progress, it then speeds up a little then caps off speed, then the intesity of fireworks increase and gets capped off at 3 maximum at a time. The motion trails definitly help with planning where to place the explosions, since the explosions are now much slower and more realistic its just seems better. I haven't yet tried to mix the gameplay with the graphics so there's still an element of will it won't it.

I just hope to get the next build to you soon as i'm happy with how it plays.


Title: Re: JDog053 DevBlog
Post by: fog on February 17, 2009, 01:32:11 PM
The motion trails definitly help with planning where to place the explosions....

Yeah when I wrote an e4 inspired game a while back, adding visual trails to the enemies made a huge difference to your ability to plan moves properly.


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 17, 2009, 06:08:20 PM
The motion trails definitly help with planning where to place the explosions....

Yeah when I wrote an e4 inspired game a while back, adding visual trails to the enemies made a huge difference to your ability to plan moves properly.

I'll definitly agree with that. I'm just working on sorting out the firework explosion, theres a cance i'll be taking a slight departure from what you know to produce a much neater visual effect which also allows the program to run that little bit faster.

I just have to sort out the multi-coloured trail on the bonus Firework and add some visual prompts which give the user hints of scoring... Then I think its ready for testing at Alpha stage of course.


Title: Re: JDog053 DevBlog
Post by: T_M_C on February 18, 2009, 10:14:07 AM
Don't forget to include me for testing.  :)

I've got myself a usb memory stick now so i can easily download files now.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 18, 2009, 10:25:59 AM
Don't forget to include me for testing.  :)
I've got myself a usb memory stick now so i can easily download files now.
TMC

Sounds like a plan! I just need to sort a few odds and ends out before I hand it over to anyone for testing.

However when I do test you won't have it with Final Graphics, just kinda the Alpha environment that your familiar with...


Title: Re: JDog053 DevBlog
Post by: T_M_C on February 19, 2009, 10:05:54 AM
Cool.

Whenever you need some playtesting feedback, let me know.  :)

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 23, 2009, 08:33:48 PM
Both emails are finally away. As i'd said the game is missing a few features.
- You can't lose
- Doesn't display if you are on a combo
- scores don't save etc

Main aim of the build is to see if it plays as you'd think it should and if there are no glitches and if it runs at optimum speed. I optimized it into 125 lines.

All feedback is welcomed, just be aware though i'm not changing the Game Mechanic again, its staying as it is! :D

oh I used my hotmail email, so don't be surprised.


Title: Re: JDog053 DevBlog
Post by: T_M_C on February 25, 2009, 09:44:44 AM
Hi Jdog.

I know fireworks is still in alpha stage, but here's a review i wrote of what i thought of it.


Fireworks review.
------------------------

I got a constant 29.5 fps with smooth movement throughout.
No glitches or graphic problems.

Got to level 15, played for about 15 - 20 minutes.

Overall i found the game quite relaxing and fun to play.  A pretty neat casual game.
The pace of the game i found to be about perfect.  The speed doesnt build until it's unplayable and the initial early levels are well paced too.

I thought the black and white graphics might put alot of people off though.  I always like to see lots of color, but tastefully done.  Not just color for the sake of it. I always like to see that some artistic effort has been put into a game.
Color would really enhance the visuals.
Perhaps strobing score color, or some sort of color cycling could be used.

Would like to see some indication of chain scores, perhaps a score multiplier number on screen overlaid on a firework explosion.  Each time a firework explodes.
The sort of thing i'm thinking of, is something similar to an rpg game, when a hit on a monster shows a number overlaid on the monster, which slowly moves up, showing how much damage has been dealt.

+10hp as an example

At the moment, theres virtualy no indication of how succesful a chain of explosions have been.  Just looking at the score tick up arbritary amounts doesn't really tell me anything.  And as i understand it, getting multiple fireworks to explode from one initial explosion gives the player bonus scores ?  Theres no indication of this apart from looking at the score.  Which is pretty meaningless.

I would like to see some special level up graphics

I also felt there was very little reward each time i levelled up.

I would like to see some big flashy graphic, saying Level UP, comming out of the screen or something similar.
Something visual to show that the player has leveled up.  That a goal has been reached.  It would be rewarding to the player.  Perhaps a different level up, sequence, graphic or something for each level up.  This would help provide some motivation for reaching new levels.  To see the new graphic or level up sequence.  Perhaps some music or sfx to enhance the effect too.

When playing i was unaware of levelling up until about level 5, when i started looking at the score and realised that i had leveled up.


But as i said earlier, even in this early version , i enjoyed the game.  Plays really well as a casual game.  Something relaxing i can fire up and waste 5 - 10 minutes on.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 25, 2009, 10:34:30 AM
Thanks for the excellent review TMC. Now to address a few concerns.

When I add Game End detection which of course doesn't exsist, you should find the game ends at about level 10, or later depending on how skillful you are. Although, thanks for playing it for such an endured period of time. I find it slightly addictive, but I guess thats because I coded it :)

I have colour sorted out, for the most part. I'm just working on adding the coloured effects to the explosions, and the multicoloured motion trail for bonus fireworks. Incase you haven't seen any of the graphics yet, heres a http://1.bp.blogspot.com/_2_l_deXYfjg/SZL9famvLII/AAAAAAAAADI/R2ZjhlA19JY/s1600-h/ScreenShot.bmp (http://1.bp.blogspot.com/_2_l_deXYfjg/SZL9famvLII/AAAAAAAAADI/R2ZjhlA19JY/s1600-h/ScreenShot.bmp) Its a silhouette style effect which forces the user to take not of what it is they are doing, yet still have a nice vista to do a display over. The city graphic in that screenshot is to be changed, and the menu system although bland will have a small segment of city where after a delay a small Fireworks display will start. This will be on all major screens, Options, Credits, Main Menu and Game Over Screen. The city in the pic is zoomed out as far as it would need to go, so if you are on a large combo imagine Fireworks going off left right and centre. Also on the screenshot to the right, there isn't a Hud as of yet as i'm working out what needs to be on there, at the moment, its Score, Highscore, Base Multiplier and Target. I don't think people need to know there level by number, they'll guess its the next level when they Level Up, hehe.

I was considering doing a combo message when the firework explodes, so the user knows if they are on a combo. Your testing has set it in concrete however :D Obviously, unless you are looking at the score (heck, even if you are) you won't know if its on a combo or not. Oh yeah, as you are on a combo the cityscape zooms out in relation to how many Fireworks you explode in the chain, so you are also getting a visual reward.

I'm working on adding the level up effects, it all ties in with the Text i'm currently working on. I think if I make the score multiplier equivalent to the level (which it is already, just clearer) the user/player will have a better idea that the next level will give them a larger score.

You read my mind, I was going to have exactly that, the word Level up, scaling in the centre of the screen, then scaling back out. It seems like what you'd expect in an arcady style game. Although, thinking about it, doesn't Echoes use that technique? If it works for Echoes it works for me!

I'm also going to make the target score more prevelent, so people become instantly aware that theres a target score and know that they have something to aim for. Although, the players Highscore will also help with that, I hope, but based upon first time plays I have to let them know.

I am going to add a tutorial in the game, in the form of a box showing animated sequences of how to play, it'll be skippable, but if you don't know how to play then it'll more than help, You could even select on the options screen that it be turned off.

Thank you very very much for playtesting. I'm glad to hear the game ran smooth as opposed to my previous alpha I sent you where it was sluggish and horribly programmed. Also glad to hear there were no glitches.

I'll of course take this onboard and get back to work. Also, would you mind if I put your name in the credits, same with you Fog, although i've added it already, it can be easily removed if not. Its the least I can do :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on February 26, 2009, 10:02:08 AM
Quote
Thanks for the excellent review TMC. Now to address a few concerns.

Great, i hope my comments have been useful.

Looks like you still have plenty of extra features planned, which is great.  I can see this turning into a great little casual game.  It's already , even in Alpha stage, very quick and easy to pick up and play, enhancing the sounds and visuals will really make the game more appealing.

I love the scaling idea. 

Looking forward to playtesting your next release.

Quote
I'll of course take this onboard and get back to work. Also, would you mind if I put your name in the credits, same with you Fog, although i've added it already, it can be easily removed if not. Its the least I can do

Sure.  That would be nice.  Thanks.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 26, 2009, 10:43:07 AM
Your comments definitly were and still are useful.

I implemented the text which keeps track of the chain reaction whenever a Firework explodes. I didn't add it in my font, but I will shortly.

I've also been thinking that the Target Score may be a little redundant, i'm sure when people are playing and scoring, they'll understand that they level up when their score increases. I'm going to add the Level Up Graphic when the user levels up.

The next build will be in the proper game environment, so the correct colour explosions, the gradient background and the silhouetted cityscape. I'll add the necessary HUD objects, which I believe are Score, Highscore and Multiplier/Level.

Glad you liked the game. I was definitly going for a "Pick-up-and-Play".


Title: Re: JDog053 DevBlog
Post by: fog on February 26, 2009, 05:38:25 PM
OK I've finally fired up the desktop and had a try of the latest demo :)

I think most of my comments would mirror what Masked has already said.  There's no indication of whether you're playing well or not so i just ended up randomly clicking (that in itself was fairly satisfying mind, but you need to give the player plenty of feedback if you want them to keep playing and start chasing highscores :) )

Also, again as Masked says, any combo/bonus graphic has to he in the play area of the screen and not tucked away on the HUD somewhere.

Finally, and I may be alone on this one, but the later levels are much easier than the early ones simply because there are so many more fireworks to explode.  The fewer fireworks on those early levels actually make things harder rather than easier (and less enjoyable IMO).

Just out of curiosity, what is the "game over" state as you say there isn't one ATM :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 26, 2009, 08:57:21 PM
I haven't decided on the game over state yet really, I was thinking of a rating system, where if you miss a firework your rating will go down by 10, if you get a firework it'll go up by 5. If it drops to 0 its game over, its capped at 100 or 50, not too sure. The user doesn't see the ratings, but I can incorporate that into that play area.

I could make the rating drop proportionally depending on what level you are on. If you are on level 1 missing a firework isn't as big as on level 10. I'll see about testing that out.

To confirm, did you say you preferred the later levels to the earlier levels? I do too, the earlier levels are really a precursor just getting the user to click in the path of Firework while the later levels are keeping combos together without breaking them.

Don't worry, taking that indication on board. Do you think I should output the score per firework so people can look for a trend or just put x1, x2 etc... if its on a combo.

Definitly, now this game is more focused and can actually be based on highscores, i'll make feedback more appropriate.

Thanks again for testing, like with TMC, would you be ok with a named credit? If so great, if not I can easily remove it.

Oh yeah, the reason i've stopped rushing so much is because i'm not getting it sponsored. I'll just have an ingame ad through Mochi-ads and a link back to my blog.

You shouldn't see the game again till its nearly finished now! Also, a mini milestone for me is that it can move frm teh Alpha Folder into the Beta Folder :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on February 27, 2009, 09:51:36 AM
Quote
Don't worry, taking that indication on board. Do you think I should output the score per firework so people can look for a trend or just put x1, x2 etc... if its on a combo.

Why not allow both.  Or allow the user to select which option he prefers.

It's always wise practice to try and allow as much user customization as possible, as regards game options.

For me, getting a higher score isn't really a motivator for playing.  I would play for the enjoyment and relaxation of exploding the fireworks and gaining new levels, seeing new graphics and getting new fx. 

But thats just my own personal taste.  I've never really been a person keen on scores, but get my fun and rewards from other aspects of a game.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on February 27, 2009, 03:22:25 PM
To confirm, did you say you preferred the later levels to the earlier levels? I do too, the earlier levels are really a precursor just getting the user to click in the path of Firework while the later levels are keeping combos together without breaking them.
The game is essentially about creating chains of explosions, and on the early levels there simply aren't enough fireworks to create chains and there's pretty much zero chance of actually planning what few chains do happen, so it just becomes an exercise in random clicking.  On later levels there are plenty of fireworks so planning and creating chains is much easier.  Without a game over state it's almost an inverse difficulty curve.  It actually gets easier the higher the level :)


Don't worry, taking that indication on board. Do you think I should output the score per firework so people can look for a trend or just put x1, x2 etc... if its on a combo.
You certainly need to communicate how big the combo is somehow if that's an essential element of scoring high.  I wouldn't show score per firework as well though as that's just too much potentially confusing information IMO.  As Masked says, maybe give the player the option, but I'd offer the option of either multiplier or score and not both.


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 27, 2009, 05:26:38 PM
Actually, the combo system is kind of built on top of the main game. The aim is to actually keep all Fireworks in the screen. To do this you place an explosion in the oncoming path of the Firework. Getting a combo is merely another method a player can use to get higher scores.

I'll not overload the player with information, it will definitly be an either, i'm thinking more along the lines of Combo or nothing, so the player can enjoy a smooth graphical experience that they are creating by placing the explosions. I can always put a few general information posts on the site explaining how to play, how to get highscores and stuff (maybe, no idea really?)

Any opinion on the rating system i'd said a few posts back? I think that has the best potential. Although it gets easier in the later levels, the price of Failure is much higher aswell. So if you miss 5 fireworks its game Over, whereas on Level 1 if you miss 50 Fireworks its game over, its all about easing them into the game so they don't get frustrated too much and quit too soon. Although it does get easier later on, it would look pretty cool with all the Fireworks going off and the city scaling depending.

Since both TMC and Fog have different things they'd like from the game, the best I can think of doing would be combining the two. I myself am a score hunter, I love getting a highscore, then I love the thrill of beating it! Whereas TMC and Fog for the most part just enjoy the idea of placing explosions and watching chains, for that I could have like a mode, where its the same game, but HUD is turned off and you can't lose, you can quit though. Its just so you can enjoy watching a simulated Firework display, albeit simpler.

I've also been thinking about the Tutorial and how I should implement it. Its also going to be switched, so you can either have it on or off. In the Tutorial, i'm tempted to place the text where the Hud is, and have it update each time the player completes the task. they will have the option t go back at any time to play the Main Game, or when they complete the Tutorial they can go and play the Main Game.

Thanks for your feedback and support though guys!


Title: Re: JDog053 DevBlog
Post by: fog on February 28, 2009, 11:37:48 AM
Since both TMC and Fog have different things they'd like from the game, the best I can think of doing would be combining the two. I myself am a score hunter, I love getting a highscore, then I love the thrill of beating it! Whereas TMC and Fog for the most part just enjoy the idea of placing explosions and watching chains, for that I could have like a mode, where its the same game, but HUD is turned off and you can't lose, you can quit though. Its just so you can enjoy watching a simulated Firework display, albeit simpler.
I don't think that's necessarily the case, we just have slightly different opinions on what the game is trying to be.  As I said earlier, without a game over state then there's no definitive aim and therefore, as Masked says, just setting off lots of explosions and not worrying about your score is where the fun is at.

As things stand it's like trying to test a shmup where you can't die.  Shooting stuff is fun enough, but it's difficult to form a proper opinion when the challenge element has been removed :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 28, 2009, 11:54:38 AM
Oh I see, cool. I didn't get that. :)

Yeah, i'll definitily add that Game Over state I was taking about in time for the beta :D


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 28, 2009, 06:16:41 PM
XNA

I've been pretty busy in the world of XNA recently. I'm currently working on a colection of different collision Methods. So far i've only got two done, I'm going to try and get at least 4 done. Methods so far, Circle to Circle, Texture to Texture, I just have to do, Pixel Perfect and Colour Based collisions, than i'll have all I need, if I need anymore then i'll add it a collisions Class, which i'm yet to make.

My sprite class is all but done, I couldn't think of anything else i'd need, so I simply lumped together all of the major information of a Sprite and thats the entire Class. I'm also going to begin writing an Input Class after I have finished my collision code.

Biggest of all though, i'm just glad that I have my Bitmap Font woring, so I can use my own style per game. My template is also modestly sized so knowcking up a new font shouldn't take more than an hour.

Flash

The word of Flash is moving a little slower. I've just been deciding what I need in Fireworks and how to structure it in the Menu based on recent feedback. The game now has 3 game modes, which are the following.

- Arcade (the main game, based on score and surviving)
- Freestyle (You can't lose, its about getting used to the pacing and seeing different effects, No Hud either, except for a quit button, the "Chill" mode)
- Tutorial (Pretty much a step through mode where you get to grips with how the game works, no doubt it'll take me the longest to code)

First things first then, i'll code the Freestyle Mode first then the jump from that to Arcade won't be so big.



I was also wondering however if anyone knows if this is possible. Its to do with breaking up a number. Say if I have the number 12345, how would I then break it down into the number, 1, 2, 3, 4, 5 so each digit is seperate. Its just I have to do this for the numbers in Flash as you can't import your own Font. I'd also like it done so it can handle any size number aswell within a given range, any idea?


Title: Re: JDog053 DevBlog
Post by: fog on February 28, 2009, 06:44:07 PM
I was also wondering however if anyone knows if this is possible. Its to do with breaking up a number. Say if I have the number 12345, how would I then break it down into the number, 1, 2, 3, 4, 5 so each digit is seperate. Its just I have to do this for the numbers in Flash as you can't import your own Font. I'd also like it done so it can handle any size number aswell within a given range, any idea?
I'm not sure what commands you have in Flash so don't know if there's a really simple way but two methods that should work in any language spring to mind.

The first would be to convert it to a string and then just read each letter in turn, converting it back to an INT if necessary.

The second method is harder to explain so here's some pseudo code :)
Code:
myScore = 123;

scoreDigit[1] = Int( myScore / 100);

myScore =- scoreDigit[1] * 100;

scoreDigit[2] = Int( myScore / 10);

myScore =- scoreDigit[2] * 10;

scoreDigit[3] = myScore;
Obviously you can just do that in a loop based on how long your score is so that it handles any length of text.

The possible advantage of the first technique is that it works for any text and not just numbers where as the second method is a bit more specific.


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 28, 2009, 10:58:32 PM
Thanks Fog, I managed to do it using teh first method. It works great and can be applied in a simple For Loop. I know i'm going to have to use this in many later programs, so i'm going to create a permanent Method.

Code:

var Score:Number = 52542;
var Text:String = Score.toString();
Num = Text.getChar(Text.length-1);
trace(Num);

//It would print 2


It seems to work fine, I just need to alter how I draw my numbers, since its zero indexed and frames start at 1, so frame 1 would be the number 0 and frame 10 would be 9. So just that to sort out.

Thanks again Fog. Your experience has proved more than helpful once again!


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 02, 2009, 05:30:22 PM
XNA

Well, today i spent the most of the time working on a simple Text class, shame how I dislike classes so much. Anyhoo, i've managed to allow 2 different kinds of text in any font, either 2D or 3D with a shadow, i'm just working on customizing it a little bit further to have it so the shadow can be in any direction. You also have the ability to change the colour of the shadow and the front text accordingly. Once i'm done adding that I can return to my Menu Class.

At the moment the Menu is simple, as most of its hard coded into the main game class, I'm trying to work out if I can extrapolate it further by hving the length of the menu on a screen being a variable and creating a few varied effects. Oh and other than using a switch case for each of the selected buttons, I can't think of how to change it, unless I use a for loop. I'm pretty sure I would still have to specify where each of them go...

Flash

I've just about finished sorting out that Numerical code I was working on, Its now ordered neatly so depending on the font I use for this or future games I can position it accordingly, set number of digits and they'll always be the correct width away from one another. Simple stuff really, but now one less thing I have to do :)

Oh and Beta shouldn't be too far away.


Title: Re: JDog053 DevBlog
Post by: fog on March 02, 2009, 07:49:16 PM
At the moment the Menu is simple, as most of its hard coded into the main game class, I'm trying to work out if I can extrapolate it further by hving the length of the menu on a screen being a variable and creating a few varied effects. Oh and other than using a switch case for each of the selected buttons, I can't think of how to change it, unless I use a for loop. I'm pretty sure I would still have to specify where each of them go...
I'm a big fan of writing flexible script based systems for everything.  I spent literally months writing a really flexible menu scripting system in DBpro.  You wouldn't believe it to look at the menus in Echoes, but it would handle animated buttons, sliders, lists etc. You could automatically link menu options to in game settings etc.  You designed the whole thing in XML and it needed no extra coding at all. Really flexible, and, if I'd ever got around to using it properly, capable of some nice stuff.

Never again though.  If there's one thing I'm going to hard code in the future it's the menus.  It will take a fraction of the time and still be far more flexible.

Not relevant,but I felt like a rant :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 02, 2009, 07:52:40 PM
Oh cool. Since I plan to have a "style" it would make sense to make a simple framework. then again though, you've said it many times that you actually hate any and all Menu Coding?

I don't blame you, especially in XNA, its a bit tedious. But, it is necessary however.

Each to there own :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 04, 2009, 02:15:06 PM
XNA

Not been upto much recently, but I do shate making Classes, its horrible. So far any Class I make that uses either Draw or Update just doesn't want to work, which is a shame, because they kind of need to. My text "Class" as mentioned before is just about ready to be finished, but when I extrapolate the methods into a Class, they just seize to work, probably because they Use a spriteBatch which isn't assigned at that point.

Flash

I designed and made a newer more powerful Game Structure yesterday which is alot more like how it should be, as its all in 1 function instead of many. With this new structure redesign i'm tempted to go back to what I have designed of Fireworks graphics and touch it up a little, by changing a few things here and there, to increase the play size of the arena slightly, make  the Hud/landscape take up a little less space. To do thi though, I have to redesign my Menu Screens, which i'm going to start doing today, don't worry though, same old graphical style of silhouette and gradient background, just done a little bit more professionally.

So i'll hopefully get atleast the game screen finished in time for the weekend, where i'll send a Beta Build away...


Title: Re: JDog053 DevBlog
Post by: fog on March 04, 2009, 02:39:23 PM
XNA

Not been upto much recently, but I do shate making Classes, its horrible. So far any Class I make that uses either Draw or Update just doesn't want to work, which is a shame, because they kind of need to. My text "Class" as mentioned before is just about ready to be finished, but when I extrapolate the methods into a Class, they just seize to work, probably because they Use a spriteBatch which isn't assigned at that point.

If you can be more specific and maybe post the problem code then I'll help you out.  It took me a while to get my head around OOP and XNA and I don't claim to be an expert or know what all the best practices are, but I can get things working :)

Stick it in the XNA Questions thread if you don't want to clutter this blog thread.


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 05, 2009, 05:22:51 PM
I updated the blog www.jdog053.blogspot.com (http://www.jdog053.blogspot.com). I'm making progress here and there. I realised with the Mochi Preloader, I won't really need a preloader, but I am going to do a company animation or something, no doubt the word JDog053 and some dog related or game specific related animation.

I've also decided yet again to simplify the game, instead of loads of options, just get the game working once again, sort out colour and how it looks, make an in game help file and credits page, then work out more specifically what I can do to further the game.

Oh and for my XNA woes Fog. here's a simplified version of my problem, I was just wondering if it can be done. Its in method form at the moment, its just I can't add it to a class and still make it work. I realise to use it in a class I need to change it to "public Text". Also when I
call the class using a constructor,

e.g. Text t = new Text(Bubble, "Hello World", 10, 10, Color.White); It doesn't do anything ???

Code:

void Text(spriteFont TextFont, string TextString, float XCoord, float YCoord, Color TextColor)
{
        spriteBatch.DrawString(TextFont, TextString, new Vector2(XCoord, YCoord), TextColor);
}

//Overload
void Text()
{
       //3D Text Code here
}


Any help wil be appreciated as always Fog or anyone... Thanks :)


Title: Re: JDog053 DevBlog
Post by: fog on March 05, 2009, 06:27:14 PM
What errors does that throw?

You may have other problems elsewhere, but AFAIK you can't declare a constructor as being Void.  As soon as you stick Void in front of it it thinks it's a different method and you obviously can't have a method and the constructor with the same name (although you can overload your constructor)

instead try:
Code:
public class Text
{
   public Text(spriteFont TextFont, string TextString, float XCoord, float YCoord, Color TextColor)
   {
      spriteBatch.DrawString(TextFont, TextString, new Vector2(XCoord, YCoord), TextColor);
   }

   //Overload
   public Text()
   {
       //3D Text Code here
   }
}

if that doesn't fix it then post more code or tell me exactly what error message you are getting.


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 05, 2009, 07:34:08 PM
It says spriteBatch doesn't exsist in this context, so for this to work would I have to create a new SpriteBatch? Everytime I try it gets too complicated. It also seems inefficient to have too many spriteBatch.Begin/End loops in one program.

EDIT: The solution was far simpler, I just reference the spriteBatch by using ref SpriteBatch spriteBatch; Seems to work ok.

Now that i've got it working, whats the point in it? I have to decalre the class, but then actually create the object in the begin loop, which seems sluggish, i'm sure i'm missing a trick. Here's what my update loop looks like, its horrible.

Code:

spriteBatch.Begin();

//Initialised eariler.

t = new Text(ref Param1, Param2, Param3, etc...);

spriteBatch.End();



Title: Re: JDog053 DevBlog
Post by: fog on March 05, 2009, 08:51:16 PM
Ah yeah I see the spriteBatch problem now.  Doh.  I stopped looking once I say your other problem.  :P

Code:
void Text(spriteFont TextFont, string TextString, float XCoord, float YCoord, Color TextColor)
{
        spriteBatch.DrawString(TextFont, TextString, new Vector2(XCoord, YCoord), TextColor);
}

//Overload
void Text()
{
       //3D Text Code here
}

look in your Text header and you'll see  you were specifying "spriteFont TextFont" as a parameter, but then calling "spriteBatch" in the body of your method... when you had no reference to it. :)


Also you should not be creating a new Text object all the time.  Just create one earlier in the class (look where the Spritebatch and GraphicsDeviceManager are created)  and then reuse it when you need it
So:
Code:
//create a Text object at top of code
Text myText = new Text();


//Then in your main Draw method you can use it
spriteBatch.Begin();

myText.Draw(spriteBatch, position, text);

spriteBatch.End();
As you can see I've given the Text method that actually does the drawing a different name as it can't have the same name as the constructor.

Also I don't see where you are creating and loading in your spritefont. You should be doing this in the Text class somewhere.



What I tried to do was design all my classes so they were similar to the main game class, meaning they had the following methods:

Initialize()
LoadContent( ContentManager content )
UnloadContent()
Update( GameTime gameTime )
Draw( SpriteBatch spriteBatch )

This makes it easy to work out which method should be called where as all the object Update() methods are just called from within the main game Update() method.  Not all classes will require all those methods, but it's a good framework to start with (eg: your sound class probably wont need a Draw() method)


If you want I'll post a very basic Text class with how to use it just to get you started.  I know what you're going through as I went through exactly the same when trying to learn it myself :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 05, 2009, 09:10:26 PM
Thanks for your help Fog as always. I will however have to decline accepting an example Text class as i'd love to write one myself.

Thanks...

EDIT: Managed to get one done, it works fine. the only thing I don't like is each time I call the Print function in the class I have to call ref SpriteBatch. Ah well, it works, it'll do


Title: Re: JDog053 DevBlog
Post by: fog on March 06, 2009, 11:20:20 AM
Nice work :)

the only thing I don't like is each time I call the Print function in the class I have to call ref SpriteBatch. Ah well, it works, it'll do
Hmm, you shouldn't need to do it by ref.  And if you don't want to pass it to your methods at all then you could just make it Static. (I can't think why anyone would need more than one SpriteBatch so making it Static shouldn't be a problem IMO)


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 06, 2009, 10:08:56 PM
Thanks Fog :)

I've been doing some more work on Flash at the moment and i've managed to get a program up and running which will become very useful, and I can feel the benefits of this program right away in my current project. Using the inbuilt string methods in the string class, It managed to tell me all the character codes, luckily for me they increment by 1 numerically from 65 with 65 being A, so when calculating which frame to display the Text Movieclip I simply Minus 64 from the result. This now results in the easy placing of text. For the moment though it only concerns the Capital letters, but I only have single case fonts so its not much bother.

EDIT: Actually, I thought it handled non mono spaced text but it doesn't. The way i'm doing it is drawing the letter from the defined coordinated, then cycling through selecting the frame, its just different letters M and W for example are slightly wider, sadly my code doesn't do what i'd thought. Here's an example...

X_Coord + (i*Text._width); :( No doubt i'll work it out.

Progress is progress. Surprisingly it does it all in only a few lines, so thats even better :)

Incase you haven't read the blog, I realised that its possible to do something specific to a game depending on which domain its playing on. With this I intend to have a main stream version of the game which i'll distribute to as many places as possible through Mochi-ads, but specially the version on "my" domain can have Unique features, like tracking Treats or something. All i'd have to do is put a message in game saying that you should play on the Blog to Track achievements.

I only plan on doing about 5 though so its not too much extra. Also with this feature it should give people a reason to come to the blog if they are playing a game of some sort, and come back again to clear up the last few achievements. If i'm really lucky a few players might even stick around if they liked the game to see what my next project is...

I'm just alot more pleased since i'm not having a sponsor. it means i'm not giving into the machine, just yet lol.


Title: Re: JDog053 DevBlog
Post by: fog on March 07, 2009, 01:02:44 PM
I've been doing some more work on Flash at the moment and i've managed to get a program up and running which will become very useful, and I can feel the benefits of this program right away in my current project. Using the inbuilt string methods in the string class, It managed to tell me all the character codes, luckily for me they increment by 1 numerically from 65 with 65 being A, so when calculating which frame to display the Text Movieclip I simply Minus 64 from the result. This now results in the easy placing of text. For the moment though it only concerns the Capital letters, but I only have single case fonts so its not much bother.
Ascii codes are your friends :)

http://www.asciitable.com/ (http://www.asciitable.com/)

Just be careful with subtracting 64 from your values.  It might work fine now that you just have the alphabet, but as you'll see by looking at the ascii table, numbers and commonly used symbols all appear earlier in the list.  When you need to use these then you can't continue to subtract 64 from their ascii values or you'll end up with negative values and one hell of a confused mess.  Much better to store the letter/number/symbol against it's proper ascii code IMO.


EDIT: Actually, I thought it handled non mono spaced text but it doesn't. The way i'm doing it is drawing the letter from the defined coordinated, then cycling through selecting the frame, its just different letters M and W for example are slightly wider, sadly my code doesn't do what i'd thought. Here's an example...

X_Coord + (i*Text._width); :( No doubt i'll work it out.
Yeah it's a pain and that's why I use mono spaced fonts all the time ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 07, 2009, 04:07:32 PM
I've been doing some more work on Flash at the moment and i've managed to get a program up and running which will become very useful, and I can feel the benefits of this program right away in my current project. Using the inbuilt string methods in the string class, It managed to tell me all the character codes, luckily for me they increment by 1 numerically from 65 with 65 being A, so when calculating which frame to display the Text Movieclip I simply Minus 64 from the result. This now results in the easy placing of text. For the moment though it only concerns the Capital letters, but I only have single case fonts so its not much bother.
Ascii codes are your friends :)

http://www.asciitable.com/ (http://www.asciitable.com/)

Just be careful with subtracting 64 from your values.&nbsp; It might work fine now that you just have the alphabet, but as you'll see by looking at the ascii table, numbers and commonly used symbols all appear earlier in the list.&nbsp; When you need to use these then you can't continue to subtract 64 from their ascii values or you'll end up with negative values and one hell of a confused mess.&nbsp; Much better to store the letter/number/symbol against it's proper ascii code IMO.


EDIT: Actually, I thought it handled non mono spaced text but it doesn't. The way i'm doing it is drawing the letter from the defined coordinated, then cycling through selecting the frame, its just different letters M and W for example are slightly wider, sadly my code doesn't do what i'd thought. Here's an example...

X_Coord + (i*Text._width); :( No doubt i'll work it out.
Yeah it's a pain and that's why I use mono spaced fonts all the time ;)

I commonly draw up Mono spaced Fonts, its just this font wasn't too keen since the M and W was one more Pixel wider. For XNA though using the very simple technique it works for any font size and scale between them. Thats why I think for eaze of use i'm just going stick to mono based fonts.

To think, all this extra effort i'm going to for a basic Mini Game lol. I've also planned that i'm going to do Fireworks and one other Mini Game project before I do anything bigger :) Atleast when it comes to bigger projects it'll be ready to use. As far as fonts are concerned though, I think i'll only need the Alphababet and the space for the time being, if I do however make a full keyboard compliment (It will have to be one monster of a project for me to put that much effort into it though to go to that length just for the fonts.

The link though will come in handy, so i'm going to favourite it. :)

Progress is pretty solid though. I've gone back to simplifying the game further once more. For the time being i'm only going to get the game working with all Final Graphics :) No scoring, no multipliers, no showing what combo you're on, just the fireworks, all the finished effects and the bonus Fireworks along with the scaling city. Then i'll work from that point onwards.

I'm 100% going to try and do site specific content by reading the domain name into a string, and checking if that domain is my blog, if it is it will allow a button to work and keep track of Treats/Achievements. It is a good way to bring visitors to the blog. I just know coding it won't be so simple. :(


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 08, 2009, 12:14:31 PM
Nice work :)

the only thing I don't like is each time I call the Print function in the class I have to call ref SpriteBatch. Ah well, it works, it'll do
Hmm, you shouldn't need to do it by ref.  And if you don't want to pass it to your methods at all then you could just make it Static. (I can't think why anyone would need more than one SpriteBatch so making it Static shouldn't be a problem IMO)

I don't anymore. I use a constructor when I create the class which feeds the reference of a spritebatch into my class, so its as if its there. It seems to work a treat and looks less ugly. I've also sorted out the 3D text so you can choose which way to extrude the depth al beit left right, top and bottom. And as your coding prooves recycleable and useful code is the way to go.

I'm going to improve and convert my Sprite struct today into a Sprite Class as I can see the benefits of something like that right away. Also funnily enough, the more useful classes I do now for future projects will also substantially boost the amount of marks i'm due to get for this Pong Coursework.

I modified the font i'm using for Pong (aptly named Bubble) to be used in Fireworks aswell. I think it'll look a bit more friendly, as my current Fireworks font is more like something you'd find on a tombstone, and we can't have that when someone is trying to take a break. So yeah, quite a bulky yet friendly font. Don't worry it does fit what i'm going for, the Name Bubble is a tad misleading.

If you'd like a useable version of my font for XNA all you have to do is ask...It doesn't have all the characters but it does have all the major ones.


Title: Re: JDog053 DevBlog
Post by: fog on March 08, 2009, 01:35:22 PM
I'm going to improve and convert my Sprite struct today into a Sprite Class as I can see the benefits of something like that right away.
It sounds like you're getting over your initial hatred of classes and making good progress :)


If you'd like a useable version of my font for XNA all you have to do is ask...It doesn't have all the characters but it does have all the major ones.
Thanks but I'm a lazy sod so I'm just reusing the bitmap font from the PC version again. :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on March 09, 2009, 10:51:06 AM
Quote
I'm 100% going to try and do site specific content by reading the domain name into a string, and checking if that domain is my blog, if it is it will allow a button to work and keep track of Treats/Achievements. It is a good way to bring visitors to the blog. I just know coding it won't be so simple.

Thats quite an interesting idea.   :)

Will be interesting to see what results it gives.

TMC



Title: Re: JDog053 DevBlog
Post by: JDog053 on March 09, 2009, 05:17:39 PM
I'll keep you informed as always.

Not too sure about what to do really. I love Fireworks so far as i've nurtured the system, I just feel like taking a small break from it. Not too sure what i'll get done in the time (week and 1/2) but we'll wait and see. Theres a few things i'd like to try and I wouldn't mind going back and improving my numerical editor into 1 method (which I don't think I can do...) instead of 2 as it is now. I'd like to play around a little with my text/button editor.

I just feel I need a little break, working on graphics can be a pain, and especially when designing the perfect cityscape becomes a challenge as I love symmetry but I don't like the idea of a symmetrical city.

Knowing me, I might not even take a break since its so close to completion.


Title: Re: JDog053 DevBlog
Post by: T_M_C on March 10, 2009, 10:59:57 AM
Quote
I'll keep you informed as always.

Not too sure about what to do really. I love Fireworks so far as i've nurtured the system, I just feel like taking a small break from it. Not too sure what i'll get done in the time (week and 1/2) but we'll wait and see. Theres a few things i'd like to try and I wouldn't mind going back and improving my numerical editor into 1 method (which I don't think I can do...) instead of 2 as it is now. I'd like to play around a little with my text/button editor.

I just feel I need a little break, working on graphics can be a pain, and especially when designing the perfect cityscape becomes a challenge as I love symmetry but I don't like the idea of a symmetrical city.



Yeh, Motivation is a common problem for everyone.

I find, theres little point in forcing yourself to code / work when you're not motivated too.

If i do force myself, then i usually find myself cutting corners, writing sloppy code and generally not caring about the creation process.

A real recipie for disaster.

Likewise, when i am motivated to work, i find myself taking care, not cutting corners and creating excellent work.

I think it's pretty important to find the right balance between knowing when you need to take a break from work and when to push yourself.

It's pretty difficult if you're working on your own compared to being employed by someone.  Where the paycheck is a real motivator.


TMC


Title: Re: JDog053 DevBlog
Post by: fog on March 10, 2009, 01:43:06 PM
I find if you're getting sick of the actual coding process then take a break from it, and spend some time jotting down a few game design ideas.  Use a scrap pad, use Notepad, fire up Paintshop and doodle a few ideas.  Just concentrate of the creative side for a while and ignore the code side completely.

From my experience it's only when you're full of creative ideas that your enthusiasm for the task of coding will return.

And when you do return to coding, try something that taxes you.  All coders enjoy the problem solving aspect of it, so attempt something that pushes your abilities as this will hold your attention much longer and ultimately be much more fulfilling than coding something you could do in your sleep.


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 10, 2009, 02:13:42 PM
Yeah, that was my main idea, a little break from the project (I am by no means scrapping it at all) then come back with newer better ideas a few more plans here and there.

I'm doing what i'd said though, some more work on my Text/Button editor as it has a few problems that i'm working on solving. maybe once I get that done, I can combine it with my Game Structure which is simpler and faster and I believe I mentioned it before.

I've also been thinking about a few other possible mini games and a couple spring to mind, most would be slight clones with a twist, each of which would be challenging. Ah well, when the week and a half is over I will no doubt have more inspiration.


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 12, 2009, 01:42:21 PM
This little break is doing me quite well so far. I've been doing some coding here and there, nothing too intense.

I managed to sort out My Achievement code, so you can get an Achievement for whatever criteria and then the result will save so you can only unlock it once. Its quite simple code, just an if statement with a simple && Boolean check. All I need to test for the achievement system now is to see if I can get it to work on only specific domains, if I can, then i'm in business.

I've also been doing some bullet code (i'll not say why, maybe I just need bullet code ? :D) it allows you to aim the mouse in the direction you'd like to fire and with no delay it happily fires the bullet in that direction. What I find so special about this code is that it doesn't use any angle calculations whatsoever, so its a simple i think 10 line block which handles speed and direction (although for this one is the other). I haven't tried to shoot multiple bullets from source i.e a spread shot effct or anything, but i'm sure with a little tinkering it can be done.

I've also been writing a small demo project to test out some well placed methods and dare I say it, i've been considering making a Class in Flash since I know its a Class based language aswell. I'd had this glitch with multipurpose methods before in Flash which i've more than ironed out already.

I've also been busy doing some simple Pixelart. Its good to get back into the spirit of it, even though its harder than I remember.

Not too sure about when i'll return to Fireworks. I still have a few things planned for Fireworks I just know that since i'm making it myself my standards have become too high, no worries I've lowered my hopes once again so I will be able to atleast get the playable game done with a full scoring compliment. I will return definitly but just don't know when. Most probably during the Easter holidays as my Maths coursework will be out of the way.

A few things I think I need though are, A permanent logo to display in each game, whether that be a symbol and text or just text, thats about it really. I need to do a few more embedding tests on the blog and see about adding some Pixel Art work at key locations on the blog.

Well, back to coding for me!


Title: Re: JDog053 DevBlog
Post by: fog on March 13, 2009, 10:28:22 AM
I've also been writing a small demo project to test out some well placed methods and dare I say it, i've been considering making a Class in Flash since I know its a Class based language aswell. I'd had this glitch with multipurpose methods before in Flash which i've more than ironed out already.
But you hate classes ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 16, 2009, 03:07:02 PM
Well, my break from Fireworks is nearly at an end.

I need to tweak my text editor a little at the moment to sort out Text spacing, and I also have to work out a better way to delete it if its in the form of a button.

I'm tempted, for a few games at the very least to go back to making buttons the old way, where I would draw them out in paint with the text on them, then transfer them into vector form. I know it takes a while, but as I keep being reminded, Menu systems although useful, kinda suck.

So yeah, for the mean time i'll go back to using my button objects.

On the whole, its quite tricky to keep an art style througout a full game. I really like the idea of the silhouetted city as it really does help the overall style, but I do feel the explosions in comparison look a little lackluster.

Another thing I need to stop doing is getting carried away with over complicating the game. A good game is its own reward.

Other than that and a few other small game prototypes, not much to report.


Title: Re: JDog053 DevBlog
Post by: fog on March 16, 2009, 09:28:03 PM
I'm tempted, for a few games at the very least to go back to making buttons the old way, where I would draw them out in paint with the text on them, then transfer them into vector form. I know it takes a while, but as I keep being reminded, Menu systems although useful, kinda suck.

So yeah, for the mean time i'll go back to using my button objects.
Yeah doing your buttons as separate graphical elements allows for much more flexibility.  It allows you to use symbols instead of plain text and you can get much better looking results.

But please tell me you don't really use Paint :)


On the whole, its quite tricky to keep an art style througout a full game. I really like the idea of the silhouetted city as it really does help the overall style, but I do feel the explosions in comparison look a little lackluster.
The simple silhouetted city looks great, but maintaining that simple look when your game is based around fireworks, the complete opposite of simple, is going to be tricky. :)


Another thing I need to stop doing is getting carried away with over complicating the game. A good game is its own reward.
Wise words.


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 16, 2009, 10:09:39 PM
I wish I could, but yep, I still use Paint. Its a simple easy to use program that does everything you would need.

Marrying the two as you'd said will prove difficult, as the silhouette is simple, the Fireworks aren't (if i go for more realistic firework effects, which i'm tempted to do). Although they should still look petty cool either way.

In that respect though, I think Fireworks has enough elements, for Fireworks, combos, I don't really need abonus firework, I could just say have an extra explosion effect per level or something, to make advancing more fun, so say on level 1 you get a bog standard (lol) boring firework effect, level 2 a new firework gets unlocked and the display gets a little more interesting, level 3 a new firework and so on until say level 10. It combines having a target and getting a reward quite nicely as the player will be thinking, i wonder what firework i'll get next.

Another thing aswell, I think if throught the entire game if its a stream of fireworks it gets a little dull, so after say level 5, i could cap the spawn rate off but then each time a firework spawns it'll select a random number between 0 - 9 and if it selects 5 then it'll spawn 2 fireworks at the same time, and if you get past level 10, it'll spawn either 2 or 3 fireworks at the same time. - thats something I have to check.

It seems like i'm getting carried away but I do need to do something like this to help with the project. Afterall my aim is to get a game released this year, I just hope its a good one. Fireworks with most of the things that i've planned so far would make a good game IMHO, so getting a fraction of it done would be a great start.

I've also been looking closely at other online mini games and seeing what they include, so it'd be cool to build a game to that magnitutude, which i somewhat smaller than what i'm currently doing, although in a smaller game, more effort can be put into the graphical style and the layout of the game instead of expanding the game beyond recognition into a feature packed behemoth.

Either way its good to talk about ideas :)

How are things wih you Fog and TMC, in general and gaming?


Title: Re: JDog053 DevBlog
Post by: T_M_C on March 17, 2009, 11:19:57 AM
I'm doing well thanks. 

Looks like you still have plenty of idea's kicking about which is great.

Have you thought about posting some requests for an artist to help with the graphics.  Theres plenty of people on various forums to talk to.  Some artists are for hire, payed work, but most i see are hobbyists, who would be willing to create a team for a project.

I don't see your firreworks project requiring alot of graphics, but people will expect pretty high quality visuals nonetheless.

It would be a big advantage to get someone else to concentrate just on the graphics, leaving you free to concentrate on the coding.

Unless of course, you enjoy creating the graphics.  Just means alot more work.

I also wouldn't discount any idea's in fear of over complicating the game.  Let your playtesters advise on what idea's are good, what works and what doesn't.


Quote
In that respect though, I think Fireworks has enough elements, for Fireworks, combos, I don't really need abonus firework, I could just say have an extra explosion effect per level or something, to make advancing more fun, so say on level 1 you get a bog standard (lol) boring firework effect, level 2 a new firework gets unlocked and the display gets a little more interesting, level 3 a new firework and so on until say level 10. It combines having a target and getting a reward quite nicely as the player will be thinking, i wonder what firework i'll get next.

Player rewards are really important, especially for those players, like me, that are not motivated to play by getting high scores.
Unlocking extra game features, like graphics, sounds, effects, bonuses ect are real motivators for players like me.

Perhaps an idea could be the boss level every 10 levels or so.
By boss level, i mean this to be a seperate sub game, or animation even, instead of the usual end of level boss. An interlude section, break from the main game. Gives the player something to aim for.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on March 17, 2009, 04:27:11 PM
I wish I could, but yep, I still use Paint. Its a simple easy to use program that does everything you would need.
You might want to look into using something other than Paint for your XNA stuff though otherwise you can't do nice stuff using alpha :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 17, 2009, 07:59:17 PM
I wish I could, but yep, I still use Paint. Its a simple easy to use program that does everything you would need.
You might want to look into using something other than Paint for your XNA stuff though otherwise you can't do nice stuff using alpha :)

Can't you just apply a texture to a 3D plain then change the transparency if I need to do something like that? or just alter the transperency of a 2D texture? Either way, I love Paint, mainly because its free.

I see what your saying TMC, although much like I thinkg Fog mentioned before, its good to be in control, its hard to tell somebody else what I want when even at this stage, I don't know what i'd want. So its best if for the time being I do everything, that way if everything doesn't look right or work right I can only blame myself.

That idea regarding rewards was based on both your testing. rewards are important, but I can't let the rewards out way the game in this case, so rewards would be, new Firework effects (with new effects would come new sfx etc). Its just an idea at the moment.

As i'd said a few posts back, I just need to get the playable game, with the final cityscape and firework effects and such to see if it all fits.


Title: Re: JDog053 DevBlog
Post by: fog on March 17, 2009, 08:47:39 PM
Can't you just apply a texture to a 3D plain then change the transparency if I need to do something like that? or just alter the transperency of a 2D texture?
You can only do that if you want a uniform alpha across a whole image.  What do you do if you want a solid object with a nice glow effect around it?  Look at some of the images in the Echoes download and you'll see that even the basic asteroids have a 4 or 5 pixel alpha'd glow around them. Without that it looks seriously crap.

Without exploiting alpha and a touch of AA then you wont get really nice results IMO and you can't do that in Paint.


Either way, I love Paint, mainly because its free.
So is GIMP ;)
http://www.gimp.org/downloads/ (http://www.gimp.org/downloads/)

I use a really old version of Painshop Pro.  It doesn't have half the features of the latest Photoshop, but it does all I need whch, most importantly for me, is support for alpha and PNG images.


Even with crappy jpeg compression you can easily see which one of these asteroid images had an alpha channel (without the jpeg crappiness the difference is even greater)


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 17, 2009, 09:05:50 PM
Wow, I see what you mean! It definitly has its advantages. I tried to use the GIMP before but its a bit terrible and i'm not too keen on the UI. Althugh you have reminded me of Paint.net which is pretty cool.

the reason I am so stuck on Paint is that I don't really need anything else at the moment for Pixel Art games.

I'll direct you once more to www.nitrome.com (http://www.nitrome.com) where thats the kind of stuff i'd love to get good at, at the moment my Pixel art skills although pretty good, are nowhere near these guys ability! Also the games are pretty awesome too!

Its something i'll think about on a more, when I need it kind of time scale :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 22, 2009, 01:10:25 PM
Update, its been a while. I've mainly been busy working on Pong for my coursework. Its looking great, as you'd expect :) Its pretty simple although packed with loads of features as I finally have motion blur working fine, i'm working on adding a psuedo 3D effect on both Paddles and the ball, and i'm just finishing up the menu, where all I have to do is display a top 5 leaderboard and have it so it saves and loads data. So on the whole XNA is going fine.

I've also been doing a little work in Flash, mainly checking the quality of adding PNGs directly into the game without converting them into Vectors which is What I used to do (I heard its faster this way). I am working on an Ultra Mini Game just to see if I can get something ultra simple yet polished finished in a small timescale (If I do expect a post next Saturday ladened with screenshots :). Its more a test of my Pixel art then my game making ability, although the game itself is fun.

I modified my font a little so now it has uppercase and lowercase (albeit smaller capital letters in some cases :)).

I'll be updating a little bit more frequently this week, coursework pending as I hope to get that Ultra Mini Game out of the way.


Title: Re: JDog053 DevBlog
Post by: fog on March 22, 2009, 01:30:15 PM
Update, its been a while. I've mainly been busy working on Pong for my coursework. Its looking great, as you'd expect :) Its pretty simple although packed with loads of features as I finally have motion blur working fine, i'm working on adding a psuedo 3D effect on both Paddles and the ball, and i'm just finishing up the menu, where all I have to do is display a top 5 leaderboard and have it so it saves and loads data. So on the whole XNA is going fine.
Sounds great.  Do you have that free Creators Club membership sorted yet so you can run this stuff on the 360, or are you still restricted to the PC?  I find running it on the 360 is a lot more satisfying for some reason.  :P


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 22, 2009, 02:01:10 PM
Nah, not yet, but I really should get it soon. So far though, i'm happy using it for PC development and using the 360 controller on it.


Title: Re: JDog053 DevBlog
Post by: fog on March 23, 2009, 12:18:15 PM
Nah, not yet, but I really should get it soon. So far though, i'm happy using it for PC development and using the 360 controller on it.
Well don't forget that if you do decide to develop for the 360 it's a good idea to test regularly on the 360 itself.  I know that sounds obvious, but it's easy to just keep testing on the PC when you know the code you are writing should work on both platforms the same.  In theory you simply complete the game on the PC and then copy the finished code to the 360 and it will work identical to the PC version.  In my experience it doesn't :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 23, 2009, 07:50:12 PM
Sounds like some good advice Fog, i'll bare that in mind, when I start on a proper long term project. for the moment though, Pong is just for the PC.


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 24, 2009, 12:53:18 PM
Update

Well i've been doing alot more work in flash and paint for my current project (which is still fireworks). I'm working to make the game more professionl, so as a result I feel that I have to lose the silhouette efect even though it looks great (although I won't completely forget it. Since i've ben doing alot of work in isometric recently i've been tempted to build an isometric cityscape to do the display over. If I do this however it means that the city can't scale any more due to pixel graphics disliking scaling.

I am returning the Fireworks effects as they were before looking like more realistic effects, instead of a cheap expanding circle (although that circle will still stay in the game as its my collision object :D, its really slow having collision on a per particle basis as with well over 150 on screen would slow the game down to no end siince each is listening for a collision). Sometimes the easiest ways of doing things are the best!

Other than the look of the game I haven't gone back to do any coding yet. I'll go back to programming once all of the art is done.

Aswell as that though I have also been thinking about working on a permanent logo, I know I had one before, but nowadays i'm not very happy with it, as its a bit bland and unclear, so i'm going to make a better one with my new found Paint skills.

i also think I should start working on a proper full scale flash game with levels and everything, a more long term project, something I can add too on a regular basis to build a much larger project. Thats after Fireworks atleast though, so i'll not think about it anymore.


Title: Re: JDog053 DevBlog
Post by: fog on March 24, 2009, 08:59:20 PM
I'm working to make the game more professionl, so as a result I feel that I have to lose the silhouette efect even though it looks great (although I won't completely forget it.
Shame as I really liked the simple but stylish look of the skyline.  I'm not sure I agree that it didn't or couldn't look professional like that either :)


its really slow having collision on a per particle basis as with well over 150 on screen would slow the game down to no end siince each is listening for a collision). Sometimes the easiest ways of doing things are the best!
Is Flash really that slow?  Once you've done a rough bounding box check you should only have about a dozen proper distance checks to perform and I'd have thought Flash could handle that?


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 24, 2009, 09:02:47 PM
Yeah, flash is really slow, you have to tease the game into working as it should by heavily limiting when stuff occurs. If I do an explosion which has 20 particles, then if theres another explosion, thats 40 particles all doing distance calculations, whereas if over each explosion is a simple expanding circle to another its 2, so its far more economic. You can have lots of stuff on screen proportional to how much everything does.

Yeah, it did look pretty sweet, i'm still in tinkering mode at the moment, so I might still go with my gut instinct, we'll wait and see though.


Title: Re: JDog053 DevBlog
Post by: fog on March 24, 2009, 09:24:37 PM
Yeah, flash is really slow, you have to tease the game into working as it should by heavily limiting when stuff occurs. If I do an explosion which has 20 particles, then if theres another explosion, thats 40 particles all doing distance calculations, whereas if over each explosion is a simple expanding circle to another its 2, so its far more economic. You can have lots of stuff on screen proportional to how much everything does.
Ah I see.  :) The way you are doing it with a single large circular collision object is certainly the right way to go about it anyway.  I was just curious about Flash


Title: Re: JDog053 DevBlog
Post by: T_M_C on March 25, 2009, 11:29:50 AM
Don't forget, that you don't necessarily  have to calculate and process all collisions within each game loop.

You could try and cut down the overhead, by checking half the amount of collisions one loop, and the next half, on the next pass of your code ect.

Time sharing the amount of collision checks per loop.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on March 26, 2009, 10:44:43 PM
In the case of Fireworks I'd say the perfect solution is using a pre-calculated collision array so there are no proper distance calcs done in game at all.  That's as fast as you're ever going to get.


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 27, 2009, 06:03:22 PM
In the case of Fireworks I'd say the perfect solution is using a pre-calculated collision array so there are no proper distance calcs done in game at all.  That's as fast as you're ever going to get.

Do you mean, split the screen into a grid, and if any fireworks are sharing any of the squares in the grid then register it as a collision? Sounds pretty good.
I'll just leave it as it is.

For the time being i'm going to halt development on Fireworks, and attempt another small project. Main reason is it would be silly just releasing 1 small game, if I did a few I could release them at once. In the mean time, just one other small game, with Achievements on every version, instead of just the version on my blog, although i'm not sure... I'm also interested in making my own global highscore system so anyone who gets a highscore can save it to a global database, where the top 100 scores can then be viewed per game.

I've been doing a little XNA and C# recently and I now have functioning Saving and loading code. I also have it saving into a .dog file :) I just have to learn how to encript these files so any tom ... or harry can't get into them. Its a concern.

i'm progress on most fronts!

My Pixel Art has greatly improved and i'm currently working on a nice isometric building that i'll showcase soon :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 27, 2009, 08:56:25 PM
I've updated the blog, mainly explaining the Treat system I mentioned a while ago with the Use of an FAQ as the post explains. I just hope people aren't sick of achieving things :)


Title: Re: JDog053 DevBlog
Post by: fog on March 27, 2009, 09:08:04 PM
In the case of Fireworks I'd say the perfect solution is using a pre-calculated collision array so there are no proper distance calcs done in game at all.  That's as fast as you're ever going to get.

Do you mean, split the screen into a grid, and if any fireworks are sharing any of the squares in the grid then register it as a collision? Sounds pretty good.
I'll just leave it as it is.
Nope :)

What I suggest is to create a two dimension array and fill it with pre-calculated distance values and then use this to look up the distance between two objects to see if they collide.

So fill your array with distances (pseudo)
eg:
Code:
FOR (INT y=0; y<101; y++)
{
   FOR (INT x=0; x<101; x++)
   {
      DistanceArray[x, y] = VECTOR2(x,y).LENGTH();
   {
}

Then to use it in game just calc the absolute x and y offset between your two objects
Code:
offsetX = ABS (objectA.X - objectB.X)
offsetY = ABS (objectA.Y - objectB.Y)

and read the distance value at these array positions to find the distance between the objects

Code:
DistanceArray[offsetX, offsetY]

That's just for distance checks, but if you are using a lot of expensive maths functions then it's a good idea to pre-calculate a lot of them, stick the results in an array and read them back when required.



My Pixel Art has greatly improved and i'm currently working on a nice isometric building that i'll showcase soon :)
Cool :)  I love a bit of pixel art but can't do it myself.


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 28, 2009, 01:30:25 PM
That seems like a good system, with defnite advantages! is All else fails i'll try and make the system anyway, whether I use it or not, something like that could be used to great effect with a shmup or sometthing else aswell in Flash.

I've finally managed to make a much neater file system in XNA so it makes a new one if it doesn't exsist. Whereas if it does exsist it won't overwrite, it'll simply by pass teh creation and read from the file. Happy days! Once again, thi is something I can use in any game. I'm loving how it writes the data into a new created .dog file with encryption aswell :)

As far as the building is concerned I just have to colour it in. I spent about 2 hours just getting it to the right proportions. Its a bit trickier than most since i'm modelling it n a real building, that i'm very fond of :).


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 03, 2009, 05:30:57 PM
XNA

Well, in the world of XNA, alot and a little has happenned this week, both of which i'm quite pleased about. I mentioned that I was making a sprite class last week, but was having problems, well they're gone and the class is fully fledged and up and running. I'm planning on making a sprite related class hierarchy for use in games, where every sprite in the game, whether it be the player sprite or the enemy sprites or bullets will simply inherit the parent spite class, then i'll extend functionality, so all sprites will need to be loaded and drawn, but what if I want to limit behaviours or expand behaviours, maybe like Fog have a full set of behaviours in one class then simply apply that to the current object.

In short, I can more than see a use for classes.

With this standalone class for sprites which monitor the loading and drawing of sprites, I thought i'd revisit my first text class and expand it somewhat.  It started as a simple expansion by adding the stand alone loading like the sprite class, where I then thought, I like it when stuff is centred, so I added a little centre text option, which isn't much. I then allowed the changing of the projection for 3D text, so it can go either Left Right, Up Down and combo of them all. Finally i'm going to add a shadow option to the text. Once thats all polished, i'm going to play around with a few of the other text draw methods and see if I can't animate text or something. Either way class based design is helping!

Flash

Although i've been doing alot of C# I managed to find half an hour to do some coding in Flash. I firstly tried to convert my number and text functions into Flash classes, which didnt work as they aren't to the standard of C# classes, so I scrapped them. I then wrote a series of TODO: Statements above my Text functions of things I should do to improve the functions, and systematically worked through them. I went from 8 to about 3, so i'm pretty pleased, just a few extra things to do. Like multiple lines and any width of letter and to combining the Number and Letter Functions into a master function. I also simplified my delete function aswell as removing the option of making the text into a button.

Its like 1 step backwards 5 steps forwards, so thats good progress.

Fireworks

I'm going to make Fireworks now my "Test Game". Merely testing a proof of concept, kinda like Mono but less good. It'll have all the same scoring opions I put in there before, but it means I can get away with having a sloppy cityscape (since I can't really design a very good city :D). Its going to have more traditional effects like before and utilise my text functions in some way.

So its gone from a big first release, to a mindless 5 minute time waster, that shouldn't suck. Oh and since its a "Test Game" it won't have "Treats". It takes the pressure off and it means I can release it without over promising things or getting too bogged down on the presentation front!

It'll be to the same graphical style I showed you all before.

Thanks for reading, any questions queries comments?


Title: Re: JDog053 DevBlog
Post by: fog on April 03, 2009, 07:57:12 PM
XNA

Well, in the world of XNA, alot and a little has happenned this week, both of which i'm quite pleased about. I mentioned that I was making a sprite class last week, but was having problems, well they're gone and the class is fully fledged and up and running. I'm planning on making a sprite related class hierarchy for use in games, where every sprite in the game, whether it be the player sprite or the enemy sprites or bullets will simply inherit the parent spite class, then i'll extend functionality, so all sprites will need to be loaded and drawn, but what if I want to limit behaviours or expand behaviours, maybe like Fog have a full set of behaviours in one class then simply apply that to the current object.

In short, I can more than see a use for classes.

With this standalone class for sprites which monitor the loading and drawing of sprites, I thought i'd revisit my first text class and expand it somewhat.  It started as a simple expansion by adding the stand alone loading like the sprite class, where I then thought, I like it when stuff is centred, so I added a little centre text option, which isn't much. I then allowed the changing of the projection for 3D text, so it can go either Left Right, Up Down and combo of them all. Finally i'm going to add a shadow option to the text. Once thats all polished, i'm going to play around with a few of the other text draw methods and see if I can't animate text or something. Either way class based design is helping!
Cool :)

Yeah I have to say that originally, before I fully appreciated classes, I just saw them as an obstacle to me getting the job done, making things unnecessarily complicated.  Now I love em (although I now see how bad some of my original class based code is and I'm having to resist the temptation to go back and change it all  :P )


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 05, 2009, 02:44:11 PM
It is tempting to go back and improve code some more. I probably will with my Text class as its a class I use fairly often and I wouldn't want it to be inefficient.

I tested my global Sprite class by making a Paddle cass which extends the Sprite class, and it works exactly as you'd expect it to, perfectly :) It definately helps with having a much neater and emptier main loop. I'm probably going to make a Ball class in a bit and try and update my pong coursework for the final time.

I'm at the point though, where I think my C# and XNA knowledge is suitable enough for me to think about a ful scale XBLCG project (I said think, and not code just yet). No idea what it is I want to do...I'm sure i'll get an idea at some point.

I am going to try and get a Flash game released first as i'm more familier with that than XNA. I just want to manage my new years resolution before the year is out. I will make it happen!


Title: Re: JDog053 DevBlog
Post by: fog on April 06, 2009, 11:56:44 AM
I'm at the point though, where I think my C# and XNA knowledge is suitable enough for me to think about a ful scale XBLCG project (I said think, and not code just yet). No idea what it is I want to do...I'm sure i'll get an idea at some point.
Do it ;)

Why not do a port of Fireworks for the 360?  It should be a fast enough job as most of the logic will need very little change and with the extra graphical grunt you could do some really stunning firework explosion effects.


BTW I've just seen this.  I know you love your Paint so this looks nice and easy to use if you find the likes of Photoshop a bit overcomplicated (I know I do), but this also has full support for the alpha channels so you can do some lovely PNG images. 

http://www.qualibyte.com/pixelformer/ (http://www.qualibyte.com/pixelformer/)


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 06, 2009, 12:40:00 PM
I'm at the point though, where I think my C# and XNA knowledge is suitable enough for me to think about a ful scale XBLCG project (I said think, and not code just yet). No idea what it is I want to do...I'm sure i'll get an idea at some point.
Do it ;)

Why not do a port of Fireworks for the 360?&nbsp; It should be a fast enough job as most of the logic will need very little change and with the extra graphical grunt you could do some really stunning firework explosion effects.


BTW I've just seen this.&nbsp; I know you love your Paint so this looks nice and easy to use if you find the likes of Photoshop a bit overcomplicated (I know I do), but this also has full support for the alpha channels so you can do some lovely PNG images.&nbsp;

http://www.qualibyte.com/pixelformer/ (http://www.qualibyte.com/pixelformer/)

Thats a great idea, i'll release it as a test project in Flash first just to gauge user opinion and such, then I could think about porting it to 360, with more features, only provided its successful ;)

I'll more than check out that software aswell, it seems the alpha could definately improve my sprite work. Although I do also own macromedia Fireworks too, which I think supports alpha channels, its just for the time being I haven't found a need for it yet!

Thanks Fog.


Title: Re: JDog053 DevBlog
Post by: fog on April 06, 2009, 09:08:15 PM
Just make sure I have some version of Fireworks to play soon whether it's Flash, XNA or Vic20 Basic (one for our older readers).  :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 07, 2009, 12:01:42 PM
Just make sure I have some version of Fireworks to play soon whether it's Flash, XNA or Vic20 Basic (one for our older readers).  :)

Will do. I had a good think about what was holding me back from the game, and what is necessary for me to add to complete the game! Surprisingly its not that much. I just need to make an instruction screen of some sort. I may even have it finished by next Friday, so about a week (although, something is bound to stop mefrom doing it. I just hope it doesn't!).

 


Title: Re: JDog053 DevBlog
Post by: fog on April 07, 2009, 02:34:29 PM
Just make sure I have some version of Fireworks to play soon whether it's Flash, XNA or Vic20 Basic (one for our older readers).  :)

Will do. I had a good think about what was holding me back from the game, and what is necessary for me to add to complete the game! Surprisingly its not that much. I just need to make an instruction screen of some sort. I may even have it finished by next Friday, so about a week (although, something is bound to stop mefrom doing it. I just hope it doesn't!).
 

Developer Rules #99 - Never give a release date no matter how confident you are you will meet it.  You wont ;)


Title: Re: JDog053 DevBlog
Post by: T_M_C on April 09, 2009, 09:53:35 AM
Quote
Developer Rules #99 - Never give a release date no matter how confident you are you will meet it.  You wont

My 3 year deadline seems a bit optimistic now.   ;D

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 09, 2009, 05:19:07 PM
Your probably right! Its best to say that it'll be out when its out! Although, hopefully sooner rather than later.

Also, how do people feel about instructions mid game, al la Hexic, so when something new is introduced they are infored when it matters? if its an ok, then it'll save some serious Menu space. I'l ofcourse make it skipable or toggle on off in the options.


Title: Re: JDog053 DevBlog
Post by: fog on April 09, 2009, 07:13:20 PM
Also, how do people feel about instructions mid game, al la Hexic, so when something new is introduced they are infored when it matters? if its an ok, then it'll save some serious Menu space. I'l ofcourse make it skipable or toggle on off in the options.
It really depends on how many and how intrusive they are.  Hexic is a turn based puzzle game and IIRC there are only 2 or 3 instruction pop-ups.

Personally I'd just have a single splash screen before the game starts or menu based instructions and rely on the player reading them. 

If however you have a difficult gameplay concept that you really really must get across to the player then mid-game instructions is certainly one way of doing it.  The problem is that for every person who reads the instructions you'll probably piss-off 10 by interrupting the gameplay.  Thus is life.  And if you do use them then they should only appear the first time someone plays and not in subsequent games  :)

All IMHO of course :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 09, 2009, 09:17:55 PM
Sounds good. With the save data aswell, its clever enough to realise whther or not someone has played the game before. I'll need to test that one out I think.


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 13, 2009, 08:37:55 PM
UPDATE

Been a little busy so not too much done.

I've got a new and improved logo, which is alot better than before, its definately to a better style and more "pixelly" than before.
The "Treats" system is in, and all sorted out with methods. All i'll need to do is decide on the achievements when I put it into the game :)
Text and Numbers are improved, i'll not combine the two into a master method as they both have different uses. I just need to improve the Numbers methods a little.
I've been doing some more pixel art, not managed to do anymore on the building i'm working on as its a tricky shape... but I did a nice clockwork mouse, that I just need to colour in :)

I'v also been busy in XNA too, and finally have a leaderboard class to handle all in game leaderboards. I have a little bug though to do with a static int data type being put into an array, but its not a huge problem!

Never thought i'd say this, but I LOVE Classes!

All i'm gonna say is i'll be glad once Pong is out of the way so I can concentrate on a proper game :) It wont be Fireworks either :o


Title: Re: JDog053 DevBlog
Post by: fog on April 14, 2009, 01:43:06 PM
I'v also been busy in XNA too, and finally have a leaderboard class to handle all in game leaderboards.
Thanks for reminding me I don't have one of those yet  :bunnymonkey:


All i'm gonna say is i'll be glad once Pong is out of the way so I can concentrate on a proper game :) It wont be Fireworks either :o
Not Fireworks?  Does that mean you already have a new idea in mind?


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 14, 2009, 04:46:07 PM
I'v also been busy in XNA too, and finally have a leaderboard class to handle all in game leaderboards.
Thanks for reminding me I don't have one of those yet  :bunnymonkey:


All i'm gonna say is i'll be glad once Pong is out of the way so I can concentrate on a proper game :) It wont be Fireworks either :o
Not Fireworks?  Does that mean you already have a new idea in mind?

Nah, I don't have an idea just yet, but I just want something more than Fireworks since people will have to part with their hard earned to buy it, so it has to be worthwhile.

I just want to do something impressive!


Title: Re: JDog053 DevBlog
Post by: fog on April 15, 2009, 12:41:56 PM
Nah, I don't have an idea just yet, but I just want something more than Fireworks since people will have to part with their hard earned to buy it, so it has to be worthwhile.

I just want to do something impressive!
Ah well if you're anything like most of us then the biggest problem will be deciding which of your many ideas to develop first....or in my case, deciding which of the million-and-one ideas isn't completely crap :)

And remember....Impressive is good, over ambitious is bad.   :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: T_M_C on April 20, 2009, 09:55:11 AM
Have you thought about researching what casual games have been financially lucrative and just simply writing a clone.  To sell.

Even though there are a million and one clones out there, take the match 3 type games for instance, i'm sure even today the clones still sell relatively well.

I would think a bejeweled match 3 type clone would be a good starting point.

Not to difficult to code, you don't need alot of fancy graphics or sound, frame rate issues shouldn't be a problem ect ect.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 20, 2009, 05:16:46 PM
I've dropped the old "getting rich from games" (although it would be nice!) i'm now much more about, what would I like to play, what would others like to play? would that make a game?

I really like making games, so i'd much rather spend my time making a game thats fun to play instead of making a game thats been done.

I know i've changed my tune, but its alot of fun experimeting :) Kinda like what you (TMC) Fog and SiN are doing. Having fun making games!


Title: Re: JDog053 DevBlog
Post by: fog on April 20, 2009, 08:13:32 PM
I've dropped the old "getting rich from games" (although it would be nice!) i'm now much more about, what would I like to play, what would others like to play? would that make a game?

I really like making games, so i'd much rather spend my time making a game thats fun to play instead of making a game thats been done.

I know i've changed my tune, but its alot of fun experimeting :) Kinda like what you (TMC) Fog and SiN are doing. Having fun making games!
There's nothing wrong with trying to get rich.....the problem is that while you can certainly increase your chances by concentrating on certain game styles and aesthetics, the chances are still pretty slim that you ever will because those markets are so crowded.

So you might as well code something you enjoy and if you make any money it's a bonus.  :)

(I also think that if you code something you enjoy yourself then that will show in the final product and as such will be more enjoyable to others and therefore potentially more profitable anyway.....but that's another argument)


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 20, 2009, 09:36:56 PM
Most importantly of all though, I need to get a game out into the public domain!


Title: Re: JDog053 DevBlog
Post by: fog on April 21, 2009, 12:05:54 PM
Most importantly of all though, I need to get a game out into the public domain!
Yup that first one is the biggie :)  As I've said before, getting a game out there is the biggest motivation boost you'll get.

Now where's my Fireworks? ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 21, 2009, 06:13:43 PM
Most importantly of all though, I need to get a game out into the public domain!
Yup that first one is the biggie :)  As I've said before, getting a game out there is the biggest motivation boost you'll get.

Now where's my Fireworks? ;)

Yeah, about that... I see no reason hey I shouldn't just clean it up and get it out there! I just need to explain how to play the game well enough. Guess I know why I stopped it, eh? :)

I'll get something done!


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 23, 2009, 12:00:57 AM
Updated the site today, saying a few things here and there with regards what i'm upto.

Pretty soon though, that site wil stretch and start to discuss my experiences in XNA aswell. I may even give away my first font free of charge (I mean, I wouldn't pay for it, lol). Just have a few more characters to add here and there.

I managed to replicate snooker balls colliding (in flash) with fairly accurate physics, best of all, no angle calculations!


Title: Re: JDog053 DevBlog
Post by: T_M_C on April 23, 2009, 10:11:46 AM
Cool stuff.

Quote
I managed to replicate snooker balls colliding (in flash) with fairly accurate physics, best of all, no angle calculations!

I remember when i wrote a 3d snooker game.  Found a great 3d snooker table model on turbo squid and and snooker ball physics tutorial on gamasutra.

Was all working really well except for one bug i could never track down, which allowed some of the balls to fall through the pockets and onto ground,  :o, very annoying.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 30, 2009, 12:42:10 PM
Over the past few days i've been thinking more about Fireworks.

I'm going to continue making the game, and as a result i've had to do a small redesign on the graphics and how i'd like the game to look (all for the better IMO). I should be showing more things shortly.

The only time consuming thing at the moment is balancing the game as the levels progress and doing some fireworks patterns. Since this is the game i'd like to release this year (yeah, I really do care about it now, wierd, huh?) I'm going to add Treats as I think they would suit the game and I have a unique way of telling the user they've unlocked a treat during the game, that i'm keen on trying out.

Thanks for bearing with me so far, after I finish my coursework i'm going to concentrate solely on Fireworks!


Title: Re: JDog053 DevBlog
Post by: fog on April 30, 2009, 01:08:04 PM
Good news JDog.  I take it this is still a Flash project and you haven't moved it across to XNA yet?

Whatever, I look forward to trying the next update. :)



Title: Re: JDog053 DevBlog
Post by: T_M_C on May 01, 2009, 09:48:21 AM
Quote
Over the past few days i've been thinking more about Fireworks.

I'm going to continue making the game, and as a result i've had to do a small redesign on the graphics and how i'd like the game to look (all for the better IMO). I should be showing more things shortly.

The only time consuming thing at the moment is balancing the game as the levels progress and doing some fireworks patterns. Since this is the game i'd like to release this year (yeah, I really do care about it now, wierd, huh?) I'm going to add Treats as I think they would suit the game and I have a unique way of telling the user they've unlocked a treat during the game, that i'm keen on trying out.

Thanks for bearing with me so far, after I finish my coursework i'm going to concentrate solely on Fireworks!


Yeh, good news you're getting back to fireworks as i found it genuinely fun and relaxing to play.  Even in it's early primitive state.  Shows alot of promise.

Sounds to me as though you've been suffering from motivation issues like me.  And as always, a good break away from coding does wonders for motivation.

I'm back to coding again now too.   ;D

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 01, 2009, 12:34:46 PM
I'll second that, a good break is what you need if its getting too intense!

Glad to hear your getting back to it aswell!


Title: Re: JDog053 DevBlog
Post by: fog on May 01, 2009, 04:50:35 PM
Good to hear you're back too Masked.....no doubt twice as productive as if you hadn't taken a small break  :kangaroo:


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 01, 2009, 09:53:15 PM
Well, I drew up a simple cityscape, hope you like. In the game it'll be translated into a vector, i'll also be doing some cool visual effects such as reflecting the light from the explosions onto the city. Its also displayed at the max size when zoomed out :)



Title: Re: JDog053 DevBlog
Post by: T_M_C on May 02, 2009, 09:53:56 AM
How about adding some animations to the city.

Room lights going on and off, smoke rising from chimneys, a few birds flying past ect

Just as an idea.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 02, 2009, 12:28:49 PM
Cool, we'll see how it goes! I'm normally a victim of feature creep, so i'm playing it a bit more carefully this time around.


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 04, 2009, 11:00:06 AM
Well, Flash is being a pain, but i'm not giving up so soon on the idea of light bouncing around buildings. Luckily however, I can easily transfer the Cityscape into a more "Traditional" silhouette effect that I was intending on doing anyway, if things get a bit tight. So once again i'm back at the stage of designing explosions which isn't too difficult or fun.


Title: Re: JDog053 DevBlog
Post by: fog on May 04, 2009, 08:18:15 PM
Well, Flash is being a pain, but i'm not giving up so soon on the idea of light bouncing around buildings. Luckily however, I can easily transfer the Cityscape into a more "Traditional" silhouette effect that I was intending on doing anyway, if things get a bit tight. So once again i'm back at the stage of designing explosions which isn't too difficult or fun.
If it's any consolation then I probably preferred the simple silhouettes better anyway :)  And taking what Masked said a little further, it light look cool to use the room lights on the building silhouettes to display game information like score, level  etc.

What's the current problem with Flash then?  Is it a coder or language one? :)

One of the things I really love about XNA is that it will do anything I need provided I have the coding ability.  If I have an idea then, unlike the limitations I ran into with DBPro, there's no reason why I can't implement it.


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 04, 2009, 09:05:17 PM
I've worked around a suitable solution for the building problem, i'll test it out tommorrow so we'll see whether or not its possible. If it fails though i'll return to silhouette and spruce the town up.

So City Ver 2 :)

I've also been doing a fair bit of XNA. I'm on the same lines as Fog nowadays Menu code is the worst job anyone can possibly do, its just awful, theres nothing worse than that IMO especially in XNA.

I've also got an idea for the game i'm gong to create for Dream Build Play. Its quite simple, but should have plenty of scope and be customizable depending on what the user expects from the game. Also, believe it or not its a 2D shmup.

Fog, pm sent!





Title: Re: JDog053 DevBlog
Post by: fog on May 05, 2009, 11:46:44 AM
I've also been doing a fair bit of XNA. I'm on the same lines as Fog nowadays Menu code is the worst job anyone can possibly do, its just awful, theres nothing worse than that IMO especially in XNA.
lol :)  And that's the one big job I still have to do in XNA too  :P


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 05, 2009, 01:29:08 PM
I've also been doing a fair bit of XNA. I'm on the same lines as Fog nowadays Menu code is the worst job anyone can possibly do, its just awful, theres nothing worse than that IMO especially in XNA.
lol :)  And that's the one big job I still have to do in XNA too  :P

At first I didn't believe you, until! Its so bad. I don't envy you having to go through it! :(


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 07, 2009, 12:00:15 AM
Pong 360 is finally done. Itsa bit lame, but hey thats Pong. I'll send it to anyone who wants to play a mediocre version of Pong with the 360 Pad :)

Now I can start to work on proper stuff and finally release the font for free aswell on the blog!


Title: Re: JDog053 DevBlog
Post by: T_M_C on May 07, 2009, 09:49:38 AM
Is Pong for the 360 only ?

If not, how about adding options for keys and standard joystick support for the PC.

I can't playtest it because i don't have a 360.   :(

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 07, 2009, 10:15:19 AM
It works for the PC aswell. If you wish to play it, then sure thing!


Title: Re: JDog053 DevBlog
Post by: fog on May 07, 2009, 11:20:55 AM
Cool.  Fire me off a 360 version so I can see what you've been up to :)



Title: Re: JDog053 DevBlog
Post by: T_M_C on May 08, 2009, 09:41:29 AM
Quote
It works for the PC aswell. If you wish to play it, then sure thing!

Yeh, of course.

Send me a PC version to play.   ;D

I'm sure you'll appreciate some feedback on it.  It's always interesting to hear what people have to say.  Good or bad.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 08, 2009, 07:06:20 PM
Made some more progress in XNA today, just about finished my animation extension to my sprite class, which seems to be going quite well. All I need to finish is the sprite sheet going over multiple lines, so I can have it all contained in a square image instead of a really long rectangle. So far so good though.

I've also updated the blog explaining current progress and set back. Expect another build of Fireworks quite soon guys, as its looking pretty cool at the moment and seems to work fine.

EDIT: I was also wondering, does anyone have a clue about doing a radial explosion, alot like a Firework? As everything i've tried so far has been a really dense square of particles! Thats when I use 2 for loops. Thanks for the help, if any!


Title: Re: JDog053 DevBlog
Post by: fog on May 08, 2009, 10:01:32 PM
I've also updated the blog explaining current progress and set back. Expect another build of Fireworks quite soon guys, as its looking pretty cool at the moment and seems to work fine.
Cool :)

EDIT: I was also wondering, does anyone have a clue about doing a radial explosion, alot like a Firework? As everything i've tried so far has been a really dense square of particles! Thats when I use 2 for loops. Thanks for the help, if any!
I don't quite follow that.  What exactly are you trying to do?


Anyway I just tried your Pong game and I'm really impressed.  Sure its just Pong but you've done a lovely job with the graphics :)

I had a very quick look over the code and it's nicely formatted and easy to follow which should help with your project mark :)

Your BoundingBox method was a bit strange though so you might want to look into that.  And it's a good habit to avoid using SQRT wherever you can as it's incredibly slow. ;)


Title: Re: JDog053 DevBlog
Post by: T_M_C on May 09, 2009, 10:02:50 AM
Quote
EDIT: I was also wondering, does anyone have a clue about doing a radial explosion, alot like a Firework? As everything i've tried so far has been a really dense square of particles! Thats when I use 2 for loops. Thanks for the help, if any!

I assume you mean, you want a series of particles to explode from a central point, moving outwards at the same speed but all at equally spaced distances, so each partical has it's own direction.  Like the numbers on a clock face being the directions from the centre.

I would simply define a direction vector for each particle, and rotate it via an angle.  And you add this direction vector to the particals position each update.


Here a simple example of rotating a 2d vector by some arbitrary angle.

dir_vector_x = 0 ; 2d unit vector pointing upwards
dir_vector_y = -1 ;

angle = 0 -  360 degrees

s = sin (angle) ; angle to rotate by, positive values usualy clockwise, negative angles anti clockwise. 
c = cos (angle) ; have to make sure what convention angles are defined by, degrees or radians, 360 degrees for the circumfrence of a circle = 2 *  pi radians

new_x_dir_vector = (dir_vector_x * c) + (dir_vector_y * -s)
new_y_dir_vector = (dir_vector_x * s) + (dir_vector_y * c)

new_vector_x and y is a new unit vector but rotated to point in a new direction.

Yoy can add some speed to it, by multiplying it by some speed

new_x_dir_vector = new_x_dir_vector * speed
new_y_dir_vector = new_y_dir_vector * speed

and add the new_vector_x and y to the position of your partical to get it to move in the new direction.

Looping through the code for each partical and incrementing the angle by some step value, say 10 degrees should allow you to define angles from pointing up, going round the clock face, so to speak at regular intervals.


Getting to know how to use vectors to define directions can be extremely useful in many different coding situations.

I could knock up a proper code exmple for you if you need it.  Unless Fog can supply you with some relevent code.

TMC




Title: Re: JDog053 DevBlog
Post by: JDog053 on May 09, 2009, 10:39:27 AM
Wow that seems to be enough, thanks TMC. ;)  I'll be writing this up in Flash tonight!


Title: Re: JDog053 DevBlog
Post by: fog on May 10, 2009, 10:15:33 AM
Oh you just wanted some basic trig help? lol :)

The only thing I'll add to what Masked has said it to get used to using proper Vectors in XNA (Vector2 in this case).  It makes for much nicer code IMO.

You can use one to store your position and another to store velocity and then simply add the two together to find the new position.  eg:
Code:
Vector2 position = new Vector2(100,100);
Vector2 velocity = new Vector2(3,5);

position +=velocity;

although this is slightly faster if you're bothered about such things:
Code:
position.X += velocity.X
position.Y += velocity.Y

And also with Vectors you can do other useful stuff, so say for example you wanted to know how fast your object is travelling (ie. how long your velocity vector is):
Code:
speed = velocity.Length();

 :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on May 11, 2009, 12:01:59 PM
Quote
Wow that seems to be enough, thanks TMC.   I'll be writing this up in Flash tonight!

Cool No prob.


Heres a small code example i knocked up.

Source code and runable exe.

I also added some gravity to the particles, which makes them fall back down the screen as well.

One other point i would make, is that in my code i calculate the direction vectors each pass, it is much more efficient to pre calculate the direction vectors, as the directions themselves don't change.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 11, 2009, 12:22:36 PM
Thanks again, just checked your example it looked awesome! Just reading through the source code at the moment. Very well written! :D


Title: Re: JDog053 DevBlog
Post by: fog on May 11, 2009, 02:14:05 PM
One other point i would make, is that in my code i calculate the direction vectors each pass, it is much more efficient to pre calculate the direction vectors, as the directions themselves don't change.
I've been coding on and off for 25 years or so and yet when I was working on DUO I was still calculating the direction vectors every loop.  I'd never really written anything before that where I had to be worried about performance so didn't bother too much with optimisations.

Of course I'm now obsessed with squeezing extra performance out everywhere possible.  It's a blessing and a curse   :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 18, 2009, 12:25:58 PM
Update

I'm still writing Tutorials for the site. Although I've posted 1 so far (another to be posted ether tonight or tommorrow) i've written about 10 so its all good. This is going to b a full blown tutorial series like before, except i'm not adding to a game every post, i'm simply introducing new code or new ways of doing things.

Then at the end of the Tutorial series's i'll assemble a few simple games using the code i've amassed over the fair few posts. Each of these games will be to illustrate variety with similar code and are nothing to do with my own personal projects

With this though, Fireworks is on hold as writing Tutorials(albeit Mini-Tutorials) is a full time sort of part time hobby. I'm just pleased that they're alot clearer than before.

I've started on a couple of these games already (very simple games, but quite fun!). The only purpose (from my point of view) is as a Links horse, it'll have a permanent banner running on the bottom, throughout the game explaining how this game can be made by following my tutorials and a link back to the blog.

After all, what use is a set of Tutorials if people don't know they're there!

So I guess, if you're interested in learning Flash little by little on an infrequent basis head over to the blog.

DBP, its tough to think of something special :( When I do though i'll start straight away. My "Engine" can just about support anything I need to for the time being.


Title: Re: JDog053 DevBlog
Post by: fog on May 18, 2009, 02:39:48 PM
It's cool that you're still doing those tuts.  :)  I wouldn't have the patience.

DBP, its tough to think of something special :( When I do though i'll start straight away. My "Engine" can just about support anything I need to for the time being.
What sort of game are you planning on doing for DBP then?  A lot of the games that have done well in the past have been far from finished, but get the game concept across really well.  So I'd concentrate on the idea and gameplay rather than making a simple but very polished effort.


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 18, 2009, 05:18:12 PM
It's cool that you're still doing those tuts.  :)  I wouldn't have the patience.

DBP, its tough to think of something special :( When I do though i'll start straight away. My "Engine" can just about support anything I need to for the time being.
What sort of game are you planning on doing for DBP then?  A lot of the games that have done well in the past have been far from finished, but get the game concept across really well.  So I'd concentrate on the idea and gameplay rather than making a simple but very polished effort.
That'll make it easier. Its just thinking of the concept!

And i'm only doing the Tuts to fill the lack of any game released since january 2nd. Atleast i'll look more productive :D Although wit hthe Tuts i'll be releasing a few games so it should all work, hopefully.


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 19, 2009, 12:24:54 PM
Due to Blogger being wierd with Pics (i.e not to my taste) I've also decided to archive all of the tutorials into some form of E-Book or a more in-depth PDF Tutorial of the whole series, that way I can get it looking as i'd like and have more control about what to put in the "book".

I'll still keep posting to Blogger though. Oh and the 2nd Post is up and running, tell me what you think :D


Title: Re: JDog053 DevBlog
Post by: fog on May 19, 2009, 04:31:33 PM
Due to Blogger being wierd with Pics (i.e not to my taste) I've also decided to archive all of the tutorials into some form of E-Book or a more in-depth PDF Tutorial of the whole series, that way I can get it looking as i'd like and have more control about what to put in the "book".

I'll still keep posting to Blogger though. Oh and the 2nd Post is up and running, tell me what you think :D
Commented :)  I'm sure they will be really useful to anyone learning Flash as you've done a good job on the explanations and presentation.


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 19, 2009, 09:31:45 PM
Thanks! Yeah, i'll be addng good explanations of things I personally struggled at with Flash, because some things need a decent explanation. So maybe I can help someone out.

I've also thought of a basic game idea for DBP, should hopefully be fun and possible to do before the deadline!


Title: Re: JDog053 DevBlog
Post by: fog on May 19, 2009, 11:31:34 PM
Thanks! Yeah, i'll be addng good explanations of things I personally struggled at with Flash, because some things need a decent explanation. So maybe I can help someone out.
Nice idea.  I keep meaning to start a thread where I can list all the XNA links and tips I've stumbled across for much the same reason.  One day...

I've also thought of a basic game idea for DBP, should hopefully be fun and possible to do before the deadline!
Good news :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 22, 2009, 02:44:41 PM
Well, the Tuts are coming thick and fast. Along with the Tuts I mentioned amking some games, well this is more than definately going to happen.

I've decided i'll write a few Classic games but fit them to "my" graphical style (silhouttes, gradient colours , blocky friendly graphics etc) I've made a head start and have written 1 up already, I just have to wait for the Tutorials to catch up before I submit the game and post the source code. I'm in optimisation anyway so it'll most likely change. I'll post the un-optimised version.

The Classic Games that I plan on doing in my "Classics" series will be - Pong, Breakout, Space Invaders, Missile Command (Allows me to use the Fireworks engine :D), Asteroids and Lunar Lander.

Pong is up first!

We have to wait till I get to the Collisions sections in the Tutorials, so it'll be a couple of weeks away. I'll be sending a preview of the game around before then, though.


Title: Re: JDog053 DevBlog
Post by: fog on May 23, 2009, 06:56:06 PM
I've decided i'll write a few Classic games but fit them to "my" graphical style (silhouttes, gradient colours , blocky friendly graphics etc) I've made a head start and have written 1 up already, I just have to wait for the Tutorials to catch up before I submit the game and post the source code. I'm in optimisation anyway so it'll most likely change. I'll post the un-optimised version.
Yeah just remember that if you're doing tuts then over optimising the code isn't necessarily a good thing.  It primarily needs to be easy to read and understand if people are to learn from it and optimised code is very often neither.

Doing the "Classics" is a great idea though  :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 23, 2009, 09:04:52 PM
Thanks Fog, saves me job. I'll post the un-optimized bare bones version of the game, and elaborate on Menu's etc later in the "series".

"Classics" will look pretty cool and it'll mean I get a few games out the window.


Title: Re: JDog053 DevBlog
Post by: fog on May 23, 2009, 10:59:47 PM
Thanks Fog, saves me job. I'll post the un-optimized bare bones version of the game, and elaborate on Menu's etc later in the "series".
Yeah keep it as simple as possible as long as that doesn't mean teaching bad habits :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 25, 2009, 01:08:48 PM
Tutorials will be resuming from today, i'll plan on posting atleast 2 parts every week. And "Pong" is just about sorted, I just need to clean it up atad and make it fit my "style".


Title: Re: JDog053 DevBlog
Post by: fog on May 25, 2009, 01:20:45 PM
Tutorials will be resuming from today, i'll plan on posting atleast 2 parts every week. And "Pong" is just about sorted, I just need to clean it up atad and make it fit my "style".
Cool.  The XNA version of Pong you sent me was actually better than most of the Pong clones that have been released on XBCG.  Certainly better looking :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 25, 2009, 01:56:07 PM
Oh, you played it? Cool, thanks for playing!

I've binned my Menu code, and its all neatly (well, in my head anyways) re-written so it won't suck as much in future XNA games.


Title: Re: JDog053 DevBlog
Post by: fog on May 25, 2009, 02:47:58 PM
Oh, you played it? Cool, thanks for playing!
Yeah.  :)

http://www.binaryzoo.com/forum/index.php?topic=918.msg17901#msg17901 (http://www.binaryzoo.com/forum/index.php?topic=918.msg17901#msg17901)


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 25, 2009, 04:45:18 PM
Oh, you played it? Cool, thanks for playing!
Yeah.  :)

http://www.binaryzoo.com/forum/index.php?topic=918.msg17901#msg17901 (http://www.binaryzoo.com/forum/index.php?topic=918.msg17901#msg17901)

Completely missed that  :o No idea what happenned  ???

Yeah, the bounding box method was formatted (hope you were on about formatting) a bit strangely, so i've made it more orderly and easier to read. I also changed it to just pure, "box" as from now on it'll nly be me reading my code. "circle" has since been added, now I just need to sort out pixel, then all of the collision code (I reckon i'll ever need...) is done.

Also, instead of SQRT how would I have done those calculations ?

Was alot of fun making that game, even though its only Pong. I learnt a fair bit about C# and XNA in the process, even though we only had 2 formal lectures on XNA.


Title: Re: JDog053 DevBlog
Post by: fog on May 25, 2009, 06:03:33 PM
Yeah, the bounding box method was formatted (hope you were on about formatting) a bit strangely...
No, I was referring to the fact it doesn't work properly.  The maths is all wrong :)  Look carefully at what you're taking the SQRT of and you'll see what I mean.

To make things simple look at the Rectangle class.  You can create two Rectangles representing the positions of your bat and ball and see if they intersect using the built in Intersects() method. 
Code:
myRectangleA.Intersects(myRectangleB);


Also, instead of SQRT how would I have done those calculations ?
For simple bounding box calcs you shouldn't be using SQRT at all.  :)

In future when you do your Circle / circle collision (which is effectively just a distance check) remember that you don't need to use SQRT there either.  Ask if you need to know why.

And if you ever need to do a really simple distance check then use a Vector2 as it has a Length() method.

Code:
Vector2 myVector = new Vector2( 100,100);
float distance = myVector.Length();

//so...

float distance = new Vector2(positionA.X - positionB.X, positionA.Y - positionB.y).Length();

There are faster ways of doing things but if performance isn't an issue then keep it simple and use the built in commands where possible :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 27, 2009, 05:51:35 PM
All sorted. I see what you meant, I was wasting processing power left right and centre, every loop! Surprised my game didn't stall. I think (to me anyways) the speed up is noticeable!

I decided instead of doing it your way (the better way, although its VS specific...) i'd write my own Pos (Positive) function that gets the job done quickly and easily, I then quickly ported it to Flash, where I also noticed a speed increase!

Thanks for your help!


Title: Re: JDog053 DevBlog
Post by: fog on May 28, 2009, 12:13:28 AM
All sorted. I see what you meant, I was wasting processing power left right and centre, every loop! Surprised my game didn't stall. I think (to me anyways) the speed up is noticeable!

I decided instead of doing it your way (the better way, although its VS specific...) i'd write my own Pos (Positive) function that gets the job done quickly and easily, I then quickly ported it to Flash, where I also noticed a speed increase!

Thanks for your help!
There wouldn't have been a noticeable speed increase in XNA, Flash I'm not so sure about, but either way it's a good habit to get into doing things like this as efficiently as possible.

Say you had 500 small asteroids in a level (I actually did 1000 for a test :) ) and I have 100 player bullets that 100 * 500 = 50,000 collision tests every loop.  At 60FPS that's 3 million tests a second.  Any savings you can make, however small, can be very very noticeable. :)

On the XBox, in my limited experience anyway, you're more likely to run up against CPU problems before you hit GPU ones and collision detection can be a huge part of that CPU load.


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 01, 2009, 05:37:38 PM
Update

Been really busy recently, juggling tasks. My team project with a good pal will start to hit my routine in the near future so i'm making sure to get stuff done on the blog as efficiently as possible (so far i'm failing...).

I remembered how I learnt to code in Flash, and i'm surprised I didn't attempt to teach in a similar method, anyhoo, thats what i'm going to do from now on. As a heads up, I learnt with practical useful examples, where another developer talked through how they went about making a game, usually something simple. Since I am doing a "Classics" series anyway and I was going to give full source (minus menu's etc.) it seems a no brainer to build the game over a series instead of adding code snippets then magically forming a game out of them. Atleast this way people can see a game insead of a last second form!

So thats what i'm concentrating on at the moment. I'll be ridding of a few posts ideally the Mouse one I made earlier...) and posting the start of the "Pong" series asap (actually Part 1 is up already). Then i'll also be fleshing out and going a little more indepth on the Flash workspace and sorting the Loading Posts out making sure they're about making and preparing a MovieClip and not about Loading and Positioning.

It should be easier then that Heavy Weapon series of old I tried before, as I didn't get it finished before I started, whereas i've recently finished 2 of my own versions of "Pong" in different languages. So its just the matter of picking what i'd like to do, then grabbing the code and explain it.

Which is also why, i'll be releasing this version of "Pong" into the wild (just after I can think of a suitable title, either "Curve" or "Spin" not sure...) and I make a nice Menu system :( I'm planning on releasing the game, well before the Tutorial series is finished, so I can hopefully gather interest in the site and Tutorials. Heck if i'm really lucky, I might earn enough to buy a portion of chips, lol.

I'll also be sending the game out for test pretty soon aswell (its basically a simpler version of the XNA version, just more user friendly and without useless leaderboards...). After test, i'll get working on either Lunar Lander, or Asteroids...

Phew, Dog out...


Title: Re: JDog053 DevBlog
Post by: fog on June 01, 2009, 09:32:27 PM
That sounds like you have a hell of a lot of things on the go at the same time.  My brain isn't capable of working like that :)

What's this "team project" about then?  Any hints?  Are we going to be kept informed? ;)

As far as tuts go then whatever you do, don't recommend anyone learns like me.  I skipped all the "Hello World" crap, didn't look at any examples, fired up the editor and started a new project....and I'm still working on the same one.  What better way to learn a new language than to write a whole game from scratch  :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 02, 2009, 12:32:47 PM
I'm not sure my brain is capable either, we'll see though. The way i'm doing it though, i'm not doing too much at once, just enough. I also just about finished my "Breakout" clone yesterday, so I'll try and get them both ready for test at the same time :)

As far as team project is concerned, pretty much secret until we both are happy with revealing something.

It'd be pretty hard for me to learn like you do, although you manage it!  :o


Title: Re: JDog053 DevBlog
Post by: fog on June 02, 2009, 12:58:38 PM
I'm not sure my brain is capable either, we'll see though. The way i'm doing it though, i'm not doing too much at once, just enough. I also just about finished my "Breakout" clone yesterday, so I'll try and get them both ready for test at the same time :)
Cool.  I do like a good game of Breakout.  Looking forward to a bit of testing :)


It'd be pretty hard for me to learn like you do, although you manage it!  :o
It's a necessity in my case.  I've only ever fired up the help files once (when Paul C suggested I should lol) and not tried any of the starter kits or samples because it would bore me.  Sure it would make things easier and I might, in theory, have learned things a bit quicker, but it would bore me and my motivation levels would crash.  And anyone that's ever done any development knows how important it is to keep those motivation levels high :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on June 02, 2009, 03:42:28 PM
Thats pretty much what i did too with blitzmax.

Started creating the background level editor and in the process taught myself the language.

I'd love to see a version of Lunar Lander.

Loved that game, especially the arcade version.

Even started a 3d version myself, which never actualy got anywhere.   :P

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 02, 2009, 07:18:48 PM
We all learn in different ways ;)

Actually the very first game I ever made was a 3D version of it in Dark Basic (wasn't very good...) had 5 levels. Was quite fun.

Yeah, looking forward to making these!


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 09, 2009, 10:13:42 PM
Well, Pong and Breakout i'm just about done, I need to add text and scoring system in Breakout. For Breakout, should I do multiple patterns? or should I add a few extra rows every few levels? or just leave it as it is?

The tutorials are progressing (Part 2 is up :)). The only thing I don't like is that I have to explain programming terms. Is there a website with programming terms explained? as it would save so much time, and allow me to focus solely on Flash.

When I get part way through the Pong tutorial, i'll release the game into the wild. Although i'm not coding an exact version of the version i've done, it'll be a little closer to the original, none of that spin or acceleration nonsense.

Up next, i'll start coding Space Invaders. Where i'm thinking the quirk will be weapons upgrades aswell as the "traditional" acceleration and friction as its a play style i'm fond of.

Aswell as all that, i've been designing a few Lunar Lander levels. I can't think of how many i'd need though, i'm hoping for about 20-30 if possible :)

I'm still in Pong optimisation and its getting faster and faster (I hope...lol) and the code is getting shorter.

Secret project is still...um, secret? We're progressing slowly but surely.


Title: Re: JDog053 DevBlog
Post by: fog on June 09, 2009, 10:53:52 PM
Well, Pong and Breakout i'm just about done, I need to add text and scoring system in Breakout. For Breakout, should I do multiple patterns? or should I add a few extra rows every few levels? or just leave it as it is?
As it's a tutorial I'd just do a single level.  Then if you want to expand on that later you could do a tutorial on designing levels in Notepad and loading them, or even a tut on writing a level editor.  Breakout is perfect for either approach.


The tutorials are progressing (Part 2 is up :)). The only thing I don't like is that I have to explain programming terms. Is there a website with programming terms explained? as it would save so much time, and allow me to focus solely on Flash.
Even though you're doing a tut, you have to assume the person reading it has a basic understanding of programming terms really.  Otherwise you're into a whole new area where you're really teaching coding fundamentals and not Flash.  Just add a link to the Flash online reference wherever that may be. :)


Up next, i'll start coding Space Invaders. Where i'm thinking the quirk will be weapons upgrades aswell as the "traditional" acceleration and friction as its a play style i'm fond of.
Cool.  I do love a good Space Invaders game.


Secret project is still...um, secret? We're progressing slowly but surely.
So when do we get a hint at what it is? :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 10, 2009, 01:09:08 PM
Cool, i'll take that onboard.

For the tutorial, I will keep Breakout as a singular level. I'll not go to the extent of writing a level editor though, although maybe later I could introduce the concept (alot like what you were saying).

Perfect, that approach will save me alot time as I only have to explain what the Flash commands do. I also have another method (easier on my part anyways) of delivering the tutorials...i'm going to write it up as a test. If its preferred then the site will get many great tutorials as often as once fortnight.

Ofcourse, along with the tuts i'm going to be releasing the "revamped" classics to accompany the source code i'm releasing. In the revamped modes i'll have lots of little quirks that fit the graphical style i've grown accustomed to and the play methods I enjoy...

And for the secret project, you'll just have to keep waiting.  ;) It should hopefully be worth it.


Title: Re: JDog053 DevBlog
Post by: fog on June 11, 2009, 12:26:16 PM
And for the secret project, you'll just have to keep waiting.  ;) It should hopefully be worth it.
tease  :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: T_M_C on June 12, 2009, 10:16:31 AM
Hmmm. 

I Hate Secrets.   ;)

Looks like you're keeping yourself really busy there Jdog.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 12, 2009, 12:26:58 PM
Yup, surprisingly i'm getting stuff done, so i'll keep at it!


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 12, 2009, 08:49:43 PM
Part 3 and Part 4 are up on the Pong tutorial. I'm breaking it down into many "microtasks" hopefully not to many. It should be alot faster since i'm only explaining the new Flash terms and not how to program aswell. I just need to edit a few of my earler tutorial based posts, making them alot clearer and alot more direct.

Have a glance if you can guys, and critique what i've done so far. It shouldn't be so bad though, as once the Tutorial series is finished, I can go back and improve each section with ease. Atleast that way it will have been finished, eh :)

My version of Pong should be out the door soon. Just making menus and HUDs :( The version for test is about FPS. I still need to design a suitably enticing banner for the bottom of al these classic games, plugging my blog... I'll think of something.

Dog out  8)


Title: Re: JDog053 DevBlog
Post by: T_M_C on June 13, 2009, 10:04:24 AM
Had a look at your tutorials.

They seem pretty comprehensive and must have taken some time to do.

It's also great to see some images included in the tutorials.  Text only tutorials can lead to confusion, graphics really help to make things clear.

Well done.   ;D

But since i'm not a Flash programmer, i'm affraid i can't really comment on the code side of things.

One small crit i do have though, and thats your E-mail address font.

Again, to me, it's pretty unreadable.

Perhaps you could add a text link below the graphic e-mail address for people like me who have difficulty reading it.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on June 13, 2009, 12:17:46 PM
One small crit i do have though, and thats your E-mail address font.

Again, to me, it's pretty unreadable.
It's the same font used on the header and I can't read that either (or I couldn't if I didn't know what it was meant to say :) )


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 13, 2009, 01:03:13 PM
I was planning on completely changing that (text font) at some point anyways! It does look like crap I just had no other option at the time as I was dabbling in fonts.

Thanks for the fedback guys. Once i'm done with my final logo which i'm nearly there, i'll replace it with the current one and i'll follow the same style with the email address. (I just didn;t want spam bots crawling my page...).

Thanks! Will do.

I also have a few more necessary images here and there that I can add to bulk and clear some ambiguity in some of the other tutorials.


Title: Re: JDog053 DevBlog
Post by: fog on June 13, 2009, 09:10:18 PM
FWIW I really like the style of the font, it just needs the definition of the letters to be made slightly clearer.  If for example the two little divisions on the left of the "3" were made longer it would be fine :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 15, 2009, 08:55:33 PM
Well, i've drawn up my newest font. See Below.
I'll be doing all of my classic games in these fonts as they look good, its mine and I think its easy to read.

For graphics, you shouldn't expect the next Fallout 3, just simple silhouettes and nice plain coloured backgrounds (to draw attention to the game). All silhouettes will be in white, menaing all text will be in white too, unless occluded by anything white, where it becomes black (or maybe the background colour ?).

I'm just working on my newest logo. Which as it happend is just a larger print of my font. I'm temped to have a tagline to go with it, as i'd love people to play on these classic games, then either click the main logo link, or click the minor one on the bottom of the screen...

ATM I have ... Games and Tutorials, Learn Flash...Play Games! and thats about it, anything else is welcomed.

So, if I were to (probably quite soon aswell) release a Breakout clone, how many different levels would you expect? 1, 3, 5...


Title: Re: JDog053 DevBlog
Post by: fog on June 15, 2009, 09:37:42 PM
Love that font  :kangaroo:

So, if I were to (probably quite soon aswell) release a Breakout clone, how many different levels would you expect? 1, 3, 5...
I'd probably go for 2 levels.....and not just to be awkward  :bunnymonkey:

A good tutorial would show how to handle multiple levels and 2 is obviously the minimum you need to do that.  Then I'd avoid the temptation to add any more yourself as that keeps the tut code as brief as possible (and therefore less intimidating) and encourages the other person to experiment by adding their own.


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 15, 2009, 10:38:08 PM
Thanks. I'm quite fond of that font myself ;)

For the tutorial I was only planning on doing 1 layout. But for my release version, I was wondering how many I should do. Sorry for the misunderstanding.

As i'm writing 1 form of Pong (grossly simplified) and doing my release veriosn, (acelleration, spin etc.) and same for all the other classic games.


Title: Re: JDog053 DevBlog
Post by: T_M_C on June 16, 2009, 09:50:53 AM
Yeh, thats a much better font.

Gets the thumbs up from me.

I also agree that a small number of levels is all thats needed for a tutorial.

Have you also thought about using colored line vectors for graphics.  It would be a really easy way to add color to your games.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on June 16, 2009, 10:42:03 AM
For the tutorial I was only planning on doing 1 layout. But for my release version, I was wondering how many I should do. Sorry for the misunderstanding.
Breakout has to be the easiest game ever to design levels for so go crazy.  The more the better :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 16, 2009, 06:59:31 PM
Yeah, i'll try and have atleast 10 different levels.

I've bitten the bullet and i'm tempted to make a mini editor to handle level designs, so I can dip in and out testing with ease...I can also use it with Space Invaders later on.

Glad you all like the font. I still don't like the 0 yet though.


Title: Re: JDog053 DevBlog
Post by: T_M_C on June 17, 2009, 09:56:55 AM
Quote
I've bitten the bullet and i'm tempted to make a mini editor to handle level designs

I'm a bad influence.   :P

Seriously though, i highly reccomend writing an editor of some sort.  You could even release it along with the games.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on June 17, 2009, 08:08:06 PM
Quote
I've bitten the bullet and i'm tempted to make a mini editor to handle level designs

I'm a bad influence.   :P
Planning, organisation, design docs, in-game editors etc?  You do everything properly....I'm just in denial  :P


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 21, 2009, 01:54:04 PM
Any tips on teaching people how to play your (by your I mean mine) game? With regards controls and stuff?


Title: Re: JDog053 DevBlog
Post by: fog on June 21, 2009, 03:03:04 PM
Any tips on teaching people how to play your (by your I mean mine) game? With regards controls and stuff?
I use a foolproof technique....write really simple games that don't need explaining  :bunnymonkey:

A single screen for controls and another for instructions should be enough in the majority of cases.  If there's anything essential to the game that isn't obvious or the user wouldn't discover for themselves then force them to see it,  even if it's just a single splash screen before their first game starts.

There really isn't anything clever to it unless you start doing interactive tutorials and I'm not a fan of the majority of those.


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 21, 2009, 04:03:33 PM
that sounds good. I was going to force tem to see a splash screen before the game. interactive tutorials are too much work.


Title: Re: JDog053 DevBlog
Post by: fog on June 21, 2009, 07:33:01 PM
Of course you had to mention game tutorials and instructions at a time when I'm trying to write instructions myself for Echoes.....or rather I'm banging my head off the desk in frustration (which incidentally isn't helping with writing the instructions so I wouldn't recommend it  :bunnymonkey:)


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 21, 2009, 07:46:30 PM
Of course you had to mention game tutorials and instructions at a time when I'm trying to write instructions myself for Echoes.....or rather I'm banging my head off the desk in frustration (which incidentally isn't helping with writing the instructions so I wouldn't recommend it  :bunnymonkey:)

Just a shame that you must include them. Ah well, i'll quite moaning and get it done.


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 24, 2009, 09:24:26 PM
Well, i'm currently beavering away on Pong and Breakout. I've got all the major graphics done, everything runs nice and smooth. I'm just working on how to jazz things up. I decided to return to my old friend Motion Blur. Although I love Motion Blur, are there any other cool effects I could either add or use to replace it with?

As I mentioned before with Breakout i'm hoping for 20 levels, of which 10 i've designed and 5 i've playtested. I was wondering though...should I allow the player to go level by level, or play a level until game over, so if all the blocks are cleared, then the map is reset and the player goes again?

I've also added my own unique (until time of posting anyway) scoring method. The block value is multiplied by how many have been hit since last hitting the previous bat. If you don't get it, i'm sure you will during playtesting. It has the same spin functions as Pong so you have adequate ball control allowing skilled players easier access to the highest of possible scores.

Oh, and i'm still working on playtesting and instruction writing, and a little tinkering with the graphics. As a result though, i'm not updating the blog for a fair bit.


Title: Re: JDog053 DevBlog
Post by: fog on June 24, 2009, 10:28:24 PM
I'm just working on how to jazz things up. I decided to return to my old friend Motion Blur. Although I love Motion Blur, are there any other cool effects I could either add or use to replace it with?
Hell yes there are a load of things you can do.  Whether you can do them in Flash mind is a different matter. :)

TBH if you're still going with the simple black & white these then motion blur might not look the best anyway.  It obviously blurs the edges of things and that isn't a great idea if your graphics have black outlines (some of the outline blurring in mono is horrible :) )

There's very little moving in both Pong and Breakout so why not code a fancy trail routine for the balls yourself?  Either something that leaves a multi-coloured particle trail behind or a solid trail like the one I have in Echoes?

Without seeing a screenie it's difficult.

As I mentioned before with Breakout i'm hoping for 20 levels, of which 10 i've designed and 5 i've playtested. I was wondering though...should I allow the player to go level by level, or play a level until game over, so if all the blocks are cleared, then the map is reset and the player goes again?
Definitely "level by level".  Whether it's accessing new levels, new vehicles or levelling-up, player progression is one of the biggest hooks you have in game design, so when you get the chance to use it never pass it up :)



Title: Re: JDog053 DevBlog
Post by: T_M_C on June 25, 2009, 09:46:41 AM
Quote
Definitely "level by level".  Whether it's accessing new levels, new vehicles or levelling-up, player progression is one of the biggest hooks you have in game design, so when you get the chance to use it never pass it up

Yup, i totally agree with Fog.

But if in doubt.  Why not include both options.  Always best to try and give the user as much choice as possible.

I'm quite disapointed you're still sticking with a black and white color scheme.  Color adds so much to a game, visually.  Even if it's just primary colors.

I'm old enough to remember watching tv in black and white and color was a real treat.

Watching old black and white films really shows the effect.  Whilst it suits some style of films, to me, black and white really spoils a film, having been so used to color for so many years.


How about a simple parallax star scroll in the background.  Which moves in the opposite directiion to the ball.


TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 25, 2009, 01:25:33 PM
Nah, its not black and white. Its a "feature" colour plus white or black silhouettes. I think it looks cool and I haven;t seen too many games use the effect. The reason is, i'm not a skilled graphical artist.

Yeah, i'll give a few multicoloured motion trails a go as they would sure look cool. I added a test version of my lame motion blur in flash and that looked quite good aswell. I'll email you both a verion of what i'm toying with at the moment, so you know what to expect.


Title: Re: JDog053 DevBlog
Post by: T_M_C on June 26, 2009, 09:41:28 AM
Quote
Nah, its not black and white. Its a "feature" colour plus white or black silhouettes. I think it looks cool and I haven;t seen too many games use the effect. The reason is, i'm not a skilled graphical artist.

Ahh ok.  I misunderstood.   ;D

Look forward to playing a demo.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 06, 2009, 06:08:13 PM
Well Exams are over (except fr a resit), so i'm back to programming (for fun). Since i've taken a huge break from XNA, I've decided that it'll be my main priority over Flash. Probably because its a more powerful language and you can do cooler effects.

XNA

So i've been thinking about what i'm going to make. Surprisingly I had an idea almost straight away, on the basis of Echoes (following the theme of it being an upgraded version of asteroids). I'm not going to reveal wich classic game I am reimagining, but I am going to say it has a game mechanic i'm quite the fan of.

In response to all this i've been looking over my old Pong 360 code and plucking the best bits ready for use, and i'm beginning to write the bits i'd like in the game in comments to begin with, where hopefully in the not too distant future (read a year...) i'll have something playable and pretty.

Flash

I've also recoded all of my flash games (or almost games as it were...) to fit my new style. I'm not too sure its the fastest code, but it is easier when transferring from Menu to game, to menu and so on. It should, with a bit of tweaking allow me to do a few really cool effects, I couldn't have done with older code. In the long run however it should be alot faster.

Tutorials are on Hiatus for time being as i'm writing some fresh new code and smaller scale tutorials to deal with things in an easier manner. My downfall is multiple part tutorials, as I get lazy. So all tutorials will be single parters!

I'll keep you updated as we go...

Secret Project is also on hold...


Title: Re: JDog053 DevBlog
Post by: fog on July 06, 2009, 07:38:18 PM
Well Exams are over (except fr a resit)...
I hope they went well :)


So i've been thinking about what i'm going to make. Surprisingly I had an idea almost straight away, on the basis of Echoes (following the theme of it being an upgraded version of asteroids). I'm not going to reveal wich classic game I am reimagining, but I am going to say it has a game mechanic i'm quite the fan of.
Excellent.  Keep us informed...not like your other "secret project" ;)


Title: Re: JDog053 DevBlog
Post by: T_M_C on July 07, 2009, 09:50:23 AM
Yeh, bet you're glad to those exams out of the way.

I think deciding to stick with XNA as your main language is a good idea.

The power of XNA means you should be able to amass a good library of code and as your coding ability grows XNA will allow you to create more ambitious projects.  Something i think you'd struggle with, with Flash.

Theres nothing worse than being stuck with a language that hinders your creativity.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 07, 2009, 11:45:44 AM
Thats the logic I had TMC. I'll still program in Flash though, as I do like the language. I'll probably use it for knocking up quick proof of concept demos (which is what i'm doing at the moment :)).

The reporogramming is going quite well in XNA. I've re-written a smoother Sprite Class, and I've written my Player Class in anticipation. My plan with this project, is to only write code that i'm going to use, instead of how I did it before, where it was a testbed and practice project. So everything will have its uses :) which can only be a good thing.

Saying that, everything i'm writing can be stripped and split into its own engine, to build another game of teh same type with ease. I'll keep you all informed as it progresses.

My quest is to finish something (semi-original) in XNA before the year is out...


Title: Re: JDog053 DevBlog
Post by: fog on July 07, 2009, 10:36:54 PM
My quest is to finish something (semi-original) in XNA before the year is out...
That gives you 6 months.  Now allowing the months you'll need to tweak and fine tune the gameplay, add that extra polish and tidy the presentation and to properly playtest.....I'll be very very generous and say you have 4 months to write the basic game.  Good luck with that  :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 08, 2009, 02:02:29 PM
We joke, but you know my track record :(


Title: Re: JDog053 DevBlog
Post by: fog on July 08, 2009, 02:22:08 PM
We joke, but you know my track record :(
lol.  That's why I've said all along that finishing that first project, whatever that might be is such a huge thing.  Once you've finished one you know you can do it, but the more projects you start and fail to finish, the harder it gets.

You'll get there....just don't set targets and put pressure on yourself :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 08, 2009, 08:41:01 PM
I know my biggest weakness, and its quite a lame one aswell. I don;t have my own graphical style that I can fall back on. If I was any good at drawing and coming up with cool graphical effects then i'd of had a game out already :(. I just need to practice a fair bit.


Title: Re: JDog053 DevBlog
Post by: T_M_C on July 09, 2009, 10:06:38 AM
Quote
I know my biggest weakness, and its quite a lame one aswell. I don;t have my own graphical style that I can fall back on. If I was any good at drawing and coming up with cool graphical effects then i'd of had a game out already . I just need to practice a fair bit.

I've heard that from alot of coders.

But it's not necessarily the hurdle you think it is.

I think Fog has shown that Vector art can be a very effective way to show graphics.

And if you think back to when machines simply didn't have the power to display great graphics, programmers turned to other techniques to get around the problem.

I think vector art is making a big comeback these days and i'm a big fan now.

It also means, that you can concentrate on gameplay and programming skills instead of artistic ones.

I've seen and played many a game with great graphics but poor gameplay.  And for a game, great graphics are no substitute for great gameplay.


TMC


ps.

hmm.  looks like you've shot ahead in the post count stakes again.  Thought i was catching you.   ;D


Title: Re: JDog053 DevBlog
Post by: fog on July 09, 2009, 01:27:05 PM
I know my biggest weakness, and its quite a lame one aswell. I don;t have my own graphical style that I can fall back on. If I was any good at drawing and coming up with cool graphical effects then i'd of had a game out already :(. I just need to practice a fair bit.
Bollocks TBH :)

The small pieces of pixelated art you've shown looked good to me, however you can't judge "graphical style" until you have an almost complete game and see how all the various elements come together.  In isolation most graphics, especially for 2D games and shmups, look crap.  You love GW and the way it looks, but every single sprite from it looks terrible outside of the game.  Seriously, think about it :)

If you're really that bothered then remove graphics from the equation altogether until the coding is nearly done.  Tell yourself you're going to use basic, geometric place-holders for everything and stick to it.  And if that is too extreme then why not just rip some graphics from a game you do like and use those as place-holders?  That way you're guaranteed to like the look of it and can concentrate on the really important stuff. :)


I think Fog has shown that Vector art can be a very effective way to show graphics.
And there's nobody more limited artistically than me.  I always have a vision of how I want things to look, but don't have the ability to do it so there's lots of redrawing of stuff until I eventually fumble my way towards what I want.

The first version of DUO just used Paint Shop primitive shapes, which was obvious, yet I don't recall anyone ever pointing that out as a major problem.  Throw enough of them around and you can get away with anything ;)


I've seen and played many a game with great graphics but poor gameplay.  And for a game, great graphics are no substitute for great gameplay.
That's the critical point isn't it.  That's what everyone always says when you ask them about games and I bet even JDog himself thinks exactly that, yet when it comes to developing our own stuff we immediately forget it and start obsessing over the graphics.  I know I'm guilty of that.

Remember:

If you've got great gameplay most people will overlook crap graphics.

If you've got great graphics nobody will overlook crap gameplay.


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 09, 2009, 03:44:33 PM
They're all very valid points  :)

I'll take the first suggestion, of simply coding something in full, then worrying about graphics secondary (which I think i've attempted to do so before).

Next time I post here, i'll have something playable to show you guys (no doubt in flash).

I am of course still working on my XNA project.


Title: Re: JDog053 DevBlog
Post by: fog on July 09, 2009, 08:17:42 PM
And, as we've said before, remember that coding is supposed to be fun so enjoy it and don't be too harsh on yourself.....or I'll send BunnyMonkey around  :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 09, 2009, 09:44:56 PM
And, as we've said before, remember that coding is supposed to be fun so enjoy it and don't be too harsh on yourself.....or I'll send BunnyMonkey around  :bunnymonkey:

Yeah, and we all know how bad ass BunnyMonkey is!

Sure thing Fog. I think i've been taking myself too seriously. So i'll get back to having some fun coding stuff.


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 15, 2009, 01:32:35 PM
Graphics

The graphics for my current (as yet undecided) project are coming along nicely. The only thing I know as of yet are its setting and overall basic theme. Which at this early stage could still change. So far so good. Its all of my own style in a form i'm very familiar although a tad rusty. I can easily see though, the more work I put into it, the more I will enjoy the end product, where hopefully you all should :)

Coding

I'm also planning on coding the project in both Flash and XNA.

At the moment, I haven't coded anything game specific. I'm working on coding a handy little previewing tool, which should improve progress vastly as it progresses.

I'll keep you all posted.


Title: Re: JDog053 DevBlog
Post by: fog on July 15, 2009, 02:21:33 PM
I'm also planning on coding the project in both Flash and XNA.
That sounds like a good idea in theory, but a hell of a lot of work.  Whatever you do, make sure you completely finish one version before you even think about opening up the editor for the other.....IMO of course ;)

Good to hear you're still progressing though.  When do we find out what the project actually is?  Do we even get a name yet? :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 15, 2009, 02:35:07 PM
I'm also planning on coding the project in both Flash and XNA.
That sounds like a good idea in theory, but a hell of a lot of work.  Whatever you do, make sure you completely finish one version before you even think about opening up the editor for the other.....IMO of course ;)

That sounds like a great idea!

Good to hear you're still progressing though.  When do we find out what the project actually is?  Do we even get a name yet? :)

This'll sound odd. You'll know what the project is, and what it is called, when I do :D. As of now i'm going into it semi-blind! All I know is my art style and method, and have a few rough themes bouncing around.

As I said, i'll keep you posted.


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 18, 2009, 01:21:59 PM
Graphics

I'm progressing slowly but surely. I nearly have my first major micro task finished. Although this particular task is taking ages (been doing it for about 2 days). It will save alot of time further into the project, as it can be re-used, recycled and restyled. It can also be used in any future projects of mine (and maybe others).

I'll post what i'm talking about as soon as its done!

/Jinx

Code

I'm still working on this little previewing app. As it should definately speed up my project. The app itself won;t be used in the game, but it augments my own personal toolset.

I'll also post the exe for this tool once its done :) (as always though, no promises it'll ever be finished)

Dog out.


Title: Re: JDog053 DevBlog
Post by: fog on July 18, 2009, 03:53:58 PM
Good to hear you progressing.  We want to see some of these graphics ;)

/Jinx
(as always though, no promises it'll ever be finished)
We should have a ban in dev blogs on all negative thinking.  We all do it, but it can't be a good mindset :)



Title: Re: JDog053 DevBlog
Post by: JDog053 on July 19, 2009, 11:42:03 AM
Yeah, I should stop being so negative!

I've been beavering away on the graphics still. Although, i'm not working on a large task at the moment, it is very time consuming, I just hope it'll look good in the end. I will definately post it once its done, just don't get your hopes up :)


Title: Re: JDog053 DevBlog
Post by: fog on July 19, 2009, 01:41:14 PM
Yeah, I should stop being so negative!

I've been beavering away on the graphics still. Although, i'm not working on a large task at the moment, it is very time consuming, I just hope it'll look good in the end. I will definately post it once its done, just don't get your hopes up :)
lol  ;)


Title: Re: JDog053 DevBlog
Post by: T_M_C on July 20, 2009, 10:16:41 AM
Well, we're here to lend support where we can.   :)

Look forward to seeing your work.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 21, 2009, 06:53:41 PM
Thanks guys :)

Graphics

Work on graphics has slowed a tad, as i'm going to make sure I can code my eventual game idea. I definately know the style i'd like and hopefully you'll all like it aswell. the task I was struggling on is on the backburner as I just practice some simpler techiques. I'm also trying to pull off a crazy effect which if it works it'll be awesome.

Code

I'm currently coding an engine tech demo in Flash (in the form of a really tiny game). If it works or not (so far so good, after 1 night of coding) i'll post the results here (if a .zip is ok) for you all to pick and tell me where to improve. The engine will be done in the form of expansion.

So, i'll be posting something good soon!

I've also got ome good news, designed to take some pressure off me on the coding and tutorial front. My blog, will be shortly going under a revamp (in about 2 - 3 weeks).Where it will change from a devoted flash blog, to a reviewers paradise blog. I've decided to focus my "reviews" on both regular XBLA games aswell as XBLCG games. They'll be brief and hopefully fun to read.


Title: Re: JDog053 DevBlog
Post by: fog on July 21, 2009, 11:12:26 PM
i'll post the results here (if a .zip is ok)
yeah Zip is fine although there's a 0.5 mb file size limit.  If it's bigger then email it to me and I'll host it.

I'm also trying to pull off a crazy effect which if it works it'll be awesome.
Intriguing   :duck:


Title: Re: JDog053 DevBlog
Post by: T_M_C on July 22, 2009, 09:49:06 AM
Regularly updating your website is a great way to keep people coming to your site and to generate interest.

The more content you have the more valuable as a resource it becomes.

Keep up the good work.

TMC


Title: Re: JDog053 DevBlog
Post by: TheKhakinator on July 23, 2009, 02:35:07 AM
Regularly updating your website is a great way to keep people coming to your site and to generate interest.

The more content you have the more valuable as a resource it becomes.

Keep up the good work.

TMC

Fog, you should change your site from black to white every 2nd day. Like changing the mono back ground. :D


Title: Re: JDog053 DevBlog
Post by: fog on July 23, 2009, 09:27:37 AM
Regularly updating your website is a great way to keep people coming to your site and to generate interest.

The more content you have the more valuable as a resource it becomes.

Keep up the good work.

TMC

Fog, you should change your site from black to white every 2nd day. Like changing the mono back ground. :D
I have enough trouble just updating the news every 6 months  :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 23, 2009, 12:22:33 PM
Regularly updating your website is a great way to keep people coming to your site and to generate interest.

The more content you have the more valuable as a resource it becomes.

Keep up the good work.

TMC

Fog, you should change your site from black to white every 2nd day. Like changing the mono back ground. :D

Lol, i'd love to see that!


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 24, 2009, 02:10:15 PM
Graphics

graphics have taken a backseat as i've found a few old lines of useful code that I can put into a game. I also need to come up with a concrete game mechanic before I can commit to a theme. The style however is pretty concrete. As I say, more on this when its ready.

Code

The game is a project I started a while back which gained a fair amount of interest. The good news is i'm less focussed on graphics and more on gameplay. As of now its running super fast (as I can crank more speed out of the flash compiler). I'm just gonna finish writing a few functions. The beta (keeping in mind that its a mini game) should be ready in about 3-4 weeks. It doesn't have a name as of yet, or a definite goal or task. It at the very basic end of the spectrum...works :)

I'll hopefully reveal more as the weeks pass.


Title: Re: JDog053 DevBlog
Post by: fog on July 24, 2009, 03:05:05 PM
You've gone from telling us everything about your previous projects to telling us absolutely nothing about this current secretive one.  This silence is very suspicious. ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 24, 2009, 03:32:49 PM
You've gone from telling us everything about your previous projects to telling us absolutely nothing about this current secretive one.  This silence is very suspicious. ;)

I'd rather say nothing then have it fizzle out, then say everything and still have it fizzle out :) atleast this way I don't unneccessarily get peoples hopes up. Although, the project that i'm working on should out of everyone here, most appeal to you (or is that appaul, lol). :)

Edit: This project stands less chance of becoming vapourware since i'm revisting it with a fresh look on things, and the vast majority of work is done!


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 26, 2009, 06:37:50 PM
Graphics

No graphic work is taking place at the moment, as the vast majority is either done, or easy to do :)

Code

I managed to get a big chunk of code done last night, which means i'm working on sorting out bits of gameplay. I just need to add some collision so I can gauge overall performance. Once thats added i'll drop some of my designs* into the engine and see how they both look and run.

I've also designed 3 usable play systems into the game, but i'll most likely do the 2 only as the 3rd requires a special way of thinking and it was tricky for even me to use.

*don't think of graphic designs...

So far nothings concrete, but I have a good feeling about this so far. I'll update you guys in the near future. I can pretty much guarantee the file plus word docuent to accompany will fit in a .zip to the post.

I can officially say that i've been inspired by the work of TMC and Fog (in no particular order)!


Title: Re: JDog053 DevBlog
Post by: T_M_C on July 27, 2009, 09:41:38 AM
Quote
I can officially say that i've been inspired by the work of TMC and Fog (in no particular order)!

Yeh, thats why showing your work helps us too. :)

Your project sounds interesting, whatever it is.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on July 27, 2009, 10:14:37 AM
Quote
I can officially say that i've been inspired by the work of TMC and Fog (in no particular order)!

Yeh, thats why showing your work helps us too. :)
Yup it's a kind of coders group therapy.  It benefits everyone :)

As well as motivating others I also think writing a blog helps motivate yourself too.  It's harder to sit around on your arse doing nothing when you know you have a diary entry to make where people will expect to hear of some progress.  :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 27, 2009, 11:18:49 AM
Yeah thats my *new* method of thinkng anyways and so far so good.

Code

I'm now working on adding a simple enemy to test the game out, and i've got the old favourite collision code added (with no optiization techniques used at all, i'm sure you know why :)) So far so good, no reason to optimise yet. I also decided to put designs in full flow yesterday where I came up with about 10 useful designs. I just need to sort out a second by second timer for the game so everything becomes timer based (which i'm sure is good practice :)).

Anyhoo, slowly (although seemidly quite rapidly) the game's progressing and hopefully quite soon i'll be able to show you all (at the very least a screenshot of) what i'm working on. I'm just sorting the editor out that goes *on* it. There's also 1 visual effect i'd like to add before I even think about showing a screenshot.

See you all next post and thanks again for following!


Title: Re: JDog053 DevBlog
Post by: fog on July 27, 2009, 10:58:46 PM
I'm now working on adding a simple enemy to test the game out, and i've got the old favourite collision code added (with no optiization techniques used at all, i'm sure you know why :)) So far so good, no reason to optimise yet.
What are you coding in, Flash or XNA?  If it's XNA then it probably has more power than you'll ever need and optimising unnecessarily isn't a good idea.  Sure follow good practices and if it's just as easy then write optimised code, otherwise I'd say just write easy to read code and make your life a whole lot simpler.

A lot of people, myself included at times, get over obsessed with optimising everything, but at the end of the day unless you run into performance issues then nobody will ever know or care whether you've spent ages writing some clever optimised routine or not. :)



Title: Re: JDog053 DevBlog
Post by: JDog053 on July 28, 2009, 03:43:39 PM
I'm coding it all in Flash to begin with. Then if it works i'll probably port it to XNA.

So far so good. You'll probably see something in the future that should hopefully make you smile :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 29, 2009, 12:51:18 PM
I've been thinking alot more about the game and i've got a few good ideas (but no great ideas :() So the best for me would be to test these ideas out! I'll no doubt lump them all in the game, and using the inbuilt/onbuilt editor, flick through the different options and give it a whirl. This Flash prject is also gonna be a big test for the XNA port that i'm no doubt gonna do, with the rest of my team.

Also, when the game hits the crunch, i'll inform you all about my/our company name (which is more of a parody). Either way, I can't continue under the JDog flag forever :)

So, i'll be posting some screenshots shortly! I'll just need to get a simple test enemy pattern loaded. As usual though, at this stage don't expect amazing graphics.

Dog out!





Title: Re: JDog053 DevBlog
Post by: fog on July 29, 2009, 01:01:59 PM
I've been thinking alot more about the game and i've got a few good ideas (but no great ideas :()
A good idea well realised is far better than a great idea poorly implemented.   I like experimenting with new ideas too, but in general there's far too much emphasis placed on innovation in game dev IMO.

Anyway you love GW and that has precisely, um, zero great ideas in it.  :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on July 30, 2009, 09:58:53 AM
Quote
Also, when the game hits the crunch, i'll inform you all about my/our company name (which is more of a parody). Either way, I can't continue under the JDog flag forever

I've also been wrestling this problem for a while now too.

What company name should i use for my next game.  I wan't something different, unique and something that will last and not need changing at some future date.

I've also got a few game name ideas but nothing that i'm 100% happy with.


I also wondered Jdog, if you had thought of writing Demo's, instead of games.

By Demo's i mean, coding and graphics demonstrations of the traditional Demo scene.

I spent many years just writing demo's of all sorts myself.  Not writing games.

It's a great way to develop a wide range of techniques and take a short time to develop compared to games.

If motivation and commitment becomes a problem for a full blown game, writing demo's is a great way to keep your hand in coding wise and maintain motivation due to the short dev times.

When you get bored of one thing, move on to another.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 30, 2009, 11:53:23 AM
I've been toying with the idea of doing Demos, as you said its a good way to showcase skills. Another major benefit of doing Demos would be if all else fails you can return to it to bulk it out into a full game in the future! its a good idea, that i'll more than likely keep as a backup!

I agree 100% Fog, I'drather spend time on an idea that I know instead of inventing something completely new only for it to crash and burn. So as you'd ais, i'll spend time implementing a good idea, of which as i'd said, I have a few. So the "virtual" ticklist is full.

Oh yeah, this particular project is being done only by me, the other game my "team" is working will be announced much later in the year, where luckily i'm sharing the burdon of art and coding with 2 other people.

A few key things to note, is i'm not mentioning the scale of the project and i'm not mentioning any key dates of when i'll show stuff, which is helping take the pressure off me quite alot. As a result when you do see stuff, it should look and feel good because it wasn't rushed. I didn't do any coding yesterday but I hope I can get some done tonight!

I'll post a proper update soon enough :)

now to think of a personal/company name...



Title: Re: JDog053 DevBlog
Post by: fog on July 30, 2009, 03:34:25 PM
Good luck coming up with names guys.  I couldn't  :P

If motivation and commitment becomes a problem for a full blown game, writing demo's is a great way to keep your hand in coding wise and maintain motivation due to the short dev times.
Yeah that's something I do quite a bit.  Spend a few days just messing around with cool graphical effects and seeing what you can come up with.  Minimal code and almost instant satisfaction.  And in a roundabout way that's how mono came about.


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 30, 2009, 04:14:03 PM
Good luck coming up with names guys.  I couldn't  :P

If motivation and commitment becomes a problem for a full blown game, writing demo's is a great way to keep your hand in coding wise and maintain motivation due to the short dev times.
Yeah that's something I do quite a bit.  Spend a few days just messing around with cool graphical effects and seeing what you can come up with.  Minimal code and almost instant satisfaction.  And in a roundabout way that's how mono came about.


And we all know by the instant success of mono just how successful that can be! If theres any motivation that there sure as heck is!

The good news is for the project i'm working on, the gameplay mechanic is all well and good (and it'll probably make an appearance in 1 form or another in the XNA project), I just didn't want it to be used in a mindless way, so i've added some kind of purpose to it. I just hope you guys'll see what I mean. Either way though, i'm having alot of fun just putting the engine together (as its a mult-ipurpose tool). So if all else fails i'll atleast have the backbone.

I just need to get my menu editor polished off and in a state of usability, although thank goodness thats some way down the line.

I'm having alot of fun on the project I just hope when its fully playable you guys will get what i'm trying to do!


Title: Re: JDog053 DevBlog
Post by: fog on July 31, 2009, 10:47:52 AM
...the gameplay mechanic is all well and good (and it'll probably make an appearance in 1 form or another in the XNA project), I just didn't want it to be used in a mindless way, so i've added some kind of purpose to it.
Good decision.  When you have a cool idea for a gameplay mechanic it's too easy to try and shoehorn it into whatever project you're working on and completely waste it.  In the end that's why I dropped the original risk/reward bonus system I had for Echoes+ and why the whole Sacrifice game mode was removed.  I'll save them for something more appropriate.


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 02, 2009, 12:06:20 PM
I've done a bit more on my engine this weekend (not much) but i'm sorting out better collision detection. The project itself looks swish and plays smooth. I just need to sort out progression (don't worry its nice and linear) and sort out timer based movement dependant on framerate so people can't exploit. So far so good. I'm planning on releasing it as a demo (in much the same way mono was) so I don't have as much pressure. I also only intend to release this demo to people on BinaryZoo aswell. If its well recieved i'll see about releasing it elsewhere.

I'll keep the updates short but sweet. I'll get some more done tonight with collision detection :)


Title: Re: JDog053 DevBlog
Post by: fog on August 02, 2009, 02:35:29 PM
I just need to sort out progression (don't worry its nice and linear)
lol  :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 09, 2009, 01:23:00 PM
Sorry, long time no update  ::)

The project is taking a sudden leap forward in progression. I'm still not saying what it is though as it would tie me down too much lol. I just hope y'all aren't too disapointed. The good news on my end though, is that its just gotten a whole lot simpler (from a gameplay perspective) meaning I can focus (when the time is right) on graphical appearance.

As you know though, its done in Flash and its designed as both a test of my programming ability (which needs testing as i'm too darn complacent, which I shouldn't be) and a smaller test of Aesthetics.

Another interesting fact, is I have a big internal deadline (that I didn't set) that i'm trying to get the project done by. I'll not be posting the deadline here as it'll tie me to a release date (and we don't want that do we? lol). It shold be released (if i'm lucky) well before christmas.

I'm planning on getting some screenies and some playtesting before release :) so i'll keep you all posted.

XNA

Stuff coming soon! Atleast I "released" Pong360 into the fold so you can tell i'm not bluffing too much about XNA ;)

Dog out.


Title: Re: JDog053 DevBlog
Post by: fog on August 09, 2009, 02:32:34 PM
I'm still not saying what it is though as it would tie me down too much lol. I just hope y'all aren't too disapointed.
Well there is logic in that.  We can't possibly be disappointed with something we know absolutely nothing about.  :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 09, 2009, 02:37:20 PM
I'm still not saying what it is though as it would tie me down too much lol. I just hope y'all aren't too disapointed.
Well there is logic in that.  We can't possibly be disappointed with something we know absolutely nothing about.  :)

Thats very true. I just hope I haven't overtalked something quite simple :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on August 10, 2009, 10:15:56 AM
Quote
Well there is logic in that.  We can't possibly be disappointed with something we know absolutely nothing about.

lol.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 13, 2009, 03:50:45 PM
I was thinking recenty, just how many different styles of game play can be achieved with a mouse only game? Note, this is not linked with my project, well kind of :).

Its not th emajor project anyways :)


Title: Re: JDog053 DevBlog
Post by: fog on August 13, 2009, 06:38:13 PM
I was thinking recenty, just how many different styles of game play can be achieved with a mouse only game? Note, this is not linked with my project, well kind of :).
If you're talking about 2D games then I can't think of a type of game that couldn't be played with just the mouse.  Some might benefit from an extra button or two, but with a clever bit of coding you can get around that.


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 13, 2009, 08:06:08 PM
I was thinking recenty, just how many different styles of game play can be achieved with a mouse only game? Note, this is not linked with my project, well kind of :).
If you're talking about 2D games then I can't think of a type of game that couldn't be played with just the mouse.  Some might benefit from an extra button or two, but with a clever bit of coding you can get around that.

I know what you mean there Fog. Although, other than clicking and dragging I cn't think of anything else. I'll do a little more background and see what solutions others have come up with :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on August 14, 2009, 09:53:12 AM
Yeh, i've also seen several competitions for coders to create a game where the only input is 1 button.

These one button games have thrown up some interesting game ideas.

I think 'thegamecreators' website still runs one on their forum.

Mouse gestures is also another interesting technique thats used in some games.  I think i first saw it in the 'Black and White' from Lionhead.

It's a clever way of getting more inputs from just the standard mouse axis and buttons.

Then of course, we're all familiar with the doubble tap mouse button.  And extending the idea, you could test for combinations of button presses as a means of extra inputs.

Then of course you have the icons and buttons approach, which pretty much gives a mouse unlimited use, but i'm guessing you're trying to exclude these.

TMC




Title: Re: JDog053 DevBlog
Post by: fog on August 15, 2009, 10:21:36 AM
I was thinking recenty, just how many different styles of game play can be achieved with a mouse only game? Note, this is not linked with my project, well kind of :).
If you're talking about 2D games then I can't think of a type of game that couldn't be played with just the mouse.  Some might benefit from an extra button or two, but with a clever bit of coding you can get around that.

I know what you mean there Fog. Although, other than clicking and dragging I cn't think of anything else. I'll do a little more background and see what solutions others have come up with :)

You obviously have a game that you're trying to fit mouse controls to, so what exactly is it.  If I knew what sort of controls you were after then I could give more specific advice :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 15, 2009, 11:53:34 AM
Ok...well its not so much a game I have to fit Mouse controls too, more of a device :) My friend has a pocket MP3 player which just happens to be able to play Flash games, he has tasked me with designing a game for the little machine. The only stickler is, all I can do is mouse/stylus based controls.

So I have no game idea, just  aplatform with limited input. I would also be open to suggestions regarding buttons and UI based games, as they'll no doubt be fun.

The good news though, doing this has allowed me to completely recode Fireworks, In the process I came up with a few ideas, that i'm not sure if there so good. All I can say is, its not a chain reaction based game anymore as it wouldn't make much sense. I'll post my ideas shortly (probs tommorrow or tonight). It looks cool on a smaller screen :)

Oh and for secret project (I was gonna have to mention it at some point anyway). I'm back to putting more work on Mania. For those in the know (ie, you guys) its my attempt at a shmup done in Flash with a control scheme similar to the BZ method. I've spent the last month or so just coming up with ideas and doing little tests here and there, seeing what does and doesn't work. So far i'm just pratting around killing enemies which is quite fun. I just have a bug with my collision code.

I'll post more about Mania in the near future.

Theres also another secret project (but thats looking way ahead into the future...like 2 years!).


Title: Re: JDog053 DevBlog
Post by: fog on August 17, 2009, 01:46:03 PM
Ok...well its not so much a game I have to fit Mouse controls too, more of a device :) My friend has a pocket MP3 player which just happens to be able to play Flash games, he has tasked me with designing a game for the little machine. The only stickler is, all I can do is mouse/stylus based controls.
Ah well from a game design viewpoint mouse controls and stylus controls are very very different.  Stylus control is much faster and more accurate which makes a huge difference in an action game.  So which is it? :)

If in doubt then you can't go wrong with turn based puzzle games like Bejeweled (as opposed to an action puzzler like Tetris where mouse/stylus input isn't really appropriate)


The good news though, doing this has allowed me to completely recode Fireworks, In the process I came up with a few ideas, that i'm not sure if there so good. All I can say is, its not a chain reaction based game anymore as it wouldn't make much sense. I'll post my ideas shortly (probs tommorrow or tonight). It looks cool on a smaller screen :)
Waits patiently ;)


I just have a bug with my collision code.
Post the code.  Two eyes, or should that be four, are better than one....or two.


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 17, 2009, 04:15:18 PM
I did some testing on my friends MP4 player, sadly it turned out it was very slow and couldn't run anything really at a decent speed, so i'd either have to optimise further, or simplify a bit more.

The basic game of the re-worked fireworks (designed for the MP4 player)  was to produce a set of pre planned targets (frm between 3-7) and have the player click on each target within the time period, when they click the target they get a score based on how close to the centre they got it and a firework would be set off from the city below, towards where they clicked. I was also going to offer a multiplier based upon which level they've made it to, afterall though these games get harder and harder so the time for each pattern was going to decrease.

If that got you interested then i'll no doubt draw up a few patterns sort out the display and let you all have a go, just to see if at the very least its fun. If it is fun, i'll tailor the game more to my desired platform (and optimise when and where necessary). I personally think its a good idea and i'd like to see it running on the platform in one form or another.

As for Mania, i'm keeping it simple. I have to say though Oddbob and yourself were onto something when you said designing ships is a difficult job, i've had a few seemingly good ideas but when put into practice they didn't look quite right.

As for the collision bug, its not a bug per say, but more a bug bear of mine (Flash's problem mainly). I'd rather have all the collision code in one place, where it almost forces me to do it in multiple places. Also after a while of coding in Flash properly (to more of an OOP style) I end up with many For loops which as you know slow the program down to no end.

this has lead me nicely into an XNA problem I think i'm going to have. I'll mention it a little nearer the time. My engine is in its early stage only dealing with player movement (of which there are 3 different methods) and player firing. Each of which are gonna be inverted by switching sticks.

Oh and 1 final question. In a game (a shmup for example) how much would you expect (content wise) in an 80 pt game. As i'd like to make something small and manageable as a first "proper" XNA project aswell as something i'm keen on along with all the guys on the Geo Wars forums ie a shmup.

Thanks guys! I'll keep you posted.

The good news i'm sure is, i'm doing anything new, just revisting and tinkering (which i much prefer) as ideas don't come around so easily.


Title: Re: JDog053 DevBlog
Post by: fog on August 17, 2009, 05:39:05 PM
If that got you interested then i'll no doubt draw up a few patterns sort out the display and let you all have a go, just to see if at the very least its fun. If it is fun, i'll tailor the game more to my desired platform (and optimise when and where necessary). I personally think its a good idea and i'd like to see it running on the platform in one form or another.
I'm always here and willing to give anything a go :)


As for the collision bug, its not a bug per say, but more a bug bear of mine (Flash's problem mainly). I'd rather have all the collision code in one place, where it almost forces me to do it in multiple places. Also after a while of coding in Flash properly (to more of an OOP style) I end up with many For loops which as you know slow the program down to no end.
Yeah it's inevitable if you have lots of on screen objects that you will have some lengthy For/Next loops to churn through.  Just remember to do other checks first (eg.bounding box) and only do a full distance check between objects if you really really must as they are very slow.


Oh and 1 final question. In a game (a shmup for example) how much would you expect (content wise) in an 80 pt game. As i'd like to make something small and manageable as a first "proper" XNA project aswell as something i'm keen on along with all the guys on the Geo Wars forums ie a shmup.
In an 80msp game I wouldn't really mind how much or little content it had.  Also for a lot of shmups how do you define content?  I mean Geo Wars for example has very little content (just half a dozen enemy types, one game mode and no proper level structure), but it's well worth the money because of re-playability.  I'd judge it by how long it entertains you and for 80msp I'd be more than happy with an hours enjoyment.


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 17, 2009, 06:31:56 PM
Quote
Yeah it's inevitable if you have lots of on screen objects that you will have some lengthy For/Next loops to churn through.  Just remember to do other checks first (eg.bounding box) and only do a full distance check between objects if you really really must as they are very slow.

I was thinking firstly, of splitting the screen into a virtual grid (which was mentioned somewhere on here). Then I just check if both the bullet and enemy is within the same square or square of squares, if so do a proper distance check. Each square is as big as the biggest enemy

Sounds reasonable, being based on entertainment value.

My quest has always been (since Mania anyways). To have a atleast 1 game mode, a variety of enemies, a practice mode and alternate control options oh and achievements.


Title: Re: JDog053 DevBlog
Post by: fog on August 17, 2009, 10:03:20 PM
Quote
Yeah it's inevitable if you have lots of on screen objects that you will have some lengthy For/Next loops to churn through.  Just remember to do other checks first (eg.bounding box) and only do a full distance check between objects if you really really must as they are very slow.

I was thinking firstly, of splitting the screen into a virtual grid (which was mentioned somewhere on here). Then I just check if both the bullet and enemy is within the same square or square of squares, if so do a proper distance check. Each square is as big as the biggest enemy
It wont work exactly like that.  If the grid is the same size as the object then it's likely that the object will cross the boundary and occupy several grid squares at the same time (worst case scenario would be 4).  And even if the object is perfectly inside one grid square then the bullet could still collide with it from a different one unless the bullet has a zero collisions radius :)

Really, first try doing a bounding box check before doing any proper distance check and you might be surprised at the improvement in performance.


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 20, 2009, 12:19:01 PM
Yeah, i'll probably give it a whirl.

I've also been doing some research into 80pt games, and i've been dissapointed. I still think its a reasonable price range to produce a good game. I'd like to make a game of roughly similar size to Geo Wars Waves with a few extras (multiplayer and such).

So the arduos task of making my own shmup engine in XNA has truly begun (and i'll keep working on it until its suitably completed).

As for Flash, i'm none too convinced with it. If anything I should upgrade to a much more recent version to get the added speed boost everyone is raving about, To do that though I either need a job, or to release a game. I'll still no doubt tinker with Flash 7 as its the first programming environment i've really become familiar with and enjoy.

I think I mentioned elswhere about permanently moving into C# XNA as C++ is the language I get taught next year anyways :).

Even with all that in mind, I still think it'd be possibl to have something built and running in a playable form (on the PC anyways) before this year is out.


Title: Re: JDog053 DevBlog
Post by: fog on August 20, 2009, 02:07:10 PM
I've also been doing some research into 80pt games, and i've been dissapointed. I still think its a reasonable price range to produce a good game. I'd like to make a game of roughly similar size to Geo Wars Waves with a few extras (multiplayer and such).
What do you mean by disappointed? What exactly are you disappointed with?

The price, unless you have problems with the file size limit, is pretty much irrelevant to most of us.  We can write whatever we like and price it at any of the 3 allowed price points.

I was quite disappointed they removed the 800msp option though as it probably means bigger, more ambitious projects from pro indi developers are less likely as they may not be able to recoup development costs.


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 21, 2009, 11:08:16 AM
Oh, by dissapointed, I was reffering more to some other peoples products/games. they weren't exactly shining examples of what the Indie Games system is all about! Also, even for smaller apps (like Headshot) your not exactly getting value for money...

I also echo (lol) your sentiments about the 800pt price range, regarding bigger and better games (namely Novaleaf) as they're pretty awesome, and that they'll not exactly get the reward they hope, or to do so they have to sell double the amount!

And i'm still tinkering with Flash, I can't let it go lol. I think to summarise i'm a "Casual Coder" lol. I'm still aiming to get that first game released this year! I spent last night brainstorming and i've come up with a few potential game ideas (not all of them shmups) that are all at varying stages of difficult on a codng perspective. So as a change of tack, i'll try and do the easiest first :)


Title: Re: JDog053 DevBlog
Post by: fog on August 21, 2009, 01:16:42 PM
Oh, by dissapointed, I was reffering more to some other peoples products/games. they weren't exactly shining examples of what the Indie Games system is all about! Also, even for smaller apps (like Headshot) your not exactly getting value for money...
Ah right, I assumed you meant you were disappointed by the limitations placed on 80msp games :)  Yeah you're generally right about the quality of those games, but lets look on the positive side....those games would have still been crap and cost 200msp until the recent price drop  :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 22, 2009, 01:16:56 PM
Yeah, I see what you mean. 200pts for a game like that would be a shame.

I just remembered that i've forgotten to post the zip with Fireworks so i'll get that a little more playable before I post it. I prefer it to the chain mechanic as its easier to play and less to code.

As for Mania i'm back to the drawing board. My weapons systems all look cool and with 2 different modes of fire. I'm just gonna work on some proper enemies, as the test enemy isn't very fun (a circle which moves across the screen lol). Although i'll add the code to produce loads more enemies and i'll zip it here let you all play with it. Ofcourse, graphics are an after thought. If anything Mania in Flash is just a test for Mania in XNA as it has much more power giving me less to worry about (and more importantly, less excuses).

Another thing, when I was writing Pong for my coursework, I found it super easy having the assignment with a set of 4 things the game must include, then having 6 boxes of things the game could have to make it better. So although it'll sound wierd, i'm going to plan my projects using that as a system as its worked twice so far on battleships and pong. So here goes :)

As for XNA, I haven't coded super recently but I have go an idea for a game that I have the code lying around for in one form or another atleast. The beauty of this game is it can be done at any level, i could either make it as a super simple mini game, or expand it into a massive multiplayer experience of XBL. Another benefit is, the more I add the closer to completion it becomes, as the graphics for the game will be pretty simple (done some tests and it looks cool) and the mechanic is super familiar for all who play it.

For this XNA test (which i'll also no doubt post when its at the very least playable) it'll probably appeal to TMC the most.

Phew


Title: Re: JDog053 DevBlog
Post by: fog on August 22, 2009, 02:56:43 PM
I'm just gonna work on some proper enemies, as the test enemy isn't very fun (a circle which moves across the screen lol).
I've written 4 games now where that's all the enemies do lol :)


Another thing, when I was writing Pong for my coursework, I found it super easy having the assignment with a set of 4 things the game must include, then having 6 boxes of things the game could have to make it better. So although it'll sound wierd, i'm going to plan my projects using that as a system as its worked twice so far on battleships and pong. So here goes :)
Hey if it works for you then great :)  I've said before my technique is to simply write 4 or 5 points in Notepad that totally describe a new game and then expand on them, so your idea isn't too dissimilar.


Title: Re: JDog053 DevBlog
Post by: T_M_C on August 24, 2009, 09:52:12 AM
Quote
For this XNA test (which i'll also no doubt post when its at the very least playable) it'll probably appeal to TMC the most.

 ;D


Yeh, whatever you do is valuable.  It's all experience in the end.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 24, 2009, 06:36:57 PM
Well my resit is out of the way so I can now focus on doing some coding. I just have to do a bit of graphics work first to give me something to move around ;)


Title: Re: JDog053 DevBlog
Post by: fog on August 24, 2009, 08:28:52 PM
Well my resit is out of the way so I can now focus on doing some coding.
Resit?  Ouch.  Hope it went well :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 24, 2009, 08:44:28 PM
Well my resit is out of the way so I can now focus on doing some coding.
Resit?  Ouch.  Hope it went well :)

Thanks, you and me both ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on September 07, 2009, 05:26:57 PM
Update...ish ;)

I've been working on my Shmup engine in both Flash and XNA simultaneously and so far so good. I'm just working on solving my slight angle based problem (which I have engineered another more devious solution which is up for test).

The shmup engine is now officially to be referred to as the "Mania" engine as it saves time and its a name y'all familiar with, hehe.

As for a game to go with the engine, I have an idea as of now, pretty sure it'll work, its been kicking about for about a month. I just need to give it a whirl.

I'll update you guys soon enough ;)


Title: Re: JDog053 DevBlog
Post by: fog on September 07, 2009, 07:52:08 PM
I'm just working on solving my slight angle based problem (which I have engineered another more devious solution which is up for test).
Oh right, I thought that was solved :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on September 08, 2009, 12:19:01 PM
Well, It was, but you know me, I feel guilty about unneccessary stuff.

Anyhoo, its not game critical, so i'm moving on to adding bullets to the game now! I can always return to it.


Title: Re: JDog053 DevBlog
Post by: fog on September 08, 2009, 06:54:37 PM
Well, It was, but you know me, I feel guilty about unneccessary stuff.

Anyhoo, its not game critical, so i'm moving on to adding bullets to the game now! I can always return to it.
Well just shout if you need some more help or some working code.


Title: Re: JDog053 DevBlog
Post by: JDog053 on September 12, 2009, 08:49:54 PM
Not much happenning for me really. Been busy doin' some other stuff.

I'll be coding again in the near future as i'm eager to get something off the ground before Christmas, as per my New Years resolution!


Title: Re: JDog053 DevBlog
Post by: fog on September 14, 2009, 09:57:51 AM
I'll be coding again in the near future as i'm eager to get something off the ground before Christmas, as per my New Years resolution!
lol well only 9 months gone and just 3 to go ;)

But yeah, everyone needs a break occasionally to recharge the batteries.  :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: fog on October 06, 2009, 10:55:31 AM
Here's something that might interest you JDog.  Using Flash to build iPhone Apps.  It looks like you just code in Flash and then it's automatically converted to iPhone native code before release.  Quite a nice solution if it's true.

Quote
Today at Adobe MAX, the company announced that Flash tools will be able to build applications for iPhone that can be distributed through Apple's App Store. A beta version of Flash Professional CS5 with this new capability is planned for release later this year. These aren't Flash SWF files, they're native iPhone apps.
http://blogs.adobe.com/jnack/2009/10/use_flash_to_build_native_iphone_apps.html (http://blogs.adobe.com/jnack/2009/10/use_flash_to_build_native_iphone_apps.html)


Title: Re: JDog053 DevBlog
Post by: JDog053 on October 06, 2009, 12:32:29 PM
That sounds pretty cool! If it is true, I might look into that as a revenue stream (well not really, but hey, a man can dream :D). I'm gonna get cracking I think...I'll probably stick to mouse only games aswell...as tilting seems a bit wierd, how would I even do it...

Thanks Fog :)


Title: Re: JDog053 DevBlog
Post by: fog on October 06, 2009, 01:03:02 PM
That sounds pretty cool! If it is true, I might look into that as a revenue stream (well not really, but hey, a man can dream :D). I'm gonna get cracking I think...I'll probably stick to mouse only games aswell...as tilting seems a bit wierd, how would I even do it...

Thanks Fog :)
There's potential for some nice crossover promotion there.  Release a free Flash version onto the net and maybe make some money from ads, and then release effectively the same game with the same cod on the App Store for a small fee.  The net version acts as a nice advert while making you a little bit of cash itself. :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on October 06, 2009, 09:21:16 PM
I completely agree! Nowadays though, cash is secondry (unless it earns a sh*t load lol...). I just wanna make a game that I can have fun playing and be proud to show people :D So i've gone back to some serious Pixel Art work, i'm starting to finish off that Robot dude, see if I can involve him in a game somehow...maybe not.


Title: Re: JDog053 DevBlog
Post by: fog on October 06, 2009, 09:34:40 PM
I completely agree! Nowadays though, cash is secondry (unless it earns a sh*t load lol...). I just wanna make a game that I can have fun playing and be proud to show people :D So i've gone back to some serious Pixel Art work, i'm starting to finish off that Robot dude, see if I can involve him in a game somehow...maybe not.
When do we get to see some of this famous pixel art then? ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on October 07, 2009, 08:35:13 PM
lol you saw the basics of that robot dude anyway lol, he was in the "A Challenge..." thread, I was having trouble gitting him to walk smoothly, so I stopped.

And i'm in the full game design phase at the moment! No idea what its about, it only has 2 objectives! Mouse only, and strong graphical style/influences (Pixel Art). From tha onwards I have free rein! Everything I do now (prototype driven development) will be passed through everyones prying eyes here, hopefully to steer the project in the right direction.

and i'm doing some prep work for my second and third year projects. Such as learning Prolog,OpenGL and DirectX ATM, then from tommorrow onwards its C++. My 3rd year project is crazy! thats why im starting now, hehe

Thanks for keeping this thread alive lol


Title: Re: JDog053 DevBlog
Post by: fog on October 07, 2009, 09:28:30 PM
Everything I do now (prototype driven development) will be passed through everyones prying eyes here, hopefully to steer the project in the right direction.
If you stick to that then you will find it helps a lot.  As I've said many times before, getting feedback off other people is the greatest motivator there is.

and i'm doing some prep work for my second and third year projects. Such as learning Prolog,OpenGL and DirectX ATM, then from tommorrow onwards its C++. My 3rd year project is crazy! thats why im starting now, hehe
Wow that sounds like a lot of information to take in.  Glad I can stick to one language at a time :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on October 08, 2009, 09:43:02 AM
I agree.  Does sound like alot of work.

I didn't think anyone used Prolog anymore.   ::)  havn't heard of that language in years.

Trouble with all that coursework ,is that it will take away from game dev time.  And i suspect the workload will be quite intensive too.

Hope you don't get burned out and manage to complete some games.  Which is after all, what computers were made for.   ;D

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on October 08, 2009, 12:36:23 PM
Yup, same here TMC, but its integral to our course... Ah well, the better I get at that stuff, the better i'll get at C# and XNA ! hopefully...

THanks for your concern guys, but i'm taking a backseat approach to games dev, my main concern is graphics (pixel based) as id love it to be one of those "instant classics" so thats why design might take a little longer than id thought...


Title: Re: JDog053 DevBlog
Post by: fog on October 08, 2009, 01:12:04 PM
I agree.  Does sound like alot of work.

I didn't think anyone used Prolog anymore.   ::)  havn't heard of that language in years.
Yup pointless but typical in my experience.  It's the scatter gun approach that these courses follow.  When I did my Engineering whatsit years ago it was the same.  They cover such a huge variety of subjects that you end up with a little bit of knowledge about lots of things, 99% of which is of no use to you when you get a job.  They would be better off specialising in certain areas because that's much more useful for both the student and future employer.


THanks for your concern guys, but i'm taking a backseat approach to games dev, my main concern is graphics (pixel based) as id love it to be one of those "instant classics" so thats why design might take a little longer than id thought...
You could have done the pixel art for 1982 and saved me the hassle.  :bunnymonkey:  In truth I quite enjoyed it, but I'd rather be coding.


Title: Re: JDog053 DevBlog
Post by: JDog053 on October 08, 2009, 03:00:28 PM
Nah, its cool! Next Pixel Art poject you do though, let me have a crack ;) Ofcourse by then i'll have something decent to show you lol.


Title: Re: JDog053 DevBlog
Post by: JDog053 on October 15, 2009, 07:19:02 PM
Update...

Currently toying around with C++ making a Naughts and Crosses game as practice (not coursework) in Console, then i'm gonna try and do some OpenGL work in C++ aswell as C#.

Still no idea for a game yet, and no idea where to to take the art.



Title: Re: JDog053 DevBlog
Post by: fog on October 15, 2009, 08:05:16 PM
An update! *keels over*

Currently toying around with C++ making a Naughts and Crosses game as practice (not coursework) in Console, then i'm gonna try and do some OpenGL work in C++ aswell as C#.
Wow talk about trying a bit of everything.  I don't think my brain could cope.  Actually I know it couldn't :)

Still no idea for a game yet, and no idea where to to take the art.
Show me the art and I'll give you some ideas ;)

Seriously though have you never though of teaming up with someone?  You seem to enjoy coding and doing pixel art but then beat yourself up because you can't think of any ideas that you like.  There are loads of developers out there that have the total opposite problem, have loads of ideas but not the skills to make them happen or perhaps just need some help.

Stick to what you enjoy and let someone else worry about the other bits. It's worth thinking about.   :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: JDog053 on October 15, 2009, 08:11:15 PM
I was thinking about doing something like that, but then again, I dont like working with people really. I've decided to start making a catalouge of art and code, and eventually, i'll get an idea that goes with a piece of art, then cause its all done I can just assemble the game..in theory ;)


Title: Re: JDog053 DevBlog
Post by: prince caro 19 on October 15, 2009, 09:46:35 PM
Seriously though have you never though of teaming up with someone?  You seem to enjoy coding and doing pixel art but then beat yourself up because you can't think of any ideas that you like.  There are loads of developers out there that have the total opposite problem, have loads of ideas but not the skills to make them happen or perhaps just need some help.

Stick to what you enjoy and let someone else worry about the other bits. It's worth thinking about.   :bunnymonkey:
I was thinking about doing something like that
...right now Binary Zoo is just me.  H2 help out with music, but design, code, graphics and audio are all down to me now so yes I'm very busy :)

There are a load of systems I'd like to write games for, but I just haven't got time to do everything....unless my cunning cloning experiment is successful.  :bunnymonkey:
:) lol i think its obvious what suggestion im hinting at..........


Title: Re: JDog053 DevBlog
Post by: JDog053 on October 15, 2009, 09:52:58 PM
I'm such a sporadic coder/artist i'd be more of a hinderance to a project then the help I think i'd be offering, youve seen how fast Fogs assembled up 1982!

God idea though, but there are better coders/artists on this site (TMC, SIN to name but 2) that he can call up should he need to!


Title: Re: JDog053 DevBlog
Post by: fog on October 16, 2009, 11:49:37 AM
God idea though, but there are better coders/artists on this site (TMC, SIN to name but 2) that he can call up should he need to!
Well likewise, as I've said before there are far better coders & artists on here than me too.  That's not false modesty, it's a fact.  Luckily you don't need to be a great coder to have a go at writing decent games :)


TBH I doubt I could ever work with another coder unless it was on a port like the excellent job SiN did with DUOtrix (and technically I wasn't working with him either as he did all the work  :P) .  I'd be a nightmare to work with on code as I'm just not disciplined enough and make too many things up as I go along.


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 04, 2009, 12:07:27 AM
I'm not dead...

Finally thought of a game idea, and it definately combines my loves of shooting stuff, scoring and pixel art! Expect to see stuff as I develop. I'll only show stuff when its at a stage I like. And it'll be a tad retro!

Hope y'all are happy and doing well???

Thanks ;)


Title: Re: JDog053 DevBlog
Post by: T_M_C on November 04, 2009, 09:38:40 AM
Glad to see you're still alive and kicking and coding.   :D

TMC


Title: Re: JDog053 DevBlog
Post by: fog on November 04, 2009, 08:50:43 PM
Me too :)

What's this being developed in then?  Flash, XNA or something else?


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 04, 2009, 11:05:41 PM
Me too :)

What's this being developed in then?  Flash, XNA or something else?

XNA with C# my current favourite IDE and language ;) So hopefully this game will start taking shape fairly soon.


Title: Re: JDog053 DevBlog
Post by: fog on November 05, 2009, 11:42:05 AM
Me too :)

What's this being developed in then?  Flash, XNA or something else?

XNA with C# my current favourite IDE and language ;) So hopefully this game will start taking shape fairly soon.
Ah cool.  Yeah I love XNA / C# too and even if it didn't allow for 360 releases I'd still be using it or something very similar.


Title: Re: JDog053 DevBlog
Post by: T_M_C on November 07, 2009, 10:01:21 AM
Yeh, XNA and C# strikes me as a dev system and language that will be around for a long time to come.

I doubt you'll feel the need to move on to anything else anytime soon.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 07, 2009, 11:26:49 AM
Thats the theory TMC, hoping thats the case. Also, XNA/C# have no real performance issues whatsoever, meaning I can produce some of my craziest ideas yet.

Update...

As for the game i'm working on, i'm designing it from th eground up to be a 360 game, so all controller input and everything, even from this early stage.

On the whole though, the games gonna be fairly simplistic. Also, since I have such a strong visual style its fairly clear how its gonna look in the end. So i'm working on a few concept-ish screenies and doeing some sketches. Since I have most background code already written from previous projects, it shoul be alright and progress fairly rapidly when I get in development!

/Dog


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 08, 2009, 12:17:48 PM
I'm also working on some C# CWK, so i'll be a tad busy this Month as I need to finis (start properly) coding Space Invaders, with C# and OpenGL, which as a library is great, but on a user friendly stand point, its the opposite! It works well enough so far...

//Game Stuff

As for the game, I can confirm though that it will be an arena shooter, and will most probably have between 1 and 4 players co-op (i'm aiming at the very least for 2 players... Oh, and i'm doing as much as I can to stop this game from seeming like something original, i'm working off a tried and tested formula, that I know works and that I enjoy playing!

I'll keep you all in the loop...


Title: Re: JDog053 DevBlog
Post by: fog on November 08, 2009, 05:22:16 PM
Oh, and i'm doing as much as I can to stop this game from seeming like something original, i'm working off a tried and tested formula, that I know works and that I enjoy playing!
Give me a polished and finely balanced game based on a tried and tested formula over originality for the sake of it any day. :)

I'm sure a lot of devs get so convinced that they have to do something original that it acts as some sort of mental block for them.  They can't think of an original idea that would actually be a good game so they end up doing nothing.


Title: Re: JDog053 DevBlog
Post by: T_M_C on November 09, 2009, 09:43:35 AM
I think the most important thing, is to get the game completed.  Whatever it is.

Not only to gain the experience, but the satisfaction that something is complete as well as a library of routines and techniques.   ;D

TMC


Title: Re: JDog053 DevBlog
Post by: PaulCunningham on November 09, 2009, 01:40:04 PM
Also, XNA/C# have no real performance issues whatsoever, meaning I can produce some of my craziest ideas yet.

You've obviously never used the CLR on the XBox then  ;)  Garbage Collection and FP performance being the 2 main culprits.


Title: Re: JDog053 DevBlog
Post by: fog on November 09, 2009, 05:39:01 PM
I think the most important thing, is to get the game completed.  Whatever it is.

Not only to gain the experience, but the satisfaction that something is complete as well as a library of routines and techniques.   ;D
Indeedy.  :)

Also, XNA/C# have no real performance issues whatsoever, meaning I can produce some of my craziest ideas yet.

You've obviously never used the CLR on the XBox then  ;)  Garbage Collection and FP performance being the 2 main culprits.
Heh.  Can't say I've run into any big problems with either, although I did have them in the back of my mind the whole time I was developing.


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 10, 2009, 12:53:29 PM
Well C# and OpenGL are hitting me uite hard, but dare I say...I like it  :o I can imagine when i'm done with this project, i'll be as good with it as XNA...

...Update...

I've been planning the games contents, so I know what i should and shouldn't add to the game. I'm thinking of everything I really need to do i.e the bare minimum to make the game layable and work, so come Christmas Break, i'll focus on doing some of that here and there!

In the mean time i'll be working on some art I think. Still undecided about the player... Though, we'll see sooner or later which works as i'll test both my ideas :D

TTYL :D


Title: Re: JDog053 DevBlog
Post by: fog on November 10, 2009, 06:24:42 PM
35 pages and still no screenies.  You need to post some art work.  (admittedly I've surpassed that comfortably  :P )


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 16, 2009, 04:48:17 PM
Maybe...

...Update...

Been doing mo' coding for my course. I'm writing Space Invaders as mentioned before. The only thing i'm in a tiny bit of bother with (not so much bother, but my OCD side is kicking in) is that i'm using alot of For Loops for displaying enemies, udating the enemies, checking if the enemies hit the bullets, displaying the bullets, updating the bullets, displaying the particles, updating the particles etc. and i'm wondering if i've missed anything major?

As for the game, i'm still doing a few sketches here and there... I know roughly what i'd like in the game, its just the matterof being mo' specific. Also if possible, i'm going to try and have FINAL GRAPHICS in the game from day one, instead of using standby atleast that way everything is pretty from the begginning. Then i'll do the code around what I create, its just another tack to take on the project.

I'll keep y'al in the loop.

J'



Title: Re: JDog053 DevBlog
Post by: fog on November 16, 2009, 07:19:51 PM
The only thing i'm in a tiny bit of bother with (not so much bother, but my OCD side is kicking in) is that i'm using alot of For Loops for displaying enemies, udating the enemies, checking if the enemies hit the bullets, displaying the bullets, updating the bullets, displaying the particles, updating the particles etc. and i'm wondering if i've missed anything major?
Yeah numerous loops are unavoidable. :)

All my game objects (enemies, bullets, particles etc) are all essentially the same just with different behaviour flags set so I can get away with just one update and one draw loop.

Even if you don't do that, which I wouldn't in your case, then all your game objects will certainly inherit from the same base class (sprite?) so at least you don't need to repeat drawing code etc several times and your loops literally just include an Update() or Draw() call.


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 19, 2009, 01:59:55 PM
A bizarre bug...

I have a slight bit of problem with my enemies in ... Space Invaders ...

here is the code i'm using. Its done using OpenGL and C# though should look similar to XNA.

Code:

for (int i = 0; i < 50; i++)
        {
            //check if enemy is active
            if (Enemy[i].isActive)
            {
                //if active move enemy
                Enemy[i].PosX += Enemy[i].VelX;
                //check if moving left
                if (Enemy[i].VelX < 0)
                {
                    //check if active enemy is at boundary (works for furthest left)
                    if (Enemy[i].PosX < 100)
                    {
                        //cycle through all active enemies and flip direction
                        for (int j = 0; j < 50; j++)
                        {
                            if (Enemy[j].isActive)
                            {
                                Enemy[j].PosY -= Enemy[j].Height;
                                Enemy[j].VelX = -Enemy[j].VelX;
                            }
                        }
                    }
                }
                else  //checks if moving right
                {
                    //check if active enemy is at boundary (works for furthest right)
                    if (Enemy[i].PosX > 700)
                    {
                        //cycle through all active enemies and flip direction
                        for (int j = 0; j < 50; j++)
                        {
                            if (Enemy[j].isActive)
                            {
                                Enemy[j].PosY -= Enemy[j].Height;
                                Enemy[j].VelX = -Enemy[j].VelX;
                            }
                        }
                    }
                }

                if (BulletP.isActive)
                {
                    if (Intersect(ref BulletP, ref Enemy[i]))
                    {
                        EnemyCount--;
                        Score = Score + 10 * Level;
                        Enemy[i].isActive = false;
                        BulletP.isActive = false;
                    }
                }

                if (Intersect(ref Player, ref Enemy[i]))
                {
                    Lives--;
                    Enemy[i].isActive = false;
                }
            }
        }


Well, when the enemies are in a formation of say 7x3 and they move to the right, they are all profile (as in in perfect formation) then when it gets to the end and the formation flips they are ever so slightly off axis and out of formation....

ooooooo  -> Left
ooooooo

 ooooooo <- Right
ooooooo

hope you can help ;)


Title: Re: JDog053 DevBlog
Post by: fog on November 19, 2009, 06:48:03 PM
The first thing you should do is move the loop that reverses the direction of all the enemies to be after the main movement loop.  As you have it that loop could be called several times on each object giving some strange results...as you've seen ;)

Just set a flag if any enemy hits the edge and run the loop if necessary.  Also you could rewrite it so the direction is irrelevant.

eg (untested):
Code:
 
        bool edgeHit = false;

        for (int i = 0; i < 50; i++)
        {
            //check if enemy is active
            if (Enemy[i].isActive)
            {
                //if active move enemy
                Enemy[i].PosX += Enemy[i].VelX;

                //check if active enemy is at boundary
                if (Enemy[i].PosX < 100) edgeHit = true;
                else if (Enemy[i].PosX > 700) edgeHit = true;
            }
        }

        //Reverse direction?
        if (edgeHit == true)
        {
            for (int j = 0; j < 50; j++)
            {
                if (Enemy[j].isActive)
                {
                    Enemy[j].PosY -= Enemy[j].Height;
                    Enemy[j].VelX = -Enemy[j].VelX;
                }
            }
        }

And all invaders travel in the same direction so it's really unnecessary to have a separate velocity variable for each but I've left that in case you need that for another reason. :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on November 19, 2009, 08:07:33 PM
Wow thanks Chris, works a treat. The only thing you were missing was setting "edgeHit" to false just after the main loop. Save for that it works a treat! As for the velocity values being independatn for each... well thats for the deaths! When dead I set 'em to explode in a random explosion spinning as they go!

Thanks for the help man! 

I'm gonna' edit it a little more to suit my coding style.

oh and that drivel I posted was in its unoptimized form ;)


Title: Re: JDog053 DevBlog
Post by: fog on November 19, 2009, 10:19:02 PM
The only thing you were missing was setting "edgeHit" to false just after the main loop.
Not really.  I set it to false before the loop is run and that's all you need.

Anyway glad to help. :)  It's took my mind off my continuing internet issues.


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 14, 2009, 01:18:20 PM
Update

Well, i'm working on my XNA project ATM (doing some work for it in OpenGL first ;). The good news is its not just me who's developing it, meaning it has a greater chance of happenning.

I can tell you all a few things about it... Its a Vertical Shooter Arena (Non-Scrolling)... Think Heavy Weapon-esque. And instead of it being swarm based (as of now, though I do love killing loads of enemies) its gonna be boss based. My artist friend and I are gonna be designing about 10 bosses minimum upto about 25 I think. Oh, its all completely Retro (so simple big pixel sprites, mono/ or 2 coloured sprites). Thats about all I can say for the moment, as it has a unique upgrade mechanic and as you'd expect an interesting score mechanic... other than its completely un-original. I take inpsiration from Sonic, Galaga, Space Invaders, Heavy Weapon and Geometry Wars ofcourse ;)

Now as for coding.... since i'm alot more experienced now than a year ago, i'll be designing the system from scratch (not with anything new or overly special, just done properly).

The only thing i've done so far is a Particle System and Motion Blurring. ATM i'm just having fun watching Particles interact with the Players Bullets! Oh and if I can come up with a decent idea (probably something shooter reated) i'll be porting Fireworks straight to XNA, as afterall it was no more than Particle System anyway ;). Ofcourse, nowadays the sort of style i'm going for (and like spriting for) is retro big pixel.

So over the next few days i'm gonna faff around, work out what else I might need the particles do in the game and add that. The motion blur code shouldn't need to (and won't)  change.

Anyway, hope it was good reading for y'all.

Pics and mybe a demo coming early on in the New Year!


Title: Re: JDog053 DevBlog
Post by: fog on December 14, 2009, 07:13:37 PM
It's good to have an update.  Sounds cool :)

I can tell you all a few things about it... Its a Vertical Shooter Arena (Non-Scrolling)... Think Heavy Weapon-esque. And instead of it being swarm based (as of now, though I do love killing loads of enemies) its gonna be boss based. My artist friend and I are gonna be designing about 10 bosses minimum upto about 25 I think. Oh, its all completely Retro (so simple big pixel sprites, mono/ or 2 coloured sprites). Thats about all I can say for the moment, as it has a unique upgrade mechanic and as you'd expect an interesting score mechanic... other than its completely un-original. I take inpsiration from Sonic, Galaga, Space Invaders, Heavy Weapon and Geometry Wars ofcourse ;)
What's your plan for coding those different boss types then?  Are you hard coding the logic, weapon design etc for each one....or are you using a modular system where you design enemy sections (missile launchers, gun turrets etc) and then sticking them together to form your bosses?


Title: Re: JDog053 DevBlog
Post by: T_M_C on December 15, 2009, 09:45:57 AM
Sounds a cool idea Jdog.

Hopefully the christmas period will mean you have plenty of time for coding.

I bet you'll be suprised how much work can get done with another team member on board.

Sounds like you're getting on well with XNA too.

Look forward to seeing some screenies and playing that demo.   ;D

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 15, 2009, 10:22:18 PM
Thanks guys!

FOG, 100% modular, it less work from an art perspective and less work from a coding perspective!

And yeah, the demo should be pretty sweet.


Title: Re: JDog053 DevBlog
Post by: prince caro 19 on December 15, 2009, 11:35:04 PM
is it going to be only bosses? or something like where you do a small wave of enemies, then fight a boss?
or will there be enemies while you fight the boss?
this game sounds very interesting.


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 16, 2009, 01:27:33 AM
It was gonna be...

Boss > Upgrade > Boss > Upgrade etc.

Whereas it could quite easily be...

Waves > Boss > Upgrade > Waves > Boss  > Upgrade etc.

Good idea that man. Could quite easily have a wave of similar smaller acting bosses, as in same rough design, simpler and much much more of them.... hmm i'll have to think about it! Either way the main meat of the game, where it comes down to highscores is quite definately the Upgrade section of the game ;).

And as nothing is really planned (per se) for the game, its all open to change at any moment, if something doesn't work, i'll refine it, if it still doesn't work, then i'll drop it and move on, or post a demo and see what people think!

On the whole I want it to be very public.

Its retro, I posted this font a few pages back, so its here again for accessibility's sake. This will be the games font! Coloured white as opposed to black, for colour clarity later...

EDIT: I'm also tempted to try out an interesting health sysem and seldom used in Shooters... the health-- / recharge formula, will make the game more fast paced, though its only 1 life, its not 1 hit kill, and you won't need health packs either! I have a feeling it could work, maybe with a 3 second recharge time.


Title: Re: JDog053 DevBlog
Post by: fog on December 16, 2009, 12:31:13 PM
EDIT: I'm also tempted to try out an interesting health sysem and seldom used in Shooters... the health-- / recharge formula, will make the game more fast paced, though its only 1 life, its not 1 hit kill, and you won't need health packs either! I have a feeling it could work, maybe with a 3 second recharge time.
Yeah I've posted on here a few times that I'm going to try that health system at some stage too.  It's strange that it's almost standard for FPS but hasn't AFAIK been used in a shmup.  Of course when I try it I might find out I've overlooked something and there's a good reason why it's not common in shmups  :P


Title: Re: JDog053 DevBlog
Post by: prince caro 19 on December 17, 2009, 02:50:08 AM
EDIT: I'm also tempted to try out an interesting health sysem and seldom used in Shooters... the health-- / recharge formula, will make the game more fast paced, though its only 1 life, its not 1 hit kill, and you won't need health packs either! I have a feeling it could work, maybe with a 3 second recharge time.
Yeah I've posted on here a few times that I'm going to try that health system at some stage too.  It's strange that it's almost standard for FPS but hasn't AFAIK been used in a shmup.  Of course when I try it I might find out I've overlooked something and there's a good reason why it's not common in shmups  :P
well shmups were most popular in the 80's (and after doom they mysteriously disappeared) (not that i should know...), and at that point video games were revolutionary by themselves, so im guessing they never needed to spice up the formula, i doubt anyone even thought of it.
not to mention few shmups even have health bars, which really worked to echoes advantage, didnt it?   
i think it could be a neat system,
i'd like to see something similar to halo (just an example, im not thinking too close to it, but maybe the same sound (*try's (and fails) to imitate it* beep beep beep beep)  :)), where it recharges (example) second's after you get hit, only maybe not as fast healing


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 17, 2009, 05:04:11 PM
The upgrade system...

I thought now would be as good a time as any telling you all what it is, so atleast I can gauge opinions before I do it...

Well as the only thing the player ever really earns is Score, I thought why not allow players to spend their hard earned Score on upgrading their craft.

Now its definately an interesting idea, as for Highscores, people would either buy a few upgrades and lose alot of what they earnt in the last round to get better for next round thus maybe making larger overall scores...

I was gonna have a few different available upgrades for the player ship, multiplers I guess, longer bonus runs etc. faster health recharge, larger health bar and stuff like that.

So to gauge interest, what do you all think? I'd say that it is pretty risk versus reward!


Title: Re: JDog053 DevBlog
Post by: prince caro 19 on December 17, 2009, 08:24:05 PM
The upgrade system...

I thought now would be as good a time as any telling you all what it is, so atleast I can gauge opinions before I do it...

Well as the only thing the player ever really earns is Score, I thought why not allow players to spend their hard earned Score on upgrading their craft.

Now its definately an interesting idea, as for Highscores, people would either buy a few upgrades and lose alot of what they earnt in the last round to get better for next round thus maybe making larger overall scores...

I was gonna have a few different available upgrades for the player ship, multiplers I guess, longer bonus runs etc. faster health recharge, larger health bar and stuff like that.

So to gauge interest, what do you all think? I'd say that it is pretty risk versus reward!
that... sounds... AWESOME!
will guns be some of the main upgrades?
both better power, and scheme?

the thing about an upgrade system is i think it would work best in a story/career mode, will youre game have one? or at the very least, will it have saving capabilities (no restart from last save though... i think that would be cheap), because i know i'd be frustrated if i got the best upgrades, then needed to turn it off for whatever reason.

also, i think the highscore table should include whatever round you made it to if you use this system, because i usually try to see how far i can get in a shooter, rather than how many points i can rack up.

anyway, im looking forward to this game alot!
(sorry if youve already said but) any idea on how long it'll take to make it,
its sounding like it'll be really complicated, and therefore will require alot of work. 


Title: Re: JDog053 DevBlog
Post by: fog on December 17, 2009, 08:57:18 PM
The upgrade system...

I thought now would be as good a time as any telling you all what it is, so atleast I can gauge opinions before I do it...

Well as the only thing the player ever really earns is Score, I thought why not allow players to spend their hard earned Score on upgrading their craft.

Now its definately an interesting idea, as for Highscores, people would either buy a few upgrades and lose alot of what they earnt in the last round to get better for next round thus maybe making larger overall scores...

I was gonna have a few different available upgrades for the player ship, multiplers I guess, longer bonus runs etc. faster health recharge, larger health bar and stuff like that.

So to gauge interest, what do you all think? I'd say that it is pretty risk versus reward!
Yeah I'm with prince caro 19.  I really like it.

I personally wouldn't include any score multipliers or anything like that as an optional upgrade though.  That distorts scores so much that it would effectively be an essential upgrade for anyone wanting a high score and not optional.  And that IMO goes against the idea of players being rewarded for not upgrading.  If that makes any sense  :P

It does sound really interesting though so good luck with it.  Balancing the difficulty could well be a nightmare :)  getting the upgrade levels and costs right wont be easy and getting the difficulty setting right will be really hard as you don't know what combination of upgrades a player could have at any time.


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 18, 2009, 03:35:14 AM
Yeah, thanks for your interest/input guys!

I've narrowed the upgrades down into different categories.

Bullets
Health
Bonus

Ofcourse this could quit easily change.

As far as pricing is concerned, it was gonna price the value of the next upgrade to be some kind of factor of the players OVERALL score.

The way this game is being "planned" for the moment, isn't so much story, its just Waves/Boss/Upgrade and so on, so its sequential but with no point. It could also work if bosses were randomized. I was also gonna have it so Bosses got slightly harder the better you get.

Chris, I fully expect it to be a nightmare, no-one said it would be easy.

.... in the meantime ...

Using most of the sytem i've notched up ATM, which is...

Particles,
Motion Blur,
Screen Shake,
Player

...i'm very very tempted (in lieu of Fogs classics) to use it to build a slightly retro/modernistic version of a classic vertical shooter, and since i've just coded a version of Space Invaders, not that though I will have a go at some point depending on how this mini "test" game goes.

Its between Centipede and Galaxian.

i'm leaning more towards 1 than the other, which do you guys think I should go for?


Title: Re: JDog053 DevBlog
Post by: prince caro 19 on December 18, 2009, 03:51:05 AM
Yeah, thanks for your interest/input guys!

I've narrowed the upgrades down into different categories.

Bullets
Health
Bonus

Ofcourse this could quit easily change.
what do you mean by bonus,
extra life?
and im also assuming it will be something where each time you purchase an upgrade, the price of the upgrade increases (if lives are purchasable i think something where the price of lives goes up x5 would feel right)

As far as pricing is concerned, it was gonna price the value of the next upgrade to be some kind of factor of the players OVERALL score.
wait, it costs a percentage of your overall score?


Title: Re: JDog053 DevBlog
Post by: T_M_C on December 18, 2009, 09:43:42 AM
From a players point of view, i'd love to play an updated or enhanced version of Centipede.

I don't really recall playing any updated versions of this old classic.

So i think theres plenty of oppertunity to experiment with enhancing the game design.

TMC




Title: Re: JDog053 DevBlog
Post by: fog on December 18, 2009, 05:21:27 PM
As far as pricing is concerned, it was gonna price the value of the next upgrade to be some kind of factor of the players OVERALL score.
wait, it costs a percentage of your overall score?
Well I can think of a few good reasons why charging a % of your score would be an interesting idea, but one huge reason why it's maybe not such a good idea. :)

What system are you thinking of JDog?


Its between Centipede and Galaxian.

i'm leaning more towards 1 than the other, which do you guys think I should go for?
Well Centipede requires a bit more work as you need a background collision system.  Other than that I'd say there's plenty of potential in both.  Galaxian would have more general appeal as it's more fondly remembered than Centipede by the masses.


From a players point of view, i'd love to play an updated or enhanced version of Centipede.

I don't really recall playing any updated versions of this old classic.

So i think theres plenty of oppertunity to experiment with enhancing the game design.
Yeah it's on my list of "Classics" to do and I can't think of many recent versions either.  Just an XBLA release of an enhanced version which was utterly awful.


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 18, 2009, 11:33:44 PM
probably each upgrade would be 1/3rd the players current score.

As for Bonus, I was gonna have a Bonus run option, where it goes all hazy and dreamlike for say 5-10 seconds, then the player can upgrade length of time of bonus.

Its only an idea, thats why I flung it into the open this early on in the project! As a scorer i'd hate to lose my hard earned score, though I can see the inherent advantages of getting better weapons and stuff so i'd probably upgrade. Also its less numbers to manipulate.

I'll think of something.

Completely agree about the recent Centipede remake, as it was a bit dire. You don't really need a background collision routine though, as when you destroy part of the centipede it would just stick a mushroom there which causes collisions... though it would get slower as the game progresses...

As for Galaxian, I reckon it would be a whole lot easier as I only need to make a few enemies, a few behaviours.

Anyhoo, thanks for the ideas guys.

Though I have decided to attempt to do both! as I have a rough idea of what i'd like in Centipede and same with Galaxian 2.0's ;)

you'll see some stuff in the new year hopefully.


Title: Re: JDog053 DevBlog
Post by: prince caro 19 on December 19, 2009, 03:09:45 AM
probably each upgrade would be 1/3rd the players current score.
oh, a percentage of the players current score.
i think i can see how that would work, but tbh i think i'd much prefer set pricing.........

As for Bonus, I was gonna have a Bonus run option, where it goes all hazy and dreamlike for say 5-10 seconds, then the player can upgrade length of time of bonus.
and the bonus would be some sort of special attack?  or is it a special round?
and assuming it happens during the normal round, besides trippy-ness, how does it benefit the character?
do you get a better score per kill? are you temperately invincible?



Title: Re: JDog053 DevBlog
Post by: JDog053 on December 19, 2009, 12:13:32 PM
In the Bonus Run" Per shot/kill you were gonna have an increased multiplier for the duration of the bonus run so everything you were doing during then would definately help your score increase somewhat.

Fixed prices makes the most sense as that way its not as easy to exploit, and it gives you something to aim for! To make the system more fluid, it would make alot more sense to allow the player to spend points on upgrades earned in the previous wave/boss combo as opposed to globally. On a per wave/boss set the prices will increase meaning you always need to do better and better everytime...

As I said for this, its early days so no reason to fret. All of this is valuable though guys, thanks!


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 19, 2009, 02:45:23 PM
It seems like i'm sort of over tasking myself at the moment, i'm already suffering feature creep...

I'll just add sme simple enemies so I can have something to shoot... ;) just so I can think about what I want...


Title: Re: JDog053 DevBlog
Post by: fog on December 19, 2009, 03:55:56 PM
probably each upgrade would be 1/3rd the players current score.
As I mentioned in my previous post there's one potentially huge reason why that or any % cost might be a bad idea. :)

If all upgrades are open to you from the beginning then there is nothing to stop you buying them all early in the game because taking a third off your score could allow for almost infinite purchase if you think about it. (your score never reaches zero)



Title: Re: JDog053 DevBlog
Post by: JDog053 on December 19, 2009, 04:40:25 PM
Seems there is a slight misunderstanding as how I was gonna price stuff.


Current Score: 9000
Score Spent: 0

Bullets - 3000
Health - 3000
Bonus Run Time - 3000

Then say the bullets were purchased, they would get more expensive.

Current Score: 9000
Score Spent: 3000

Bullets - 6000
Health - 3000
Bonus Run Time - 3000

And it doesn't re-calculate prices when their score is being used, it would do it after all purchases. Hope that makes more sense ;) That example was stressed for simplicity. Ofcourse for this system to even work the player would need to score over a minimum for it to be fair.

I will agree that fixed prices is the best system, and it will work based upon how much you earned per wave, so you don't lose global score, if anything the upgrade screen is kind of banking your score at that moment!


Title: Re: JDog053 DevBlog
Post by: fog on December 19, 2009, 07:53:10 PM
ok well I still can't figure out how that would work between levels etc so I'll say no more and wait and see what you implement :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 19, 2009, 08:28:22 PM
Thanks Fog, anyway, at worst it might not work ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 21, 2009, 04:52:49 PM
Update

I'm still beavering away on this engine. The great news is, its not overly difficult! For some reason me having fun programming (again) is seriously helping this progress!

I'm just sorting out the multiple bullets at the moment, with the intention of having cool bullet patterns! Not as fantastical as the stuff Fog's producing but atleast pretty good.

I'm also extending functionality of my particle system, as I just love it! Now all explosions can react with stuff in a vicinity maybe bullets, player stuff like that, can either be attracted or repelled, and i'm gonna work on making a potential psuedo 3D effect.

On the whole stuff is progressing!


Title: Re: JDog053 DevBlog
Post by: fog on December 21, 2009, 05:28:47 PM
I'm still beavering away on this engine. The great news is, its not overly difficult! For some reason me having fun programming (again) is seriously helping this progress!
Yeah it feels great when you're enjoying the coding process and things are progressing well :)


I'm just sorting out the multiple bullets at the moment, with the intention of having cool bullet patterns! Not as fantastical as the stuff Fog's producing but atleast pretty good.
My bullet patterns are just done by tweaking speeds and turning values so there's nothing "fantastical" about them lol....but thanks anyway :)

Great to hear you're progressing well anyway.  I can't wait to get back to mine properly once the Crimbo holidays start.  I can do little bits and pieces occasionally now but it's not the same as having a few days really stuck into it   :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 23, 2009, 04:24:57 PM
Thanks Fog, i'll what bullet patterns I can cook up as what you described sounds similar to what i'm doing... ;)

I'm building the engine as a general Shmup engine just incase I wanna do more games (I probably will). I'm using the mindset of do it once, do it properly, so stuff may take slightly longer to do but atleast once its done i won't or shouldn't have to change it.

I'm at the stage currently of dropping in some temporary graphics. So the player is a triangle etc. Atleast that way I have something to look at.

i'm still yet to add enemies in to shoot, but with a few of these bullet patterns that i'm messing around with its looking like it might be swarms of some kind :D as nothing screams "shoot me" more than hordes of enemies.

Also, with it being a Vertical shooter I have 1 less axis to worry about, so planning stuff has just gotten alot easier.

Anyhoo, some point during the new year (hehe thats a year long) i'll be dropping pics nd demos faster than you can say "quit posting updates JDog".

Thanks all and Merry Christmas if I don't post again.


Title: Re: JDog053 DevBlog
Post by: T_M_C on December 24, 2009, 09:57:43 AM
Quote
I'm using the mindset of do it once, do it properly, so stuff may take slightly longer to do but atleast once its done i won't or shouldn't have to change it.

Thats pretty much my mindset too.  ;D

I remember when i first started programming, i was so eager to get stuff written i would cut corners and generaly make a right hash of things.

For instance.  one of my C64 games,"Thruster Ball" didn't sort the high score table.  I didn't think anyone would notice, lol.  I didn't want to take the time and research a sorting algorithm.

But over the years that attitude has changed completely.

Now, i'm in no rush to get anything completed.  Probably because i've written so much stuff in the past that now i'd much prefer to take things slower and try and make a proper job of it.

It's really the best attitude to have as it will save you an awful lot of grief in the long run.

Merry Christmas and thanks for your support.

Look forward to seeing those screenies.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on December 24, 2009, 11:56:43 AM
Yeah taking time over the code and making it reusable where possible is a mindset that I think carries over to the game design too.  Generally of you're happy to cut corners and throw together crap code then the gameplay and final polish of the game itself will show signs of that too.


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 24, 2009, 01:15:43 PM
Thanks all :D

I'm still in the fiddling stage ATM, did a fair bit of programming yesterday coming along nicely.

As for Uni I got my grade back for Space Invaders, fairly happy with it considering the time spent on it. I'm now refctoring all my useful code from that project into useful code for my next OpenGL project.

Merry Christmas once more!


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 26, 2009, 02:19:05 AM
Its looking like my proper game might be a full arena shooter as opposed to a vertical shooter, that way I get more freedom when it comes to enemy designs and bullets.

Hope everyone had a great christmas!


Title: Re: JDog053 DevBlog
Post by: fog on December 26, 2009, 12:21:54 PM
Its looking like my proper game might be a full arena shooter as opposed to a vertical shooter, that way I get more freedom when it comes to enemy designs and bullets.
lol.  That's actually one of the dilemas I keep running up against with new game designs.  An arena shooter allows for many more ideas and flexibility in lots of different areas so it's the sub-genre I'm drawn to the most when thinking up ideas.  That's why there are so many of the bloody things :)


Hope everyone had a great christmas!
Excellent thanks.  I hope Santa was good to you :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 27, 2009, 04:03:02 PM
Very good thanks ;)

Been doing more coding and i'm working out the best way to do my system (for the time being). I'm designing the system to be as useful as possible for this (and other) projects so its taking a little more time.

I now only have 2 base classes Sprite, Text and as of now I can't think of any other main ones. Then everything else i'm doing is game specific, Particle :  Sprite, Enemy : Sprite, Player : Sprite, Bullet : Sprite.

At the moment this seems the most logical... and most importantly it works! the one diffirent thing i'm doing in this project that I haven't done in others is stick all sensible code in super sensible places, as it makes my side classes longer but it makes my main program code much shorter and easier to navigate.

Also, I have the Firewoks engine code nicely and neatly dropped in. though using the engine for that, I intend to do a mini game which is almost the exact opposte using the engine. I'm at the graphics stage for it at the moment, so this will probs take me a few months to get it all done and nailed.

Fingers crossed in a few days i'll post some graphics for that to see if you can guess what i'm working on ;).

As for the shooter, its all go for the engine ATM, as for game design, other than a full fixed screen arena shmup, i'm all out :D


Title: Re: JDog053 DevBlog
Post by: fog on December 27, 2009, 07:50:51 PM
As for the shooter, its all go for the engine ATM, as for game design, other than a full fixed screen arena shmup, i'm all out :D
Beware of fixed screen and the Title Safe area ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 27, 2009, 07:59:59 PM
Oh, you mean within the 10% of the screens boundaries? I haven't taken that into consideration, but I will be doing now! Thanks Fog.


Title: Re: JDog053 DevBlog
Post by: fog on December 28, 2009, 09:51:52 AM
Oh, you mean within the 10% of the screens boundaries? I haven't taken that into consideration, but I will be doing now! Thanks Fog.
Yeah just a couple of display considerations if you're doing a 360 game:

- Always develop for 1280 x 720 (that is guaranteed to work on all displays as the 360 handles scaling and letterboxing for you)
- All critical information should be displayed in the inner 80% of the screen (player sprite, score display etc)
- Non critical info can be displayed in the inner 90% of the screen (HUD graphics etc)

Obviously on PC you have more flexibility for your resolution and don't need to worry about the Title Safe Area. :)

If you're doing an arena shmup then you'll soon realise that only being able to use the inner 80% of the screen gives a relatively small play area unless you implement some scrolling (as in E+) or allow the user to scale the display image to fill their screen (as Paul did in Ultratron)


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 30, 2009, 02:34:05 AM
So, even if I hard code the game with 1280x720 in mind, it should just work and scale appropriately on the 360? If thats so, then its looking like deploying on 360 could be the best way to do it!

Ofcourse I will attempt to develop it with PC in mind, since thats what i'm coding it on!

See what you mean, 80% isn't much but i'll try my best see what works, what doesn't etc. As you'd expect its all very experimental.

First game i'll be doing will be 8-bit Pixel Graphics, so fairly simple but with some detail when and where necessary. Nex tpost (Tommorrow) i'll post some of the stuff i'm fiddling with (don't expect Final Fantasy quality though ;))

Oh and for something I wanna experiment with before I do my next semester coursework... 2 words...

Soft Body ;)

Thanks for the help Fog, its much appreciated!


Title: Re: JDog053 DevBlog
Post by: T_M_C on December 30, 2009, 09:48:46 AM
Quote
Soft Body

That wouldn't be physics would it.

Verlets perhaps ?


Quote
Ofcourse I will attempt to develop it with PC in mind, since thats what i'm coding it on!

I think it's pretty important to release it on pc as well.
Theres alot of us who don't own 360's.  The PC userbase is the biggest in the world.
Even if you don't plan to sell your games, the PC feedback would be invaluable.

The only problem really is that PC software needs more support for varied hardware.  But, once the code is written, i doubt you'll need to code it again in the future.


TMC


Title: Re: JDog053 DevBlog
Post by: fog on December 30, 2009, 10:07:09 AM
So, even if I hard code the game with 1280x720 in mind, it should just work and scale appropriately on the 360? If thats so, then its looking like deploying on 360 could be the best way to do it!
Yes.  Code for that res and it's guaranteed to work on everyone's 360 regardless of what output resolution settings they are using or what TV or monitor they have it hooked up to.


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 30, 2009, 03:21:47 PM
Thanks guys! And yes physics.

I was planning my soft body in the early days being simple scale manipulation based upon forces applied at specific points. If i'm lucky I should be able to wrangle a workable solution with simple maths ;) If not however, then its verlet!

At the moment, i'm just sorting out my player ship (its not very original, hehe hope you don't mind fog! though its more pixelated) Making it simple but kewl.

EDIT: This shooting game project since its gonna be a soft body-ish would suit being more vectory by far! Does anyone knowany free Vector software which has both transparency colour channels and saves files in a vector object file format (whos name escapes me).

Oh and as promised.... some generic 8-bit traffic (red). For a game i'm probs not gonna do anymore. Or if I do end up doing it, it will be in very low poly 8-bit 3D.


Title: Re: JDog053 DevBlog
Post by: fog on December 30, 2009, 07:59:39 PM
Love that pixel art.  Very retro cute :)

And if you're interested in using physics in a 2D game in XNA then take a look at Farseer Physics.  That's what I currently plan on using in Tension.  It also works in Blitzmax :)

Farseer Physics in Blitzmax (http://www.youtube.com/watch?v=97S-PmEXLGw#normal)


Title: Re: JDog053 DevBlog
Post by: T_M_C on December 31, 2009, 10:19:01 AM
Nice art.

Is that postman pats van i see.   ;)

I didn't know that the Farseer Physics system was available for Blitzmax.  I know chipmunk and a couple of others are.

Quote
EDIT: This shooting game project since its gonna be a soft body-ish would suit being more vectory by far! Does anyone knowany free Vector software which has both transparency colour channels and saves files in a vector object file format (whos name escapes me).

Hmm.  Not exactly sure what you're asking.

I've rarely if ever used any vector art software.

I usualy use traditional 2d software like Photoshop or paintshop pro and create glowing vector art images with that.

If you're after glowing 2d vector art images, then a paint programme will do that quite easily.

You could also probably achieve a similar results via code.

By drawing lines of varying thickness over the top of each other.  Each line being more transparent than the previous to give that glowing effect.

In fact, you could probably write a neat little editor to do just that.

By storing graphics as a sequence of 2d verticies ( defining your 2d shape / polygon ) you can easily distort the image by modifying the vertexs at runtime.
Which is what i think Fog has done with tension.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on December 31, 2009, 11:07:27 AM
Inkscape (http://www.inkscape.org/index.php?lang=en) is free and does nice vector stuff.  It's what Paul uses IIRC and it always looks fantastic.

That uses SVG file format which wouldn't be too complicated to write an importer for.  I'd still be tempted to write my own editor like Masked recently has and I did for Tension though.


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 31, 2009, 02:15:31 PM
Thanks guys! Cute Retro stuff is what i'm a fan of TBH, I don't like games that take themselves too seriously.

That physics system looks cool, probably won't use it though, as I would love the thrill of making something like that myself.

Also, regarding vector graphics, I could just make my own programmatically, as its how I used to do stuff in DB.

I'll be posting a proper update in the near future.


Title: Re: JDog053 DevBlog
Post by: fog on December 31, 2009, 04:02:17 PM
That physics system looks cool, probably won't use it though, as I would love the thrill of making something like that myself.
I know what you mean :)  I wouldn't rule it out entirely though.  You might be able to simulate a lot of the physics yourself, however getting a reliable collision system working isn't quite so easy and writing one that doesn't have a huge hit on performance is very tricky.

Trust me, I did it in Tension and I spent twice as much time getting that working satisfactorily as I did writing the rest of the game.....I wont be doing that again   :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 31, 2009, 04:49:05 PM
I'll be using it as fallback should I not be able to do it!

I'm currently working out how to go about drawing, circles and lines programmatically... and its more difficult then I thought (making them solid and useful based upon changing sizes and stuff...

I think its unnecessary ATM but its something I wouldn't mind doing.


Title: Re: JDog053 DevBlog
Post by: fog on December 31, 2009, 05:09:48 PM
I'm currently working out how to go about drawing, circles and lines programmatically... and its more difficult then I thought (making them solid and useful based upon changing sizes and stuff...
For lines I just stretch a sprite image between two screen co-ords.  One of the SpriteBatch overload methods takes a vector for the scale so I just scale it in the y-axis to be as long as the distance between the two screen co-ords, rotate it and slap it down.

For circles you have two choices. I actually use both methods depending on their use.

One method is to use your vector line code to draw the circle using a series of lines.  That's what I do for the Echoes energy circle ( I rotate the whole thing every frame too so the line segments aren't quite as obvious)

The other obvious method is to just use a large circle image and scale it to whatever size you need.  This gives a better looking result, however it can be performance heavy for large circles and also gives a different line width depending on how much you scale things.

Basically get your simple vector line drawing routine working and then it's relatively easy to use that for circles, rectangles and vector text.  Shout if you need help :)

Now filling those shapes isn't quite so easy  :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: JDog053 on December 31, 2009, 05:29:58 PM
Thanks! Thats what I decided on doing. I already have a "pixel" image and it just seemed logical to stretch it along the X to get its length.

Thanks for your help! It seems that filling will definately be a hurdle, but not an impossible to cross hurdle.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 02, 2010, 02:27:07 AM
...

MISSILE COMMAND

...

Now guys, throw as many ideas at me as you can! Luckily since its quite close to Fireworks my engine isn't that complex. I thought it would be better doing somethig simple!

Also, I can release it for PC straight away since its just mouse support and different resolution options should be easy to incorporate!

I meant to post this yesterday ;)

Any ideas on how I can "Next-Gen" it. At the moment i'm just fiddling with beautiful particle effects and the chain reaction scoring mechanic (V2 mechanic where its if multiple missiles hit your initial explosions as they explode, rather then an actual chain).

Opinions and comments are more than welcomed.


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 02, 2010, 10:01:45 AM
Thanks for the Inkscape link.

I've downloaded that for future reference.



First thought,

Upgradable weapons and pick ups.

Bosses to fight.

How about making a cross between space invaders and missile command.
More along the lines of missiles command with a few space invaders to kill as well.

Scrolling landscape.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on January 02, 2010, 07:15:36 PM
IMO Missile Command is such a simple, pure idea that if you do anything to change it then it soon stops being Missile Command.  So really it depends on whether you want to do MC or just something inspired by it. :)


Title: Re: JDog053 DevBlog
Post by: prince caro 19 on January 02, 2010, 10:54:13 PM
First thought,

Upgradable weapons and pick ups.

Bosses to fight.
TMC

i actually own a missile command remake for the ps1, that it actually sounds like youre describing, it had upgrades, bosses, and good graphics (for the playstation).
tbh it was the first missile command i played, i didnt play the original till later when i got my "atari flashback 2" console (if it wasnt for that baby, id have no idea what any of the old games were, so you can thank that for my retro awareness).


im actually curious to see how well different (upgradeable/unlockable) shooting patterns would work,
you know, different shapes (like a star, or maybe some sort of animal....:bunnymonkey:?),
maybe even something that that has different bullets fly out of it (like in echoes when you get that explosion powerup,
sorry, i dont know how else to describe what im thinking about).

or, maybe you could make it so you can purchase turrets/defenses for your buildings, that automatically shoot enemies when they get near, kind of like in a tower defense game. (upgrades for defenses can be range, strength, shot speed, and reload speed)

thats all i can think of right now.

 


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 03, 2010, 01:21:35 PM
These are great suggestions, but I do understand your concerns with changing a simple idea too much destroys that original idea. Although, for the time being to save argument depending on how much I do or do manipulat the game, we'll say "inspired" by it.

THE PLAN

Not much of a plan, more of how i'm gonna do it. I'm going to write it as a clone straight away (but remove the other two turrets) so its controlled by either pressing A or by a mouseclick (as that'll be even easier). Then from that point onwards i'll work on improving it.

SO....

Upgradable Weapons (more shots and stuff)
Upgradable Cities (Shields, Increased Health Regeneration, Auto Turrets)
Explosion Patterns (different shapes, like the bunnymonkey (if I get permission and can do it) squares and stuff like that)
Bosses (Comets/UFO's/etc.)

These all seem like great ideas and nearer the time of adding them i'll ask for more.

Cunningly i'm giving no release date, but do expect to see stuff from the game as and when its created.
 


Title: Re: JDog053 DevBlog
Post by: fog on January 03, 2010, 04:35:09 PM
FWIW I've never liked Missile Command but always thought it had the potential to be turned into a great little game so I'm looking forward to this. (I never liked the original Asteroids of Defender either  :P )


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 03, 2010, 06:12:10 PM
You know, i'm gonna have to agree, there was never really enough there to grip me as a player, though I can respect the games at that point in time though.

I've also decided to have not 1, but 2 turrets, as it will work as a nice frame to a level, whereas with just 1 it won't look quite rght.

Thanks though!

And I never liked defender.


Title: Re: JDog053 DevBlog
Post by: prince caro 19 on January 03, 2010, 06:29:13 PM
after reading in fog's bog that he's attempting to do a freeze power up, that made be think that there could be potential in that for Missile Command, maybe you could purchase (or just have a set number per wave) freeze bombs that freeze all enemies for like 3 seconds (the length of time could be upgradeable),
they could be activated by the right click or s key.
unless you want to do normal bombs instead that wipe out the entire screen.
or you could do both,
or none.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 03, 2010, 07:50:46 PM
Probably normal bombs wold be better, as a freeze powerup is kinda what fogs doin'. If anything it will be a mid screen nuke which wipes out all active meteors or whatever they are.


Title: Re: JDog053 DevBlog
Post by: fog on January 04, 2010, 05:29:14 PM
Probably normal bombs wold be better, as a freeze powerup is kinda what fogs doin'. If anything it will be a mid screen nuke which wipes out all active meteors or whatever they are.
I think a "freeze" powerup or a bullet time one could work really well in a Missile Command style game.  I know bullet time is overdone, but the MC gameplay of having to accurately target things suits it perfectly IMO.  It's probably a better use for a "Freeze" style powerup than in my game TBH :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 04, 2010, 06:35:25 PM
Fancy that... Well I might just indulge in that then ;)

EDIT...

I've been doing some more coding today with much success. I've been working on my Vector primitives editor, so I can draw simple things like Dots/Lines/Circles/Polygons.

Not too sure why XNA didn't come with it built in, but atleast its something that i've done and dusted to the point where I can display simple things onscreen and do stuff with it. most probably though the game i'm doing will be pixel art anyway so it'll be a wasted effort, though I do imagine some of the vectory drawing effects well be used, well... just because i've made them!

Following that guys advice and my addiction to feature creep. I mentioned it before, i'm just gonna stick to it, so heres the list of the first build, which will come about as soon as its done.

2 Turrets
3 City pieces (or 1 big one, in 3 mini sets)
missile system
meteor system
game over detection

sounds about right!


Title: Re: JDog053 DevBlog
Post by: prince caro 19 on January 04, 2010, 08:03:18 PM
I think a "freeze" powerup or a bullet time one could work really well in a Missile Command style game.  I know bullet time is overdone, but the MC gameplay of having to accurately target things suits it perfectly IMO.  It's probably a better use for a "Freeze" style powerup than in my game TBH :)
thinking about it, ive not played a game where the key feature is the ability to manipulate time (i think it could work well in any genre),
im just wondering why i havent seen one
because i can really see playing an fps where you need to slow or stop time, shooting up bad guys as you watch them fall to the ground in slow motion.......
well i can see how it wouldent work in a multiplayer death match, as it would be kind of hard to get 2 (or more) perspectives, in a game with 2 different speed's of time, in a world where only 1 time exists. :)      



so, jdog, is this mc clone gonna be youre priority atm, or is that gonna be youre space invaders boss based shooter?
both of them sound great btw :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 04, 2010, 08:26:42 PM
Thanks ;)

I'm unsure to be honest. Normally as I add more stuff to a game engine, I get taken in different directions with projects. Such as Fireworks was only gonna be made before because I had an alright collision/particle system.

Hopefully thats what i'll be working on. Although if with what i've coded I can think of something either smaller/quicker/cooler to make that won't distract me much then thats what i'll be doing as its great to see stuff hapen in a shorter space of time, even if you are prepared for a much larger project.

Oh oh, and Timeshift is a time manipulation FPS.


Title: Re: JDog053 DevBlog
Post by: fog on January 05, 2010, 12:27:02 PM
Oh oh, and Timeshift is a time manipulation FPS.
Yeah and it had the potential to be awesome......but wasn't.  The time manipulation bits were ok, they were just used in a really boring and poorly designed FPS.

Also there are a load of indie shmups that have bullet time or rewind features in them.  And again, most are really disappointing.  Just average games with the time bit bolted on seemingly as an afterthought.


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 05, 2010, 03:43:06 PM
Quote
bullet time or rewind features

I think that is one of the very few genuine innovations in games i've seen in years.

Again it's such a simple idea, you slap your head and say, "Why didn't i think of that".

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 05, 2010, 06:22:58 PM
Yeah, if I was to do Time related stuff, it would be in a game solely designed for that to be the main point. For a time specific shmup could work, where you get a choice to go back in time and do bits again for better points and stuff.

At the moment though its not a concern!


Title: Re: JDog053 DevBlog
Post by: fog on January 06, 2010, 04:57:21 PM
Sorry to go slightly off topic in your dev thread JDog but .... :)

...in coming up with my "freeze" powerup I suddenly realised just how tricky thinking up new powerup ideas was in traditional shmups.  Once you've gone past the usual increased weapon powers and smart bombs there aren't that many other examples out there.  About time we started raiding other game genres for ideas me thinks.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 06, 2010, 06:22:04 PM
that sounds like a good idea, as other than the 2 you pointed out there realy isn't much going on...


Title: Re: JDog053 DevBlog
Post by: prince caro 19 on January 06, 2010, 08:13:49 PM
Sorry to go slightly off topic in your dev thread JDog but .... :)

...in coming up with my "freeze" powerup I suddenly realised just how tricky thinking up new powerup ideas was in traditional shmups.  Once you've gone past the usual increased weapon powers and smart bombs there aren't that many other examples out there.  About time we started raiding other game genres for ideas me thinks.
i agree with JDog, theres pretty much nothing else that works....
none the less, ill try to organize a small list of powerups i can think of, who knows, maybe there will be something good :). and feel free to add youre own:

1. temporary powerups (eg. 5-20 seconds):
-cloaking device/blind enemy (any enemy that normally knows where you are, cant see you....... has anyone ever made a stealth shmup? lol :D)
-freeze (already discussed, i know, but that doesn't mean it shouldn't be on the list)
-shield (if there's one temporary power up every game needs, its a shield lol)
-anti-gravity well projector (just thought of it...... the concept is simple, things have a harder time going near you..... i imagine an anti-gravity player wouldn't be hard to code at all.... right? lol :P)

2. powerups for player lifespan (till you die) (note: could also work for temporary):
-player size increase/decrease (it worked for Arkanoid....)
-movement speed boost
-ally/allies (another ship comes along and helps blasts enemies) (note: this could work best if they die on their own, as opposed to lasting a set amount of time or dieing when you die)
-weapon upgrades
-extra life
-health






Title: Re: JDog053 DevBlog
Post by: T_M_C on January 07, 2010, 09:49:10 AM
Quote
ally/allies (another ship comes along and helps blasts enemies) (note: this could work best if they die on their own, as opposed to lasting a set amount of time or dieing when you die)

Yeh, I agree.

An excellent addition would be some sort of AI controlled ship or drone that helps the player.

You have your standard R -Type drone, which is pretty basic, but adds enormously to the game to something like Wizball ( going back a few years with this one )  where the drone can be used by a second player.

I really like the idea of an AI controlled drone ( which itself could be upgradable ) zipping about the place helping out the player.


Also, what about adding in some RPG elements to a schmup.

Skills that update everytime the user plays.  And skills not resetting on each new game could be an interesting game mechanic.  But increase over time, the more game time that has been logged by the player.  Might be an added incentive to play.

TMC



Title: Re: JDog053 DevBlog
Post by: JDog053 on January 08, 2010, 02:21:57 PM
Now you guys are seriously talking! An ally system and RPG elements! Something like Perks like on CoD? Something like this really gets my interest! I just never thought of doing something like that for a shmup, FOG, TMC and PC19 these are excellent ideas!

Which reminds me, with my shooting game engine I have a glitch. When the angle calculations for the ship rotation are 0/0 it doesn't display the texture. Now this problem only happens with GamePad. And with my vector drawing system I can't drawlines backwards... hmmph.

Any help will be greatly appreciated. Just bounce ideas off me and i'll see what I can do!

EDIT: To show i'm not slacking off here's a pic.


Title: Re: JDog053 DevBlog
Post by: prince caro 19 on January 08, 2010, 04:47:24 PM
Also, what about adding in some RPG elements to a schmup.

Skills that update everytime the user plays.  And skills not resetting on each new game could be an interesting game mechanic.  But increase over time, the more game time that has been logged by the player.  Might be an added incentive to play.

TMC


Now you guys are seriously talking! An ally system and RPG elements! Something like Perks like on CoD? Something like this really gets my interest! I just never thought of doing something like that for a shmup, FOG, TMC and PC19 these are excellent ideas!
if you like both of them, then upgradeable allies in your game, is an obvious addition.
and if you do an rpg shmup, then a level up system (where all skills increase in each level by 1 or something) is also something that could be neat, in addition to customizable skills.
theres alot of upgrades to consider in a rpg shmup,
customizable bullet schemes, perhaps? one of the upgrades can be that you can add extra bullet streams where you want, lengthen each stream, or bend them.
basically, everything you see in fog's shmups, only customizable. ;D


Title: Re: JDog053 DevBlog
Post by: fog on January 08, 2010, 05:16:13 PM
Now you guys are seriously talking! An ally system and RPG elements! Something like Perks like on CoD? Something like this really gets my interest! I just never thought of doing something like that for a shmup, FOG, TMC and PC19 these are excellent ideas!
It's already been done quite a few times :)

There's actually one on Indie Games already.  It didn't click with me, but it's fairly slick and worth a look. (Buggered if I can remember the name though :P )


Which reminds me, with my shooting game engine I have a glitch. When the angle calculations for the ship rotation are 0/0 it doesn't display the texture.
What's "0/0" then?  And I assume this is just using SpriteBatch?


And with my vector drawing system I can't drawlines backwards... hmmph.
What's a backwards line when it's at home?

Sounds like they should be easy enough to fix, I just need a better explanation of the problems :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 08, 2010, 06:02:25 PM
where X and Y are at 0 it doesn't draw the sprite.

And when a line is bing spawned at say 100, 100 and the of the line is at 10, 10. For some reason the -length doesn't work >:{


Title: Re: JDog053 DevBlog
Post by: fog on January 08, 2010, 06:28:20 PM
where X and Y are at 0 it doesn't draw the sprite.
Not sure about that one. There's no reason why it shouldn't work so I'd need to see some code.  (PM or email it if you'd prefer)


And when a line is bing spawned at say 100, 100 and the of the line is at 10, 10. For some reason the -length doesn't work >:{
A slight change of approach needed :)  There is no such thing as a -ve length so you need to get the absolute value of your distance calc (Math.Abs).

Or if you use a Vector2 to find the length then that will do it for you.

Code:
Vector2 PointA = new Vector2(100, 100);
Vector2 PointB = new Vector2(10, 10);
Vector2 Distance = new Vector2(PointA.X - PointB.X, PointA.Y - PointB.Y);
// For your line length use Distance.Length;
That's far from optimized code BTW :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 08, 2010, 07:43:08 PM
Thanks Fog, I'll see if that helps. But i'm using a similar system just not with as many smart Vectors...

As fa as my games going i'm working on the dull and boring stuff ATM. Menu's Gae Structuring and stuff like that. As you well know the first game that i'm doing is purely a retro experience so big blocky graphics, few colours and stuff like that.

Also, opinions on whether I should group all my objects in the form of say a large particle, bullet, enemy array or a global game object array where i just find a slot and set behaviours. I'm currently using the other behaviour of smaller focussed arrays.

This isn't an optimisation thing, its an ease of use for later thing.

I've also taken onboard the advice of "Think Small...then think Smaller..." as its something I seem to never do. And I think producing a few smaller games instead of my bigger project will be alot more manageable.

So, if you've seen my Pong already you'll know it works but, Blue and White though simple looks cool, though i'm keen on other schemes so any ideas?


Title: Re: JDog053 DevBlog
Post by: fog on January 08, 2010, 09:52:38 PM
Thanks Fog, I'll see if that helps. But i'm using a similar system just not with as many smart Vectors...
If you're still having problems with those vector lines then I bet it's your angle calc that's causing the problem and not the length one.  It's very easy to make mistakes using Rads when you're used to using Degs.  I know I did :)


Also, opinions on whether I should group all my objects in the form of say a large particle, bullet, enemy array or a global game object array where i just find a slot and set behaviours. I'm currently using the other behaviour of smaller focussed arrays.

This isn't an optimisation thing, its an ease of use for later thing.
Well I've done both in the past.  :)

Putting everything in a single array gives you more options, but is harder to write and needs a lot more optimization.

Take collisions for example.  If you had 10k fx particles that you don't need to do collision checks on then that's easy if they are in a separate array.  Now imagine they are in a single array mixed with all your other object types.  Now you have to check each member of that array to see if it's a particle before yoyu decide not to do a collision check on it.  That's 10k checks you don't really need to otherwise do.  You can obviously optimise that as I have, but it is a lot more complicated and potentially buggy.

My new XNA system has everything in a single array, but that's after 3-4 years of developing a shmup engine so I know exactly what functionality I need.  I'd recommend you do the same TBH and start with everything handled separately.


So, if you've seen my Pong already you'll know it works but, Blue and White though simple looks cool, though i'm keen on other schemes so any ideas?
No suggestions as such, but I have a folder where I save any interesting pics I find.  Then when looking for inspiration have a look through that (that's where the 1982 idea came from).  I never save other game graphics for inspiration though.  I normally browse places like DeviantArt (http://www.deviantart.com/#catpath=digitalart/fractals&order=11) occasionally instead :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 10, 2010, 11:15:52 AM
Thanks again Fog.

I am using Rads at the moment and haven't bothered at any point translating it into Degs (I know how to do it) I just haven't bothered, though I will because it will make everything much easier.

I'll stick with my current system of handling everything seperately since it makes more sense for the time being. Although wouldn't checking be as simple as maybe having a string of what type of object a sprite is such as "particle" then just checking if

sprite.type == "particle"

just an idea ;)

As for inspiration that seems like a great place to go!

Oh, and when scaling PNGs or BMPs in XNA is there a way to stop anti aliasing as it scales? as I much prefer the blocky apearance of big blocks sharp edges as opposed to a horribly smoothed edge to the point of it blurring.

And no release date is such an easy thing to work to, more fun making the game then I ever had last year.


Title: Re: JDog053 DevBlog
Post by: fog on January 10, 2010, 12:33:33 PM
Thanks again Fog.

I am using Rads at the moment and haven't bothered at any point translating it into Degs (I know how to do it) I just haven't bothered, though I will because it will make everything much easier.
I'd stick with Rads if I was you as that's what the Framework commands expect.  I just mentioned it because it's very easy to make mistakes in your own maths when you're used to using Degs all the time :)


I'll stick with my current system of handling everything seperately since it makes more sense for the time being. Although wouldn't checking be as simple as maybe having a string of what type of object a sprite is such as "particle" then just checking if

sprite.type == "particle"

just an idea ;)
Yeah it's as "simple" as that, but if you had 10k partcles then you'd still need to check they were actually particles before skipping the collision check.  That's 10k checks you don't need to make if you keep things in separate arrays.  Also I'd avoid using a string for any comparison like your example as comaritively it's really slow.  I'd just use an Enum. (Apart from being a slower check, strings can create a load of garbage so are best avoided where possible anyway)

(FYI I have all my objects in a single array but keep a list of my different object types to speed things up.)


Oh, and when scaling PNGs or BMPs in XNA is there a way to stop anti aliasing as it scales? as I much prefer the blocky apearance of big blocks sharp edges as opposed to a horribly smoothed edge to the point of it blurring.
I had to do something similar in 1982 and IIRC you need to look at adding something like:
Code:
GraphicsDeviceManager.GraphicsDevice.SamplerStates[0].MagFilter = TextureFilter.Point;


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 10, 2010, 01:08:35 PM
Thanks again Fog, how is 1982 coming along?

Yeah seperate arrays, less checks, easier to manage thats the plan!

And as soon as i've got some fresh Pixel Art done i'll drop it in and try that code out.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 10, 2010, 05:28:03 PM
Quote
Code:
Vector2 PointA = new Vector2(100, 100);
Vector2 PointB = new Vector2(10, 10);
Vector2 Distance = new Vector2(PointA.X - PointB.X, PointA.Y - PointB.Y);
// For your line length use Distance.Length;
That's far from optimized code BTW :)

Thanks for this too Fog, though the solution was simpler than what I thought... I wasn't flipping both the X and Y scale, but just the X scale causing it to break. Now thats all fixed I can have lines that are drawn both ways.

Its the little victories that help a project!

I'll have a check to see if that other gltch still exsists though with the ship never being drawn when the direction stick is at neutral.


Title: Re: JDog053 DevBlog
Post by: fog on January 10, 2010, 09:52:34 PM
Thanks again Fog, how is 1982 coming along?
No worries. Glad you're progressing.

And yeah, about time I updated The Bog a bit.


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 11, 2010, 09:53:10 AM
Quote
sprite.type == "particle"

Thats exactly what i do now.


Quote
Yeah it's as "simple" as that, but if you had 10k partcles then you'd still need to check they were actually particles before skipping the collision check.  That's 10k checks you don't need to make if you keep things in separate arrays.  Also I'd avoid using a string for any comparison like your example as comaritively it's really slow.  I'd just use an Enum. (Apart from being a slower check, strings can create a load of garbage so are best avoided where possible anyway)


Although i agree, string checking is slower, i much prefer to use strings now, prefering code elegance and ease of reading the code over speed.

Garbage collection is never an issue with me, because although blitzmax does garbage collection automatically, i manually call it whenever i need to, just to be on the safe side.
This is often done after erasing media from memory when loading levels.

One recent example i used for string checking was for my master draw list.

Since my level data is sorted via depth, each element can be several different types stored in the one master list.

Player
Background Image
Door
Switch
Fish  ect

to name but a few.

So, i used a string description for checking what type of element needs to be drawn in the master draw list.

In the grand scheme of things, string checking has a minor speed hit compared with other routines like image drawing for instance.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on January 11, 2010, 04:51:39 PM
Yeah it's not something that's concerned me in the past, but XNA on the 360 has a big problem with garbage collection and strings are a big contributor to that.  AFAIK this is a 360 specific thing and PC code doesn't have the same problem.  :bunnymonkey:

Although i agree, string checking is slower, i much prefer to use strings now, prefering code elegance and ease of reading the code over speed.
Yeah I'm all for readability too.  I use strings in a similar way to you for referencing things in my script files, but they are all "interpreted" and turned into game object references on loading so there is no string comparison during the actual game.

Anything I need to reference in game code I use Enums for like I said, as they maintain readability:
Code:
Sprite.Type = objects.Bullet
And they have the added advantage over strings that you can't make a typing mistake in your names. :)



Title: Re: JDog053 DevBlog
Post by: T_M_C on January 13, 2010, 09:52:10 AM
Jdog, i found this neat webpage giving a brief history of shoot em ups and thought you'd like to have a look.

http://www.odessadesign.co.uk/codespace/shmup.htm (http://www.odessadesign.co.uk/codespace/shmup.htm)

Towards the bottom of the page it lists some pretty cool shoot em up game mechanics from some japanese games i'd never heard of.

Plenty of useful ideas there you might find useful.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 13, 2010, 05:39:37 PM
wow thanks, just had a flick through and it was very interesting! For a shmup i've always thought it would be cool having something similar to Halo's double, triple, multi kill streak sytem where your multiplier increases in  short space of time.

I'll read it more closely!

Raster lines... Now i've obviously seen them on CRT TVs and in the ever popular Echoes series ;) I was just trying to think of a decent way to do it. As of now i've only thought of 1 way to do it and thats probably the way i'll attempt to do it first.

would I just draw a series of lines the width of the screen spaced 1 every 2 pixels down, and make the second or so line a transparent black? like black at 50 alpha?

if not, any other suggestions (not code please).

With the graphical style i'm going for, something very original Game Boy pixel art I think it would fit in nicely. Thats Black and either a Grey/Green background colour.

The idea is, with a limited pallete it becomes more about the shape then whats actually being drawn!


Title: Re: JDog053 DevBlog
Post by: fog on January 13, 2010, 06:53:47 PM
Raster lines... Now i've obviously seen them on CRT TVs and in the ever popular Echoes series ;) I was just trying to think of a decent way to do it. As of now i've only thought of 1 way to do it and thats probably the way i'll attempt to do it first.

would I just draw a series of lines the width of the screen spaced 1 every 2 pixels down, and make the second or so line a transparent black? like black at 50 alpha?

if not, any other suggestions (not code please).
You could do that, but that's a few hundred screen wide sprites you would be drawing which doesn't sound like a great idea.

Personally I'd use a shader.....in fact I did for E+ classic mode and applied the green monitor effect at the same time. :)  It's literally a few lines of code and very cheap to do.  Most people think shaderzzz are just for really fancy stuff, but they are also perfect for things like this IMO.

I don't know how much shader work you've done in XNA and I know you said you didn't want any code, but I'll give you all you need to get started if you want.  The actual XNA code is only a couple of extra lines, and if you can write basic code then you can make your own shaderzzzz.  It's really easy and you'll find hundreds of uses for them.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 13, 2010, 07:27:10 PM
Yeah, i've never used shaderz before, the closest i've come to what I think are shaderzzz has to be my motion blur effect using a resolve texture.

If you'd like to provide some example shader code i'd be willing. I have to stress though, i'm not in the business of code stealing ;)

If all else fails, i'll be drawing a few hundred screen wide sprites :D


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 14, 2010, 09:57:12 AM
Or you could use just one image, the size of your screen with raster lines drawn on it.  And use that as an overlay.

Might be more pratical to use a fairly small ish image and then scale it up to the size of your screen.

But, i agree with Fog.  Shaderzz sounds like the ideal first solution.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 14, 2010, 07:19:10 PM
oh yeah, i'll post that angle problem I was having...

Code:

Offset.X = GamePad.GetState(PlayerIndex.One).Thumbstics.Right.X;
Offset.Y = GamePad.GetState(PlayerIndex.One).Thumbstics.Right.Y;
Rotation = Math.Atan(Offset.Y / Offset.X) * -1;


Basically, when I don't press anything it doesn't render my image.

Thanks in advance.

Scratch that, didn't realise it had Atan2, now my angle calcs work fine.


Title: Re: JDog053 DevBlog
Post by: fog on January 15, 2010, 12:31:55 PM
Yeah, i've never used shaderz before, the closest i've come to what I think are shaderzzz has to be my motion blur effect using a resolve texture.

If you'd like to provide some example shader code i'd be willing. I have to stress though, i'm not in the business of code stealing ;)
With you rmotion blur using a Resolve Texture were you just drawing everything to that texture and then applying a shader to that to ad blurring?  If so then all you need is a different shader.  The XNA code will be exactly the same.

If that's the case I'll give you the basic shader code and you can just tweak it to suit your needs :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 15, 2010, 12:50:44 PM
I wasn't applying a shader to it, I was just drawing it with rediced alpha, I just assumed that was a shader ??? Anyhoo, I would like that very much, thanks Fog!


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 16, 2010, 04:31:52 PM
I've decided to register at a pixel art based forum called "pixelation.wayofthepixel.com" in a conscious effort to improve my pixel art. THe site seems to have a wealth of experience in both static art and art for games where I hope to learn a bundle.

Now as a pledge, all of teh pixel art that I deem good enough to be show, will be shown here first! I talk about it so much it would only seem fair that you guys got the first slice of the pie ;)

As I said though, the first game that i'll be doing will be as if you're playing it on a next gen GameBoy. So it has a restricted pallete of colours and its pixel art! I'm a huge fan of the raster lines so thats going in, and since old screens were blurry, we have motion blur in and done!

So i'm at the state where I need ideas, as soon as ideas have formed i'll think about the next step, which is more artsy!

Oh and when its ready i'll show my rudimentry attempt at raster lines which look alrght.

I'll keep you all in the loop!


Title: Re: JDog053 DevBlog
Post by: fog on January 17, 2010, 05:05:10 PM
I wasn't applying a shader to it, I was just drawing it with rediced alpha, I just assumed that was a shader ??? Anyhoo, I would like that very much, thanks Fog!
Oh no, shaderzzz are much more awesome than that.  You'll enjoy playing with them.  I'll knock up some code for you to play with when I get a little time.  :kangaroo:


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 18, 2010, 10:01:58 AM
Signing up to an arts forum is a good idea.

Forums have been so valuable to me over the years.  Mind you, i've had my share of flame wars.   :P

Bouncing ideas off people, showing off your work and picking up all sorts of information has been a god send for me.

I couldn't have learned half the stuff i know without forums.

Look forward to seeing some artwork.   :)

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 20, 2010, 04:51:48 PM
Well, no art to show as of yet...

As for game development, with exams this week i've been taking things slowly!

Its looking like I will be sticking with my initial idea of a vertical scrolling shoot-em-up. I'm too sure exactly what enemies i'd like to have for it, but I do know that I want crazy ass bullet patterns (alot like DUO, but maybe something a little crazier ;)).

With my mini Vector program thats hacked onto the side of XNA, i'll be drawing things in simple vector forms for the early tests. I may even begin to like it somewhat ;)

Afterall and its a sentiment which is echoed somewhat and I don't blame you guys for saying it to me... its all about the first game! After that I should be safe in the knowledge of getting stuff done, so thats my aim. Whether this shmup project is for public release or not, I should still get it done!

Anyhoo, you should be seeing stuff in the near future.


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 21, 2010, 09:53:54 AM
Not more Exams.  :o

Sounds as though you're forever taking them.

Glad i'm out of school.   :P

Anyways, keep on coding.   ;D

TMC



Title: Re: JDog053 DevBlog
Post by: JDog053 on January 21, 2010, 02:05:16 PM
Yup, I have an exam tomorrow on C++ which shoul hopefully go ok. And on monday I have an exam in C# OpenGL with Interface design... fairly dull but the more you know ;)

and yeah, coding is mixed, I just need to get into a routine. As soon as i'm in the routine, i'll be moving at a rate of knots.

Now, for the vertical shooter, i'm not allowing the player to pivot/rotate merely shoot where the bullets are intended. So the difficult bit comes in much the same vein as before... Which enemies should/could I have?

Oh and some cutsie pixel art that i've been working on for a game that may or may not happen...

EDIT: And although these are just recolours, I was wondering what they'd look like as different birds and they seem to fit. These are more inspiration for a project than the actual project itself. The sprites in game would be a little smaller, the only thing they are all missing is a themed gun. I had the idea of something similar to the game Small Arms but with a cute pixel edge instead of cute 3D but with loads more characters all based off real animals. ;)

Original http://forums.tigsource.com/index.php?topic=9353.0 (http://forums.tigsource.com/index.php?topic=9353.0)


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 22, 2010, 10:01:51 AM
Awww, they're soooo cute.   :-*


They would work great for a platformer.

Not sure i'd like to see them reduced in size though.

TMC



Title: Re: JDog053 DevBlog
Post by: JDog053 on January 22, 2010, 12:45:46 PM
Thanks, yeah only a little smaller, like 10%.

I've been doing alot more coding for my vertical shooter. I've designed my player ship, which looks pretty cool, and i'm in the process of designing bullet patterns.

my bullet routines are quite simple, they allow me to set the starting positions, the indipendant velocities and if I must add a curve value so I can have smooth curving bullets. I've also added the option for homing bullets, but i'll add those in when theres some enemies to shoot at.

As for how many bullet patterns I designed 28 though i'll probably cut that down to about 10 - 15. Upgrades will probably be a simple dropped from enemies collect idea, if not then i'll think of something else...

I do intend this game to be a co-op affair, minimum 2 if possible 4, but we'll wait and see.

On the whole so far so good.

The proper ship will be vectorised which will make scaling and rotation alot smoother, but for the time being here'sa scribble in paint ;)


Title: Re: JDog053 DevBlog
Post by: fog on January 22, 2010, 09:15:49 PM
Nice pixel art JDog.  Quite a few of the Japanese shmups seem to have graphics like that but not many western ones.

Now, for the vertical shooter, i'm not allowing the player to pivot/rotate merely shoot where the bullets are intended. So the difficult bit comes in much the same vein as before... Which enemies should/could I have?
1982 is a fixed screen shmup (like Space Invaders) but that's all most vertical shmups are too.  Unless you have some kind of collisions with your background then all it is is a graphic that gives the illusion of movement.  Remove the background and the gameplay would remain exactly the same.

With that in mind, don't just look at other vertical shmups for inspiration but things like Space Invaders, Galaxians, Centipede etc.  That's what I did and really most enemies in shmups are just variations on those basic types.

And don't think you need to be too creative or complicated when designing enemies.  My games are essentially full of the good old Dumb Bouncy Blob after all  :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 23, 2010, 10:20:32 AM
Nice ship design.

Reminds me of one of those ships from the classic game Elite.


I've been messing around creating glowing vector lines of late using photoshop.

But i imagine the techniques could be transfered to other paint programmes too.


Heres what i do.  You might find it useful.

1.  Create an image and draw some lines on it.
2.  Make a copy of the image as a new top layer.
3.  Gaussian blur the first image ( base layer ) (a value of say 10 pixels for a nice large glow effect )  and use auto contrast to brighten it.
4.  Gaussian blur the second image ( top layer ) (a value of say 2 pixels to soften the line )  and use auto contrast to brighten it.
5.  Set the opacity ( alpha ) for the second image ( top layer ) to 50%.
6   View and save the final image.

It's a simple technique that gives pretty good results.

Although the final image doesn't have an alpha layer itself.  It's just a flat image.

But seems to work fine for me though.



I'm at about the same dev stage you are.

Designing some player ships and coding the bullet patterns.   ;D

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 23, 2010, 02:19:50 PM

I'm at about the same dev stage you are.

Designing some player ships and coding the bullet patterns.   ;D

TMC


Which IMO, is quite a fun stage to be at ;) as its not really a chore at all, its more getting an idea of what the games gonna be like.

I decided that instead of feeding in the X and Y values for the velocity of the bullet, it would be sooooooo much easier if I just inserted an angle and a speed and the clever maths did the rest for me. Oh not forgetting the curve value too ;).

Yesterday I spent my time just messing around and seeing what stuff looks like, ever noticed how hypnotic bullet patterns are ;). The only difficult thing i'm finding hard about them is suitable upgrades from the previous and not making the patterns too powerful so people can survive anything...

Which is why the game will need to have some unkillable enemies, but can only removed/destroyed if the player uses a smart bomb.

So as i'm sure you've gathered the project that i'm working on now is the initial vertical shooter project that i planned to do, just simplified somewhat. So i've removed the purchaseable upgrade idea for the time being. Saying that however, this will be the version of the game with swarms of enemies followed by boss battle then more swarms etc.

Anyhoo, after I convert my bullet routine from my old way to the angle way i'll start posting some screenies so far ;) Not much to see though mind.


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 25, 2010, 09:49:56 AM
Quote
I decided that instead of feeding in the X and Y values for the velocity of the bullet, it would be sooooooo much easier if I just inserted an angle and a speed and the clever maths did the rest for me. Oh not forgetting the curve value too

I think those are called ' Polar Vectors '.

Quote
Yesterday I spent my time just messing around and seeing what stuff looks like, ever noticed how hypnotic bullet patterns are . The only difficult thing i'm finding hard about them is suitable upgrades from the previous and not making the patterns too powerful so people can survive anything...

I'm probably going to time limit my power ups.

Which will force the players to continually upgrade.  Have you thought about doing something similar.

Quote
Which is why the game will need to have some unkillable enemies, but can only removed/destroyed if the player uses a smart bomb.

I love smart bombs.

Very satisfying for the player.  Especially if you can save them up for a boss.

Look forward to seeing some screenies.

TMC




Title: Re: JDog053 DevBlog
Post by: fog on January 25, 2010, 12:35:51 PM
Quote
Which is why the game will need to have some unkillable enemies, but can only removed/destroyed if the player uses a smart bomb.

I love smart bombs.

Very satisfying for the player.  Especially if you can save them up for a boss.
True, but enemies that can only be killed by smart bombs sounds like a potential game killer if not handled right.

What happens if you don't have any left JDog?


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 25, 2010, 05:29:52 PM
When I said enemies that can't be killed I meant bullets :/ But well raised :D


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 26, 2010, 05:21:28 PM
Something not quite right...

I've been coding and i've come across a snag that doesn't look quite right... should I have the bullets spawn at the players position and move up from it with full independance, or should I have the bullets follow the path they would be always directly over the players position?

Player is a temporary triangle for the time being...


Title: Re: JDog053 DevBlog
Post by: fog on January 26, 2010, 07:36:21 PM
Oh god option 1 always :)

he only thing I'd have move with the ship would be a laser style weapon.


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 26, 2010, 08:53:20 PM
Thanks Fog, that method works out computationally easier, and physically easier as Option 1 is done and dusted ;)

hmmm laser style weapon... Its a staple of a vertical shooter game... suppose i'll do that aswell... maybe as a powerup??? like the mega laser from the Heavy Weapon but it can't pivot, its alot like a windscreen wiper...

Thanks! Consider it done!

I've been thinking aswell, if I were to do 4 player local co-op, the screen would get really very crowded with bullets, so I could either limit how advanced the bullet patterns go for 4 player mode, or restrict it to 2 players and have full on proper bullet patterns. I suppose there's alot of time to do that anyway.


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 27, 2010, 09:56:07 AM
I was about to suggest option 2 as a power up too.

But i agree with Fog about option 1.

Quote
I've been thinking aswell, if I were to do 4 player local co-op, the screen would get really very crowded with bullets, so I could either limit how advanced the bullet patterns go for 4 player mode, or restrict it to 2 players and have full on proper bullet patterns. I suppose there's alot of time to do that anyway.

Thats an issue i'm faced with too.   ::)

Don't know what i'm going to do until i start coding and get to see it all in action.

Another thing to consider with mutliple players is the increase in CPU load.

4 players usually means about 4 times the CPU hit.  Don't forget all those extra player bullets that need collision checks.

So that might be an issue for you.  Especially if it's in Flash.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 27, 2010, 12:28:03 PM
True that is an issue though less of an issue since its in C# with XNA. I'm retired from the Flash world until I get Flash 9 and work with AS 3.

Some very goo dpoints though TMC, I also see no reason why I can't do that as a power up also. The only problem i'm currently facing (not really  aproblem, just something not done) is having the bullets fired belong to the player that fired them.

And i'm currently doing some graphics based research at the moment to get a look and feel to the game.

I've also been thinking about Upgrades and how it should work, along with score bonusses. I think I will have multpliers based upon multiple kills, such as kill 1 quickly thatsa x1 then before that bar goes down you kill another x2 and so on with refreshing bars each multiplier, but the bar count goes down proportionally to how large the multiplier is. Thats why bosses will need to have swarm of enemies nearby just so people can keep their multipliers topped up...

As for weapons upgrades, you can either collect upgrades from fallen enemies that have a limited time, and ifyou collect them while the time is going down, it upgrades it further... maybe if you collect 5 (like who wants to be a millionaire) it makes a checkpoint for the weapons strength to go back to shold you lose them all. Get hit on the boundary and you start to trickle down the next weapon ladder...

Phew. lots of thinking ;)

To Do

Tie the bullets being fired to the player using them, to allow for co-op versus.

and i'll post pics of all the patterns later on, as soon as they are coded in...


Title: Re: JDog053 DevBlog
Post by: fog on January 27, 2010, 12:38:32 PM
and i'll post pics of all the patterns later on, as soon as they are coded in...
Don't make the mistake I've made a couple of times of spending a while designing some lovely bullet patterns before the final game enemies are in only to find out your patterns are either far too weak of overpowered and all need redesigning :)


I've been thinking aswell, if I were to do 4 player local co-op, the screen would get really very crowded with bullets, so I could either limit how advanced the bullet patterns go for 4 player mode, or restrict it to 2 players and have full on proper bullet patterns. I suppose there's alot of time to do that anyway.
Don't ask me as I've never been a fan of multiplayer in a shmup unless it's done something like Silkworm/SWIV was where each player has a different craft with different capabilities.

Plus I'd imagine a lot of the design will be compromised if you allow for up to 4 players.  Either it's going to be ridiculously hard for a single player or ridiculously easy for 4 players.  You could juggle a few variables to increase enemy numbers or cripple players weapons when in multiplayer to make it harder, but it would never be as good as a game specifically designed for a specific number of players IMO.

And do enough people really want 4-player local multiplayer (net play wont work) to make it worthwhile?  I'd personally target 2 players max as you'd end up with a much better balanced game.

All IMHO of course.  I'll stop now  :P


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 27, 2010, 12:48:48 PM
The different capabalities thing has had me wondering for a while...

It makes sense for me for the time being to focus on single player, get that nailed before I think about expanding a system that as of yet doesn't exsist...

Thanks again Fog! I'll do some work with the double shot just to see what things are like.

Oh and players have their own identifiable bullet pattenrs, so everything being fired from that player, belongs to that player now, so no score stealing.

I'm also thinking Pixel Art for this project, I needn't keep talking about it, if I don't actually get some done for a game ;)

I also tweaked the way the player plays too, instead of just having control for the X axis and autofire, I decided to add some more challenge and allow the player 180 degrees of rotational freedom for the arc of fire.

anyhoo, all opinions will be welcomed and taken into account,


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 28, 2010, 10:12:21 AM
Quote
Plus I'd imagine a lot of the design will be compromised if you allow for up to 4 players.  Either it's going to be ridiculously hard for a single player or ridiculously easy for 4 players.  You could juggle a few variables to increase enemy numbers or cripple players weapons when in multiplayer to make it harder, but it would never be as good as a game specifically designed for a specific number of players IMO.

One easy solution i'm thinking about doing, is simply to design the game for one player, and multiply the hitpoints of the enemies by the number of active players.

The challenge remains fairly consistant.

But of course, i'd like to throw in some additional content for the extra players too.


I'll also probably modify the bullet patterns or amount of bullets for different numbers of multiplayers.

But thats down to game balancing and playtesting.  Which is quite far down the road at present.

Game creation often involves testing an idea and discarding it if it doesnt work.  Theres alot of trial and error involved.

The beauty of creating a multiplayer game, is that you create a 1 player game, with the ability to allow other players to play as well.

I'm not creating a 4 player game.

But 4 games.

A 1 player game.
A 2 player game.
A 3 player game.
and a 4 player game.   ;D

TMC




Title: Re: JDog053 DevBlog
Post by: fog on January 28, 2010, 04:23:20 PM
Quote
Plus I'd imagine a lot of the design will be compromised if you allow for up to 4 players.  Either it's going to be ridiculously hard for a single player or ridiculously easy for 4 players.  You could juggle a few variables to increase enemy numbers or cripple players weapons when in multiplayer to make it harder, but it would never be as good as a game specifically designed for a specific number of players IMO.

One easy solution i'm thinking about doing, is simply to design the game for one player, and multiply the hitpoints of the enemies by the number of active players.

The challenge remains fairly consistant.
Yeah there are a number of seemingly simple solutions to the problem.  The main problem with increasing enemy hit points is that you could then easily end up with enemies that are now too tough to be killed by a single player in the limited time they are on screen.

But yes, that would certainly be better than leaving the game unaltered when increasing the number of players.


Game creation often involves testing an idea and discarding it if it doesnt work.  Theres alot of trial and error involved.
That filtering process is ultimately what makes or breaks a game and where a lot of devs go wrong IMO. More is certainly not better :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 28, 2010, 04:24:14 PM
wow, thats fairly brave!

Yeah, i'll be workiing solely on getting a single player game that woks and delivers all of the necessary shooting content a player needs in order to have a fun game,

I need to remember to keep it simple...enough ;)


Title: Re: JDog053 DevBlog
Post by: T_M_C on January 29, 2010, 09:42:08 AM
Quote
Yeah, i'll be workiing solely on getting a single player game that woks and delivers all of the necessary shooting content a player needs in order to have a fun game,

I need to remember to keep it simple...enough

Yeh, feature creep is a real killer.

And before you know it, you've got this monster game that doesn't stand a chance of ever getting written.

Thats why i get so annoyed at people who say they've designed this super uber game, with little consideration to the programming challenge thats involved, which utimately all ends up as just pie in the sky.   :P

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 31, 2010, 06:12:11 PM
since I cant settle on how I want the game to look, I thought i'd destract myself by coding some interesting enemy types, which is what i'm doing at the moment... i'll go ahead with the idea of swarm > boss+swarm > swarm > boss+swarm etc. as it gives me a clear direction to take my enemy designs (I hope).

thats my plan for this week, fingers crossed i'll have something to shoot by friday at the very minimum ;)

and the 180 degrees of shooting freedom seems like a great idea, i've been playing with it recently and it seems like i'm not just restricted to enemies flying above the player, but I can have enemies at ground level...

also at the moment it seems like i'm using a tank, but depending on whats decided that could quite easily change to anything at anytime, so i'm not getting attached to any ingame graphics or effects.


Title: Re: JDog053 DevBlog
Post by: fog on January 31, 2010, 06:44:46 PM
and the 180 degrees of shooting freedom seems like a great idea, i've been playing with it recently and it seems like i'm not just restricted to enemies flying above the player, but I can have enemies at ground level...
If you're still doing a vertical scroller then an often used enemy type is one that comes up behind you from the bottom of the screen.  If you plan on using that or anything that can attack the player from behind then I'd be tempted to look at 360 deg shooting instead of 180 degs as I could potentially see that 180 degree restriction causing a few frustrating deaths whn the gun doesn't move as far as the player hoped.

All guess work of course but maybe a point worth considering.....especially if there are no gameplay reasons for not allowing complete freedom :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on January 31, 2010, 07:12:39 PM
Yeah, I felt that too, thats why the player has full access to 360 degrees of freedom and is no longer a vertical scroling shooter, its a full arena shmup...

I will probably fluctuate again, but its unlikely... an arena shmup is what I like to play, I just need it to work properly ;)

at the moment though the code is dog awful, but i don't plan to optimise till much further down the line, I just want stuff that works...

i'm alse keen on the idea of a fixed weapon, where the only real worry is enemy progression... though i'm not sold on that idea at all... we'll see as time goes by.

Thanks for the sudden realism of clarity... and thanks that peeps are still reading when i'm burbling like this :D


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 01, 2010, 04:33:19 PM
I'm gonna change the order of a few slabs of code then i'll make good project development :D

Now i've got my weapon, and the player moving appropriately with full 360-ness its all about the enemies now. Not too sure what I want, but where better to start than the trusty bouncing box.

I was also thinking recently (this morning) that I would make a full scrollable arena shmup, as 1280x720 is a little small, so scrolling arena seems logical. The idea was that the arena walls instead of being uniform and boring, could be done in a variety of shapes like a large circle, an oval, a triangle and have enemies that respond differently, such as enemies which bounce off walls would move differently in different arenas, in the same vein that an enemy scared of walls would move differently. Arenas don't have to be uniform but they could have free form outer edges which are active and move, further disrupting enemies.

i'm just thinking at the moment, but it could or could not work. First things first, re-jumble the code, make a 2D camera and get a simple square working ;)

I also had an idea for weapons upgrades and how to go about it (with help from a Uni pal) where maybe after a wave of enemies, you have 5 seconds (or more) where the next weapon upgrade is, to decide to collect the powerup, if so everythings fine, if not then your multiplier increases due to a "challenge" rating.

i'll trial it out before I dismiss it, but if not then the player will have a fixed weapon (as its less work ;)).

Thanks for reading....


Title: Re: JDog053 DevBlog
Post by: fog on February 01, 2010, 06:17:20 PM
Yeah, I felt that too, thats why the player has full access to 360 degrees of freedom and is no longer a vertical scroling shooter, its a full arena shmup...
I didn't realise we were now an arena shmup.  I really must pay attention :)


Thanks for the sudden realism of clarity... and thanks that peeps are still reading when i'm burbling like this :D
Discussions are cool.  Even thinking about and commenting on your project has made me think about a few ideas I have for things too.  Everyone wins.


I was also thinking recently (this morning) that I would make a full scrollable arena shmup, as 1280x720 is a little small, so scrolling arena seems logical.
I knew you'd come to that conclusion eventually :)  Once you take into account the Title Safe Area you aren't left with much screen area at all.


i'm just thinking at the moment, but it could or could not work. First things first, re-jumble the code, make a 2D camera and get a simple square working ;)
A proper 2D camera system in XNA is easy if you use a transform martrix.  You get panning, rotation and zooming with a minimum of effort.  I'll post a snippet if you need it.


I also had an idea for weapons upgrades and how to go about it (with help from a Uni pal) where maybe after a wave of enemies, you have 5 seconds (or more) where the next weapon upgrade is, to decide to collect the powerup, if so everythings fine, if not then your multiplier increases due to a "challenge" rating.
I'm all for good risk/reward mechanisms so I like the sounds of that.


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 01, 2010, 07:14:44 PM
Yeah a snippet would be appreciated if possible Fog. Thanks

And yeah, due to title safe it really would be a small area of screen. Scrolling makes the most sense and allows for much more interesting ideas!


Title: Re: JDog053 DevBlog
Post by: fog on February 01, 2010, 07:47:35 PM
You may need to mess with the way the transform matrix to get the results you want.

Untested  :P
Code:
//Define some variables

Matrix transformMatrix;

Vector2 position = new Vector2();
float rotation = 0.0f;
float scale = 0.0f;


//IN YOUR UPDATE METHOD

//To move, rotate or scale camera just change these values.  eg:
position = player.position;
rotation = playerRotation;
scale = 1.0f;

//Update Transform Matrix (may need tweaking, hopefully not)
transformMatrix = Matrix.CreateTranslation(new Vector3(-position.X, -position.Y, 0))
                * Matrix.CreateScale(new Vector3((scale * scale * scale), (scale * scale * scale), 1.0f))
                * Matrix.CreateRotationZ(0 - rotation)
                * Matrix.CreateTranslation(new Vector3(GraphicsDeviceManager.PreferredBackBufferWidth/2,
                    GraphicsDeviceManager.PreferredBackBufferHeight/2, 0));


//IN YOUR DRAW METHOD

//Draw Sprites
spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.None, transformMatrix);

   //Every sprite you draw here will have the Transform Matrix applied to it.

spriteBatch.End()


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 02, 2010, 12:03:16 AM
Thanks for the code Fog, it seemed to work, the only problem being is you can't set it to Preffered Back buffers width, but to the old one, so I just input the numbers anyway and everything seemed to work. Ofcourse I can't properly test this if I don't draw other fixed stuff that doesn't move with the camera.

I was thinking though, would it also work if I had a "camera" object and had it focussed over the player, this being represented by offset values for the x and y. where only the camera moves relative to the players position and where everything else is unnafected... although unclear in text, i know how to do it.

i've just been sorting the player out and making sure everything is A OK, which is good. i'm now sorting out the bullet objects, since i'll be doing things the old way and not in a tiled sheet ;) which ironically is the old way :o

hopefully there will be some more useful screenshots on there way!


Title: Re: JDog053 DevBlog
Post by: Prime_8 on February 02, 2010, 02:39:30 AM
crazy been i bit since i have seen a code snip from Fog . LOL
 ;D


Title: Re: JDog053 DevBlog
Post by: T_M_C on February 02, 2010, 09:55:57 AM
Quote
I was also thinking recently (this morning) that I would make a full scrollable arena shmup, as 1280x720 is a little small, so scrolling arena seems logical. The idea was that the arena walls instead of being uniform and boring, could be done in a variety of shapes like a large circle, an oval, a triangle and have enemies that respond differently, such as enemies which bounce off walls would move differently in different arenas, in the same vein that an enemy scared of walls would move differently. Arenas don't have to be uniform but they could have free form outer edges which are active and move, further disrupting enemies.

I like the idea of a non uniform play area.

That and a scrolling level has lots of possibilities.   ;D


TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 02, 2010, 10:46:26 AM
I'm not stealing your ideas, honest ;) But yeah, it sure does seem like a logical step to take.

I was thinking aswell of further complicating the freeform arena style with having the walls on the outer edge of the play area being moveable, with much the effect of a soft body. I was more thinking along the lines of the distortion effects on the Mono background but being the arena walls. So what may start out as a simple square for say Wave 1 may end up a jagged edged diamond by Wave 10 and a freeform mexican wave thats rippling by stage 20 and so on. All from the same original level design...

The reason I was thinking this is because I may be able to come up with good enemy designs, but I could probably design better more interesting levels, which make the enemies act differently...

I am only really doing the whole project as a mini game too, so its not gonna be a fully fledged game, by no stretch of the imagination. A simple 5 minute blast 'em up. I've also decided that for ease of coding i'll be doing a regenerating health system, so as you get hit your health starts to slowly regenerate getting you back into the fight.

I'm having alot of fun coding at the moment also, it feels good having something that works as it should do so early in development!


Title: Re: JDog053 DevBlog
Post by: fog on February 02, 2010, 03:40:06 PM
I was thinking aswell of further complicating the freeform arena style with having the walls on the outer edge of the play area being moveable, with much the effect of a soft body.
Although Tension isn't an arena shmup, the levels are exactly like that and look really cool.  I should upload a video some time.

If you do go down that route then be prepared for some seriously interesting collision problems :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 02, 2010, 05:02:41 PM
Hmmm, just when i'm on the verge of something original... ;) Yeah, I was hoping for line collision, if i'm right it could work? but yeah, it will be alot of checks though, but if it proves to have different gameplay experiences with the levels in different forms, but the same enemies i'll be very happy!

And yeah, I would love to see anything from Tension, haven't heard anything about that game since about 2007! I sure have stuck around though, what  agreat forum/community you have here!

EDIT: I was alo wondering, how would I get the player ship to retain the angle it had from the previous loop instead of INSTANTLy referring to 0 degrees. because it doesn't look natural otherwise :( and in the same vein, any idea how I could refine it to only start shooting if the player uses the right stick, otherwise it looks a litte off.

Help will be much appreciated... here's my code

Code:

        Vector2 Product;
        Product.X = GamePad.GetState(PlayerIndex.One, GamePadDeadZone.Circular).ThumbSticks.Right.X;
        Product.Y = GamePad.GetState(PlayerIndex.One, GamePadDeadZone.Circular).ThumbSticks.Right.Y;
        player1.Rotation = (float)Math.Atan2(-Product.Y, Product.X);
        Angle = (float)ToDeg(player1.Rotation);

        BulletCreation(player1, player1.Position.X, player1.Position.Y, Angle, 10);
        BulletCreation(player1, player1.Position.X, player1.Position.Y, Angle + 5, 10);
        BulletCreation(player1, player1.Position.X, player1.Position.Y, Angle - 5, 10);



Title: Re: JDog053 DevBlog
Post by: fog on February 02, 2010, 10:27:12 PM
And yeah, I would love to see anything from Tension, haven't heard anything about that game since about 2007! I sure have stuck around though, what  agreat forum/community you have here!
:)  The DBPro demo proved the idea works so yeah, Tension is still on the list of games I'll complete one day.  


EDIT: I was alo wondering, how would I get the player ship to retain the angle it had from the previous loop instead of INSTANTLy referring to 0 degrees. because it doesn't look natural otherwise :( and in the same vein, any idea how I could refine it to only start shooting if the player uses the right stick, otherwise it looks a litte off.
If I understand your problem right then what you need to do is only use the Rightstick values if the stick is moved more than a certain amount.  Reading the length of your Product vector will tell you how far the stick has moved.

Something like:
Code:

Vector2 Product;
Product.X = GamePad.GetState(PlayerIndex.One, GamePadDeadZone.Circular).ThumbSticks.Right.X;
Product.Y = GamePad.GetState(PlayerIndex.One, GamePadDeadZone.Circular).ThumbSticks.Right.Y;

//Tweak this value to get the desired effect
if(Product.Length > 0.5f)
{
        player1.Rotation = (float)Math.Atan2(-Product.Y, Product.X);
        Angle = (float)ToDeg(player1.Rotation);

        BulletCreation(player1, player1.Position.X, player1.Position.Y, Angle, 10);
        BulletCreation(player1, player1.Position.X, player1.Position.Y, Angle + 5, 10);
        BulletCreation(player1, player1.Position.X, player1.Position.Y, Angle - 5, 10);
}


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 02, 2010, 11:51:56 PM
Is the solution really that simple! Wow I need another coder on my team, or another pair of eyes ;) Thanks again Fog. Ofcourse, i'll just give it a test now and see if it works (I don't doubt it either!).


Title: Re: JDog053 DevBlog
Post by: T_M_C on February 03, 2010, 10:07:26 AM
Quote
I was thinking aswell of further complicating the freeform arena style with having the walls on the outer edge of the play area being moveable, with much the effect of a soft body. I was more thinking along the lines of the distortion effects on the Mono background but being the arena walls. So what may start out as a simple square for say Wave 1 may end up a jagged edged diamond by Wave 10 and a freeform mexican wave thats rippling by stage 20 and so on. All from the same original level design...

What a great idea.  I can see that throwing up all sorts of interesting gameplay mechanics.

Looks like Fog beat you to it though with Tension.

I'd love to see a video of that too.  I've only a vague idea of how it plays.


It's also great to hear you're really enjoying coding.
I tend to code like crazy when i'm enjoying it and usually get alot of work done.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 03, 2010, 01:55:08 PM
Shame about ol' Fog beating me to it, though he could and probably has done a better version of it then I was going to...

I've done a minor fix to the game, I was sick of the player travelling faster than the bullets, so I added the Velocity.Length to the bullets speed, now theres no more out pacing of the bullets ;) as much.

I'm now in the process of drawing some super simple test (splitter) enemies, alot like asteroids...just so I can start shooting and killing stuff... then i'll balance the players gun.


Title: Re: JDog053 DevBlog
Post by: fog on February 03, 2010, 09:29:09 PM
Shame about ol' Fog beating me to it, though he could and probably has done a better version of it then I was going to...
lol.  Go for it man.  It will look great.


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 04, 2010, 12:06:27 AM
Thanks for the blessing Fog, who knows it may end up different to what you've done!

I was thinking (whilst having a bath ;)) about the enemies n the simple terraforming game and how simple they should or shouldn't be.

I'll probably be doing some simple circle enemies but just giving them different attributes, the only thing remaining constant is the size (though that will probably change no doubt). So i'd edit stuff like speed, whether they do or don't collide together, if they are affected by gravity (and how so) if they're got spin in any direction making for interesting movement, if they dodge player bullets, if they are drawn to the players position (in an orbit fashion). And there behaviours are also affected by the way the level is layed out...

If not I was going to have a  varety of level behaviours and just keep the enemies as simple circles, and let them react to what the levels doing, rotating, jagged shapes, differing sources of gravity, growing shrinking etc.

Now my only fear is that i've come up with alot of ideas so what I need to do is narrow them down to ones that can definately happen and others that probably won't (for this project?) and stuff.

I was wondering though, how do you save your graphics files, as a .gif/.jpeg/.png/.svg ? I was thinking of drawing them in the vector graphics format then saving them as .png.


Title: Re: JDog053 DevBlog
Post by: T_M_C on February 04, 2010, 09:45:01 AM
Quote
I've done a minor fix to the game, I was sick of the player travelling faster than the bullets, so I added the Velocity.Length to the bullets speed, now theres no more out pacing of the bullets  as much.

Hmm.  My players can outrun their bullets too.   ::)

I'll try your technique and see how it looks.   ;D



Title: Re: JDog053 DevBlog
Post by: T_M_C on February 04, 2010, 09:54:38 AM
Quote
I was wondering though, how do you save your graphics files, as a .gif/.jpeg/.png/.svg ? I was thinking of drawing them in the vector graphics format then saving them as .png.

Well, for me, i use bitmaps in .tga format as my prefered image format.  Tga and PNG's allow for an alpha transparency layer as well as the image.

Jpg's are lossy compression, meaning they lose data from the original image format.

In pratical terms this means jpg's are useless for anything that requires a smooth edge to any image and they don't support alpha layers either.

But, on the plus side.  Jpg's are super small file sizes.  So, if you have an image, usualy square and it doesn't matetr about any crisp edges then jpg's are a great option.

Bmp's are great also, but don't support an apha layer.  They are lossless, meaning you don't lose any image data in this format.

On the downside, they usually end up as large file sizes.

My advice is to go for PNG or TGA as your main image format.  They both support alpha layers, are lossless and widely supported by art packages like photoshop and paintshop pro.

I Also always like to save a generation of sequences as backups.

For instance.  My background scenery neon vectors started out as simple line drawings, then were modified and colored and cropped until they were the final images you see in game.

I like to back up all the images at each major stage or change.

This way, if you make an error in the final image, or some future change is needed, then you can easily go back to whatever stage is required and make the changes.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on February 04, 2010, 12:12:08 PM
If not I was going to have a  varety of level behaviours and just keep the enemies as simple circles, and let them react to what the levels doing, rotating, jagged shapes, differing sources of gravity, growing shrinking etc.
In Tension I have  "world" system.  Each world has it's own gravity strength, level rebound etrength etc. (I'm sure it's detailed properly somewhere in The Bog thread :) ) and the user can play any of the games levels using any of these world settings and the different gravity etc does make a huge difference to the way the levels play.  It's an easy way to bump up the level count with a minimum of effort.

Anyway based on that I'd say keeping the enemies simple and instead having interesting level designs would work well.  Tension has 10 different enemy types, but they are all essentially just bouncy circles.

And now I promise not to mention Tension in this thread ever again ;)



I was wondering though, how do you save your graphics files, as a .gif/.jpeg/.png/.svg ? I was thinking of drawing them in the vector graphics format then saving them as .png.
PNG's every time for me.


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 04, 2010, 04:25:26 PM
Thanks! Yeah i'll have just the main type of enemy as a ball, an have the level be the defining factor.

And yeah .png it will be!


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 05, 2010, 11:38:27 AM
I'm still in a state of flux at the moment, I just need to refactor most of my code, and get more comfortable with how its written before I get further on in the project. Thats what i'll be doing today.


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 06, 2010, 11:53:45 AM
Code refactoring almost complete. I've decided instead of making specific Enemy, Player, Bullet and Particle classes, I'll just have a generic Sprite Class that i'll import from project to project, where i'll than add any game specific variables to the Sprite definition, meaning its possible to have anything with any other behaviour. Not that clever to do but it means less classes and I can focus more on getting the right stuff in the right places.

I'm at the point in development where I need to add graphics, luckily I remembered about Flash so i'll be vectorising some stuff in the near future ready for use in the game.

I'm still not too sure how I want it to look but I have made a "design" decision that the player ship will indeed look like a rudamentry vectorised ship. I'm also planning independant rotation from the bullets firing to where the ship is facing, which will allow me to have a neat particle trail spawning from the rear of the ship.

The only downside of this however is, I doubt i can get away with simple looking enemies (overly simple, say a circle for example ;)) if i'm having a semi-ship shaped ship...

Which is why i'm back designing my first boss again and a simple swarm enemy type.

For the reason of line intersect collision and simplification, i'll put the other game on hold which would be the freeform level against the player with a simple enemy, and have a simple space shooter in freeform space...

screenshots will be coming soon, you have my word!


Title: Re: JDog053 DevBlog
Post by: T_M_C on February 08, 2010, 09:50:36 AM
Again i'm at a similar point to you.

Thinking about what enemies to start designing.

I doub't i'll be animating them.  They'll probably be single image geometric shapes with motion blur.

Unless i have a flash of inspiration that is.   ::)

TMC


Title: Re: JDog053 DevBlog
Post by: fog on February 08, 2010, 05:42:05 PM
I doub't i'll be animating them.  They'll probably be single image geometric shapes with motion blur.

Unless i have a flash of inspiration that is.   ::)
Well there are times when simple geometric shapes are the right thing to do and IMO with vector based stuff you can get away with it.  Well that's my excuse for continually using them anyway  :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on February 09, 2010, 09:56:03 AM
Quote
Well there are times when simple geometric shapes are the right thing to do and IMO with vector based stuff you can get away with it.  Well that's my excuse for continually using them anyway

Yeh,  i think games such as Echoes and Geometry Wars show that simple vector shapes work really well in the context of a vector game.   :D

Also, looking at the game Gravity Crash, that game shows that mixed vectors and bitmaps also works really well.

I'm experimenting putting small bitmaps over my vector landscape.  Bitmap bushes and trees for exmple.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on February 09, 2010, 11:51:01 AM
I'm experimenting putting small bitmaps over my vector landscape.  Bitmap bushes and trees for exmple.
That sounds like it could add a nice twist to the usual vector based stuff which doesn't tend to have small details like that.



Title: Re: JDog053 DevBlog
Post by: JDog053 on February 11, 2010, 05:49:50 PM
I've been doing small fixes on the game here and there. I'm at the point where I can finally impliment the 2D camera like before as its what this game needs at this point in time, as the screen resolution just doesn't make it big enough.... So i'll ty it with my every object is placed in the scene but is offset by the players velocity, if not i'll use Fogs matrix code but tweak it to my preferences.

At the moment i'm primarily doing some coureswork which is writing a fully 3D plinko application to test probability...


Title: Re: JDog053 DevBlog
Post by: T_M_C on February 12, 2010, 10:16:04 AM
Quote
At the moment i'm primarily doing some coureswork which is writing a fully 3D plinko application to test probability...
   :o

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 12, 2010, 01:20:14 PM
Quote
At the moment i'm primarily doing some coureswork which is writing a fully 3D plinko application to test probability...
   :o

TMC

Its just simple 3D physics, checking collisions between Pegs and working out the directional vectors, for extra marks I have to add 3 cameras and multiple balls, which can collide together. Its easier than it sounds is all i'm saying ;) Coded with C# and OpenGL. I have to code it from scratch too so its not like i'm using an editor or anything....

As for the game i'm still experimenting here and there with whats available and what I can do with stuff... After all this talk of multiple scrolling cameras and stuff, i'm getting a little bog down, so I might just attempt to do it as a fixed screen game and if it doesn't work expand it into a scrolling arena at a later date. In the long run i'm doing as much work, but its easier in the early stages.

One of the minor fixes i've done is instead of the bulletsspawning on the players centre like before, they spawn just outside of the players boundary, a minor fix but it works!


Title: Re: JDog053 DevBlog
Post by: fog on February 12, 2010, 07:40:32 PM
Its just simple 3D physics, checking collisions between Pegs and working out the directional vectors, for extra marks I have to add 3 cameras and multiple balls, which can collide together.
Make a 3D Peggle.  You'll be rich! :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 13, 2010, 02:01:38 AM
I'd only do that if I can change it enough to b satisfied that I wasn't lifting an interesting idea... Can't think of what i'd do to it if it were to change... so its not gonna happen as of yet ;)

1 game at a time and its this shmup of mine...

Though saying that, the more I mess around with stuff the more I wanna try out. I still need to get those screenshots out there...


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 17, 2010, 09:36:49 AM
Update

Still no screenshots as of yet (decent screenshots with anything worth seeing).

At the moment i'm working on a little test (its in synchronus with the XNA_Shmup project) which is making a proper 2D camera system that doesn't use the Matrix3 command. This way i'll know my system throughout and if anything I make it just as useful whilst gaining programming experience. The reason i'm doing it this way is to make it alot like the 3D system i'm using in OpenGL.

When this systems added i'll probably be doing a larger than the screen arena (which is necessary due to the small resolution). I'm undecided as of yet whether or not to have arena boundaries or just apply a slight pull factor for the player keeping it within a rough expanse... all this stuff i'll need to test as time goes by.

Although the list of things done are alright compared to my previous attempt at a shmup project ;).

I've just about finished the code refactoring for the project though these projects sure can grow in size on a guy! Anyhoo, i'm done for this micro update/rant.


Title: Re: JDog053 DevBlog
Post by: T_M_C on February 17, 2010, 09:58:36 AM
Quote
these projects sure can grow in size on a guy! Anyhoo

Yup.  Been there.

Good to hear your still plugging away.   ;D

A camera system isn't hard at all.  It's just an x,y offset you draw your images at.  Add camera position to image world position and draw.

And if you want parallax, you can multiply your cameras position by some fractional amount to get the final image position.

But, as you say XNA has the class already written for you.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on February 17, 2010, 11:07:03 PM
At the moment i'm working on a little test (its in synchronus with the XNA_Shmup project) which is making a proper 2D camera system that doesn't use the Matrix3 command. This way i'll know my system throughout and if anything I make it just as useful whilst gaining programming experience. The reason i'm doing it this way is to make it alot like the 3D system i'm using in OpenGL.
Writing your own camera system as a learning experience is a good idea.  That's what I did previously in DBPro and it's relatively simple but can give cool effects. :)

Once you've done that I wouldn't discount the XNA matrix based one totallhy.  As Masked says, a camera that pans is easily done by adjusting the x/y values, but add rotation and the ability to scale and thats a lot of additional maths you need to do.  Apply that to a few thousand particles etc and that's quite demanding.

 


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 18, 2010, 12:11:41 AM
Oh, I won't be discounting it completely, i'm primarily doint it as a learning experience. Rotation for this point in the game is far too much additional maths, whereas scaling and position should be fairly straight forward.

If the camera doesn't suit my needs however for later projects, it would be upgraded with respect the matrix object if thats what the project demands.

I'm still unsure exactly what this shmup needs anyway ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 26, 2010, 12:21:03 PM
Update...

The shmup now has an idea that i'll be running by you all. So here goes....

Your ship has to fly through the trail of a comet and destroy the comet centre.
As the player flies through the trail they will have to avoid debris.
When the player makes it to the head they will have to destroy the comet.

Thats the basic idea anyway.

I imagine that going against the head of the comet being very similar to Binary Zoos immensly successful mini game Crack!

This is also designed primarily as a mini game. All feedback welcomed. Thanks Fog ;)


Title: Re: JDog053 DevBlog
Post by: Prime_8 on February 26, 2010, 04:35:23 PM
cool it would work well in 3d too IMO. good idea .


Title: Re: JDog053 DevBlog
Post by: fog on February 26, 2010, 07:44:22 PM
Nice one JDog.

Looking forward to see what Crack could have been if I'd done it properly :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on February 27, 2010, 10:13:41 AM
Yeh, i agree.

Great idea.   ;D

I can see plenty of oppertunity to use particle effects too.

Look forward to seeing what you come up with.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on February 27, 2010, 02:08:06 PM
Thanks guys!

Now to make it happen!


Title: Re: JDog053 DevBlog
Post by: Prime_8 on February 28, 2010, 12:37:30 AM
yeah it's that last step that is the killer.

but realy teh hardest is having a gameable idea . somthing worth playing .  sound slike you have that to start form .


Title: Re: JDog053 DevBlog
Post by: fog on March 01, 2010, 05:49:17 PM
yeah it's that last step that is the killer.

but realy teh hardest is having a gameable idea . somthing worth playing .  sound slike you have that to start form .
That's the secret isn't it.  You have to write something that you want to play if you're going to maintain motivation and do the design justice.  Too many people try to write games they think others want to play and that usually shows in the obvious lack of love in the finished project.....assuming they ever finish :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 05, 2010, 09:55:31 PM
Uni is falling on me like a ton of bricks.... I've now been set 3 of my 5 pieces of CWK.

3D game in OpenGL/C++
AI in Prolog
and Networking in C#...

But this has allowed me to tinker and think for a while. And i've modified my old XNA tank controls into Car controls, so i've just been messing around driving a car texture around a blue screen :) which is quite fun.

As for the comet game, don't consider it scrapped (by any stretch of the imagination) just consider it on the backburner, as its a tricky game to manage ideas for.

At the moment its on the heap with Fireworks (except the comet game isn't playable) other than a moveable player ship which controls much like Geowars...

So while i'm doing this CWK, consider me busy coding, but not on games sadly :(


Title: Re: JDog053 DevBlog
Post by: T_M_C on March 06, 2010, 09:44:53 AM
Sounds like they've got you really busy.

I suppose Uni has to take priority, unfortunately.

I've just been reading a really interesting article in Retro Gamer with David Braben.  The co creator of the famouse space trading game Elite.

And it turns out he was writing the game whilst doing his studies at cambridge Uni.  So, he was in the same position you are now.

And now he runs a super succesfull games development business and is quite famous to boot.   ;D

TMC


Title: Re: JDog053 DevBlog
Post by: fog on March 06, 2010, 10:25:07 AM
I know how you feel JDog.  I've done hardly any coding since Christmas due to real work and illness.  It's not the first time other things have put a temporary hold on development though and it wont be the last so I'm just using the time as valuable thinking and design time.

And for all those times we struggle for motivation, it's only when you have an enforced break that you realise how much you really enjoy it.  :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 11, 2010, 08:24:14 PM
Update

Coursework is in full flow at the moment. I'm prioritizing my 3D with OpenGL and my Prolog AI coursework for the time being.

Though making such headway has really allowed me to think about what i'm doing and to see if I can use some of what i'm doing to make better games.

So I started work on a rudementry 3D system in XNA with much success, its a simple 3D model class and a 3D camera class. Now these classes which are very useful for 3D games can be infinitely useful in 2D games, as the 3D camera can be perfectly suited to 2D space by limiting the axis of movement.

Though saying that, aswell as being interested in 2D game development, 3D is now an option. I'm very tempted to translate my 2D car driving code into 3D and drive around a primitive cube. Then using Blender i'll be making some car models.

My 2D shmup engine will be incorporated with this 3D engine to allow me to use this camera functionality. So effectively with all my camera nonsense out of the way I can think more about my comet chaser game and how to succesfully do it better.

I'll keep you all posted, next up will be screenshots!


Title: Re: JDog053 DevBlog
Post by: Prime_8 on March 11, 2010, 11:47:49 PM
hey if you ever need something knocked out mesh wise  just ask . .  ( may not be over night but depending on level of detail you need ,, )

here is a concept i did for my own projeck . (2 day mesh) (+2 for tweeking game mode)


Title: Re: JDog053 DevBlog
Post by: T_M_C on March 12, 2010, 09:58:48 AM
Quote
here is a concept i did for my own projeck . (2 day mesh) (+2 for tweeking game mode)
    :o

Wow, if only i had that artistic ability.



Quote
Coursework is in full flow at the moment. I'm prioritizing my 3D with OpenGL and my Prolog AI coursework for the time being.

Though making such headway has really allowed me to think about what i'm doing and to see if I can use some of what i'm doing to make better games.

So I started work on a rudementry 3D system in XNA with much success, its a simple 3D model class and a 3D camera class. Now these classes which are very useful for 3D games can be infinitely useful in 2D games, as the 3D camera can be perfectly suited to 2D space by limiting the axis of movement.

Though saying that, aswell as being interested in 2D game development, 3D is now an option. I'm very tempted to translate my 2D car driving code into 3D and drive around a primitive cube. Then using Blender i'll be making some car models.

My 2D shmup engine will be incorporated with this 3D engine to allow me to use this camera functionality. So effectively with all my camera nonsense out of the way I can think more about my comet chaser game and how to succesfully do it better.

I'll keep you all posted, next up will be screenshots!


Sounds like your learning aload more useful skills.

If your well versed in 2d then moving into 3d isn't that hard at all.

And like you say, 3d opens up the possibility of creating 2d games with all the advantages a 3d system brings.

Sounds like your as busy as i am on the coding front.    ;D

TMC


Title: Re: JDog053 DevBlog
Post by: fog on March 12, 2010, 10:58:03 PM
Lovely mesh that Prime8 :)

Though saying that, aswell as being interested in 2D game development, 3D is now an option. I'm very tempted to translate my 2D car driving code into 3D and drive around a primitive cube. Then using Blender i'll be making some car models.
I've often thought of changing to a 3D engine while sticking to 2D gameplay....then realised I couldn't be arsed.  :bunnymonkey:


Title: Re: JDog053 DevBlog
Post by: T_M_C on March 13, 2010, 10:06:39 AM
Quote
I've often thought of changing to a 3D engine while sticking to 2D gameplay....then realised I couldn't be arsed.

lol.


Yeh, i just remembered, my Auto Cross Racing was all written in 3d.  But viewed from above, giving a strictly 2d view.

Worked really well.

TMC


Title: Re: JDog053 DevBlog
Post by: Prime_8 on March 13, 2010, 02:04:19 PM
3d view of a 2d game play is very cool .  again it's all down to the  need of the game . eye candy is nice , but game suffers if it distorts ot if the FX dictate game limits .


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 13, 2010, 08:45:04 PM
The only reason i'm doing it in this much longer more verbose way is it will give me alot more options in the long run, which should allow me to produce better games.

I'm also getting better at using blender ;)

As I said, you'll be seeing some stuff in the near future. Its my Drive to complete this project.


Title: Re: JDog053 DevBlog
Post by: Prime_8 on March 14, 2010, 08:16:19 AM
cool.

blender is kick but if you know python .. there is a game engine built into blender.


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 26, 2010, 01:46:33 AM
Sorry for no updates in age guys ;)

Anyhoo (sadly no screenshots of anything as of yet as it wouldn't be interesting)., i've been working on CWK as expected aswell as a little on my 3D project.

XNA

I mentioned before about doing the entire world for a 2D arena shmup (sidescroller etc) in 3d but only using it primarily for 2D games (in the same vein as TMC's AutoCross racing), well its going together surprisingly easier than i'd thought. The only potential problems ATM are multiple 3D cameras (Split screen) and over live (Networking). Although for Single player games, or all on 1 screen Multiplayer games, I should be absolutely fine!

I've also been dabbling and learning how to make simple meshes in Blender with mixed results, which means I should be alright as far as getting graphics upis concerned, whether they are final graphics or not isn't really a concern ATM. Now i'm by no means making any firm decisions about how this project (over the year) is going to progress or develop.

As you all know I came up with an idea for a Comet chaser style game that I plan to develop at some time its just I can't think of what the game properly needs as of yet, though i'm sure with time that'll click.

I am however thinking of doing a 3D/2D project in the vein of Autocross Racing but take it in another direction. When I say this I mean instead of just cars i'll try and have a nice cross section of vehicles / types of races such as Cars / Boats and Aircraft. Now another very tempting possibility at this stage is, since I have a 3D camera working a treat theres no real reason in keeping it in a 2D plane if i'm going to the effort of making 3D models, well....then you'd be right! Which is why I may aswell do it as a 3D game. I will and can quite easily have many camera options, meaning that theres no reason the player couldn't have the top down camera view as originally intended!

So thats the plan for the time being. To be faithful to my 2D routes (and as an ode to my sucky artistry ability) it will be very low poly 3D and will use old style Mario art esque backgrounds but with parrallax instead of a sky sphere which is something i've always hated..

iPhone

And because I have recently learnt C++ and OpenGL i've started to do some research and the iPhone development model seemsto suit the kinds of things i'd be interested in, small fun 5 minute time waster apps with mass market appel. This is a longshot though.

thats it for now guys ;) hope I didnt bore you guys too much.


Title: Re: JDog053 DevBlog
Post by: T_M_C on March 26, 2010, 10:53:20 AM
Cool.

So you're moving into 3d now then.   ;D

If you want to make a car game in 3d, then i highy reccomend using a 3rd party physics engine.
Or infact, any type of 3d game will benefit hugely from using one.

This will allow you to create vehicles which behave pretty decently and solve all of your 3d collision issues.  Which can be a bit of a nightmare to do otherwise.

It may take a while to learn how to implement one, but once you get the hang of it they open up alot of possibilities and they arn't that difficult to use.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on March 26, 2010, 06:14:51 PM
Good to hear you're still plugging away JDog and not just playing Blur ;)

iPhone

And because I have recently learnt C++ and OpenGL i've started to do some research and the iPhone development model seemsto suit the kinds of things i'd be interested in, small fun 5 minute time waster apps with mass market appel. This is a longshot though.
Have you thought about Windows 7 Mobile then?  That is suitable for "small fun 5 minute time waster apps with mass market appel" but it uses XNA so you can use a lot of your existing code library.  It's highly debatable how big the W7M market might be in comparison to the iPhones, but for minimal extra effort it might be worth a look.
 
In my case 1982 seems as though it would be perfectly playable on a mobile (unlike E+) so I'll probably end up with an XBox, PC and Mobile version of that, all pretty much from the same code.


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 27, 2010, 01:32:34 AM
I meant "appeal" but thats also a great idea Fog, I see no reason why that shouldn't be an option ) Is it to be coded in C#/XNA?


Title: Re: JDog053 DevBlog
Post by: fog on March 28, 2010, 03:50:59 PM
I meant "appeal" but thats also a great idea Fog, I see no reason why that shouldn't be an option ) Is it to be coded in C#/XNA?
Yup W7M supports C# & XNA so your existing XNA code will work fine :)

The vast majority of your code will work for all 3 versions (PC, 360 & Mobile) with the only major difference being implementing different controls.


Title: Re: JDog053 DevBlog
Post by: Prime_8 on March 29, 2010, 02:41:48 AM
does XNA support or other way round BulletPhysics ?

hm it's a good physics system.


Title: Re: JDog053 DevBlog
Post by: fog on March 29, 2010, 06:30:11 PM
does XNA support or other way round BulletPhysics ?

hm it's a good physics system.
Yeah there's a version of Bullet Physics for XNA.  Never heard of it TBH, but I've looked at other physics engines in XNA.


Title: Re: JDog053 DevBlog
Post by: Prime_8 on March 29, 2010, 10:45:32 PM
Bullet is what wa suse din teh movie 2012 .
and sony uses it on PS3


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 30, 2010, 10:35:41 PM
I'm now also very interested in Windows Phone development, as a student I don't need to pay the 60 to publish my games on the service, so i'll try and get a simple game created for use on the Phone.

Is VS 2010 available to download as the deadline is getting quite nearby for that competition?

As for the game i'll be producing for the phone, I have a feeling that a Fireworks style game could be quite good... i'd be very tempted to make it just hit the patterns, closest to the centre of the circles means more points, circles may even be numbered to add further challenges???

If not, me and my other team member suggested making a virtual thumbstick (or two ;)) and maybe making a simple twin stick shooter.

Anyhoo, thanks for the link as the Windows phone seems like the perfect stepping stone between 360, Phone/iPhone. Afterall my challenge was just to get a game released this year, which is still highly possible ;)

just doing a ton of cwk at the moment.


Title: Re: JDog053 DevBlog
Post by: T_M_C on March 31, 2010, 09:43:36 AM
I don't want to put a downer on things, but if you keep constantly switching projects, you'll never get a game done.

If you choose phone development, then please stick with it.

We never seem to get a chance to see or critique any of your work.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on March 31, 2010, 05:14:52 PM
EDIT: No matter how much it sounds like i'm getting at you, i'm realy not and I apologise if you take any offense from the way it is written as its not my intention and never would be.

Good point  :-X

As for the project, to stop it from escalating into an unmanageable size and force me to focus, the Windows Phone competition which is being done in association with my Uni (deadline May 24th) seems like an excellent reason to get a project done. Which is why the project that I was (and still am) doing (a twin stick shooter) could easily (if the Windows phone is dual touch) be transferred to that platform. Otherwise, i'll continue working on my 360 project, and do something much smaller scale for the Windows phone using its technology.

I do understand your concern though, Its very easy for people to say they've been doing alot of work without actually showing anything and I do apologise for that, which will be adressed when the vast majority of my CWK is out of the way, or when there is actually something worth showing. At the moment my TSS, is only giving readouts of Angles of both Sticks, Bullet Counts and other debugging tools, since at the moment I can't thnk of how to properly implement the Comet Game which was my original intention, however to make it a more immersive game I had to make a camera (which Fog kindly provided some Matrix code for a 2D camera) but I decided to do it my own way, and I decided that making it a 3D project would be easier as far as camera management is concerned giving me some extra freedom and maybe opening up some new effects. At the moment i'm at the stage of making everything work with primitive 3D objects, which is the last I did on the main project this year. The reason I was reffering to a driving game (which is something i'm interested in) was mentioned because I already have the code for a 2D car and with the introduction of a 3D camera made a 3D driving game a possibility. As for the Fireworks project (I already coded it in Flash, this would require minor porting as I have a 2D particle system coded).

I am guilty for taking on a lot of projects. I'll stick to purely the TSS for the Xbox, doing my CWK and thinking about much much smaller scale Windows Phone game (since all my XNA code can be transferred immediately withut re-coding). Thanks for watching my back anyhoo.


Title: Re: JDog053 DevBlog
Post by: fog on April 01, 2010, 11:27:46 AM
Anyhoo, thanks for the link as the Windows phone seems like the perfect stepping stone between 360, Phone/iPhone. Afterall my challenge was just to get a game released this year, which is still highly possible ;)
Yeah W7M seems like a sensible platform to target for me too considering the relatively small extra effort needed if you already have some XNA code.


If not, me and my other team member suggested making a virtual thumbstick (or two ;)) and maybe making a simple twin stick shooter.
You do realise that if you do that I'll never be able to speak to you again. ;)  Sorry, it's just that having played a bunch of games on the iPhone that use virtual thumbsticks it's become one of my pet hates and the main reason I don't plan on porting E+ to Mobile in it's current form.

Virtual controls are great in theory, but in my experience with the iPhone they don't work.  You could always prove me wrong of course. :)


I am guilty for taking on a lot of projects. I'll stick to purely the TSS for the Xbox, doing my CWK and thinking about much much smaller scale Windows Phone game (since all my XNA code can be transferred immediately withut re-coding). Thanks for watching my back anyhoo.
The way I see it is that as long as you're still coding and enjoying it then I wouldn't stress too much.

Sure we'd all love to see you stick with something and complete it, but I'd hate for you to force yourself to finish a project and end up hating it.

I think when you're no longer coding at college/Uni and you can concentrate on just doing it as a hobby then you'll make more progress. :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 01, 2010, 04:33:58 PM
I do completely agree with the idea of sticking with a project though, as I do seem notorious for changing my mind continuously and I do apologise for constatly flitting. I do however believe that when the Summer comes around all exams/CWK are out of the way it'll be easier to concentrate.

As for virtual controls, i've never actually tried it before, which is why I thought it'd work. Ofcourse field testing seems to have disproven that (Thanks Fog ;)). I might still try it though, but its an idea i'd be happy to purge if it doesn't work.

I do like W7M though as it could be my ace in the whole, the perfect middle ground from my routes in Flash to my aim for the 360. 5 minute Time waster games seems like something i'd like to be a part of.

Here's what i'm doing ATM and the vast majority of it is CWK ;)

CWK:
Networking (Server, Client)
Prolog (Natural Language Parser)
3D (Plinko Physics Demo)
Group Work (as yet unset)
C++ (Algorithms and Sorting)

Own Projects
Xbox360/PC Game (Twin Stick Shooter, on Hold ATM)
3D Game project (most probably Driving, though put on hold ATM)
Fireworks (Flash Game, on Hold ATM)
Mania (Flash Game, could easily be my TSS for 360, with a bit of work)
W7M Game (No idea, haven't started it, but it has to be done by May 24th if I do it).

So yeah, alot on my plate though not really, since i'm not doing them all at once. Thats also a complete list of games as mentioned in this thread that i'm working on, except for the unanounced game that me and my group started work on ages ago, which is only the ideas stage.


Title: Re: JDog053 DevBlog
Post by: fog on April 05, 2010, 11:06:50 AM
As for virtual controls, i've never actually tried it before, which is why I thought it'd work. Ofcourse field testing seems to have disproven that (Thanks Fog ;)). I might still try it though, but its an idea i'd be happy to purge if it doesn't work.
Well that's just my opinion.  I'm sure a lot of casual (gah) gamers don't really care as much about slightly inaccurate or fiddly controls as us hardcore (ahhhhhhh) gamers do.


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 06, 2010, 04:20:06 PM
After seeing Geometry Wars Touch on the iPad I can see where you are coming from, looks a bit clunky.

I've been progressing with my Prolog AI CWK. All thats left for me to do on it, is to correctly categorise the words in the sentence when they are read in, and formulate a response to the sentence the user typed in and i'm done ;) sort of.


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 09, 2010, 09:18:17 PM
Networking CWK coming to a conclusion, due in on Tuesday.

I'm currently on the scrounge for some placeholder graphics for this Windows Phone project (afterall, can't make a game without graphics, even placeholders). As for the game itself, still at a loss for ideas, as is the rest of the team (its basically an extra curricular uni project, and RSM is our mentor).


Title: Re: JDog053 DevBlog
Post by: T_M_C on April 10, 2010, 10:14:26 AM
If it's a shoot em up you need temporary graphics for, i'm sure Fog won't mind if you use some from Echoes.

Which is what i did.

They suited the game perfectly.

In fact, you'll find that alot of games don't archive their graphics.

It's always worth navigating to the folder of games and have a nosey around the media.

I've gotten thousands of files that way, over the years.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on April 10, 2010, 04:43:08 PM
Yeah if you want some placeholder graphics and Echoes are suitable then use what you like.


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 13, 2010, 05:20:57 PM
Thanks Fog, your graphics would make perfect placeholders. My fear is the placeholders would lok better than my final graphics ;)

Networking CWK is now done and submitted. 1 down 4 to go. Deadlines are all on 30th April so i'm gonna be busy for a couple of weeks.


Title: Re: JDog053 DevBlog
Post by: fog on April 13, 2010, 06:45:51 PM
Thanks Fog, your graphics would make perfect placeholders. My fear is the placeholders would lok better than my final graphics ;)
Well if you need anything specific knocked up then just shout.  Those E+ graphics might not be great but at least I've got a fast technique for doing them now so it wouldn't be a problem.


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 13, 2010, 07:55:50 PM
Yeah, anything vectory i'll shoot a message your way. As much as I love the look of vector graphics, they can be a pain to get right. Thanks Fog.

Now...back to some juicy Prolog :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 14, 2010, 10:36:39 PM
Prolog is coming along nicely. I've sorted out list management for the most part. As I have to read in a llist (sentence) and seperate every word, categorise as nouns, verbs, determiners etc aswell as break the original sentence inot a noun and verb phrase. Now I need the program to formulate a decent response to a question or a statement.

As for other stuff, not done anything at all sadly, too busy :(


Title: Re: JDog053 DevBlog
Post by: fog on April 15, 2010, 08:06:14 PM
Prolog is coming along nicely. I've sorted out list management for the most part. As I have to read in a llist (sentence) and seperate every word, categorise as nouns, verbs, determiners etc aswell as break the original sentence inot a noun and verb phrase. Now I need the program to formulate a decent response to a question or a statement.

As for other stuff, not done anything at all sadly, too busy :(
At least your programming course sounds interesting.  I took Computer Studies at school hoping that we would get to code a lot and all we actually did was theory learn about hardware that doesn't even exist today like punch card and paper tape.....oh and play Hypersports on the Spectrum  :P


Title: Re: JDog053 DevBlog
Post by: T_M_C on April 16, 2010, 09:42:40 AM
At least you had a computer course.

I was in my last year at school, when they introduced zx81's.

I tried to get into the computer club at school,  but was deemed too old.  at 16.  lol.

Am all self taught.   :o

TMC


Title: Re: JDog053 DevBlog
Post by: Prime_8 on April 16, 2010, 11:04:35 AM
go team self tought ! .
LOL . I can't say that ,  i had 2 years of Comp Sci in highschool , and was a computer lab monitor & tech .LOL
ths physics and math teachers and 6 students built the lab .LOL . it replaced a typing course room .LOL

but yeah the actual coriculum was theory , with a few splashes at coding , a few of us went beyond that at home. when we would turn in our work teh proff accused us of having our dad's do it for us . .. well if they knew my dad at the time .. LOL



Title: Re: JDog053 DevBlog
Post by: T_M_C on April 17, 2010, 09:47:04 AM
Quote
but yeah the actual coriculum was theory , with a few splashes at coding , a few of us went beyond that at home. when we would turn in our work teh proff accused us of having our dad's do it for us . .. well if they knew my dad at the time .. LOL


lol   ;D

You know, i always hated homework, and hardly ever did any.

I bet it would be a different story if it was computer homework though.

Unfortunately i was never given the chance.

I went straight onto a general builders course after leaving school.   :P

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 17, 2010, 12:59:17 PM
I doubt it, some of the stuff we do is pretty inane like basic algorthm checks etc. However the vast majority of it is pretty interesting stuff.

I'm currently taking a break from my Prolog coursework, as i'm struggling working out how to do somthing (but i'll get to it in due course), so i'm working on my Plinko coursework. Wich is fairly easy to do, except I haven't coded the 3D camera properly, which i'll sort out today, and I've not even drawn my pegs etc. The only thing that works is the ball. So today, i'm gonna have all 68 pegs positioned appropriately, add collision 2 the pegs in full 3D and add collisions between balls.

Then tomorrow, i'll refine all the collisions so everything is being sent in the correct directions. I'd love to have this particular piece completed by Friday along with the Prolog to give me a good week on the other major coursework.


Title: Re: JDog053 DevBlog
Post by: fog on April 18, 2010, 12:53:50 PM
I doubt it, some of the stuff we do is pretty inane like basic algorthm checks etc. However the vast majority of it is pretty interesting stuff.
That's them preparing you for the real world where unfortunately 99% of the coding jobs out there involve working on database software etc and not the interesting stuff :)


Title: Re: JDog053 DevBlog
Post by: Prime_8 on April 18, 2010, 07:52:33 PM
like none of teh interresting stuff.

i went to a "the only game company in my area " ,  they said ." C / C++  , Lua , ASM , various basics , knowledge of the mechanics of a whole game great .. ability to make game oriented media yourself , super :: how do you feel about data bases and code porting ?  "

LOL yeah data & code porting . on 90 day probation with no specific lenght of work ?? WTF , ie peice work . LOL

at this time i have a better chance of higher pay in 3mo contracts working for the Fed' doing "data processing" ( incomtax and bussiness applications and regestrations , but 3 month contracts with no garontee of renewal .. hmm i think i will stay head of night secturity  


Title: Re: JDog053 DevBlog
Post by: T_M_C on April 19, 2010, 09:43:26 AM
Quote
I'm currently taking a break from my Prolog coursework, as i'm struggling working out how to do somthing (but i'll get to it in due course), so i'm working on my Plinko coursework. Wich is fairly easy to do, except I haven't coded the 3D camera properly, which i'll sort out today, and I've not even drawn my pegs etc. The only thing that works is the ball. So today, i'm gonna have all 68 pegs positioned appropriately, add collision 2 the pegs in full 3D and add collisions between balls.


I'm currently coding a 3d camera too.

I've been messing around with Quaternions, as everything i've read about them, say they are more efficient than Euler angles.

But in practice, i've found thats not the case.

Especially when it comes to rotations about an arbitrary axis, as is needed for a full freedom of movement 3d camera.

Currently porting across my old Euler code, for use in my 3d star field.


How are you coding your camera Jdog ?


Quote
That's them preparing you for the real world where unfortunately 99% of the coding jobs out there involve working on database software etc and not the interesting stuff


True.


Quote
like none of teh interresting stuff.

i went to a "the only game company in my area " ,  they said ." C / C++  , Lua , ASM , various basics , knowledge of the mechanics of a whole game great .. ability to make game oriented media yourself , super :: how do you feel about data bases and code porting ?  "

LOL yeah data & code porting . on 90 day probation with no specific lenght of work ?? WTF , ie peice work . LOL

at this time i have a better chance of higher pay in 3mo contracts working for the Fed' doing "data processing" ( incomtax and bussiness applications and regestrations , but 3 month contracts with no garontee of renewal .. hmm i think i will stay head of night secturity  


Yeh, it's that old problem of, doing a job for the money, or doing something for alot less money, but which you enjoy.

Theres very few people who can marry the two.

I'm very much in the latter camp.

FUN comes first for me.  Hence why i can't afford Internet at home or many other luxuries for that matter.
Mind you, it helps that i don't have a family to support.   ;D

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 19, 2010, 02:50:31 PM
I was moving the entire world before in OpenGL by offset values which was bad because whever you did a rotation, it rotated around the centre of the world and not the camera's centre. Luckily OpenGL has an inbuilt camera function called
gluLookAt(0,0,0,0,0,0,0,0); which does everything i need it too. I choose which way is up, which way i'm pointing etc, so its very useful. Whereas in XNA i'm just multiplying 4 Matrices together as it makes more sense for me that way.

Hope all is going well with everyone elses projects?


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 20, 2010, 02:35:12 AM
Prolog is nearly done now :) Just have to come up with a few responses based upon input, and i'm all set for demonstration.

So its just C++, OpenGl and the GroupWork to go. C++ and OpenGL are well on their way to completion, GroupWork, we stat on Wednesday.

After deadlines, I have a comfortable 26 day development period to work on that W7Mobile game for the competition. So as soon as May 1st rolls by, i'm updating my laptop to W7 then i'll be hitting that project like a ton of feathers. Whatever its gonna be.

Anyhoo, i'll keep you posted as things get done. And i'll probably make a more focussed thread on the W7Mobile game to keep me on track. This is more of my general thread if anything.


Title: Re: JDog053 DevBlog
Post by: T_M_C on April 20, 2010, 09:48:14 AM
Quote
I was moving the entire world before in OpenGL by offset values which was bad because whever you did a rotation, it rotated around the centre of the world and not the camera's centre. Luckily OpenGL has an inbuilt camera function called
gluLookAt(0,0,0,0,0,0,0,0); which does everything i need it too. I choose which way is up, which way i'm pointing etc, so its very useful. Whereas in XNA i'm just multiplying 4 Matrices together as it makes more sense for me that way.

Ahh ok.   :)

I forgot you were using Open GL.

Yeh, i'm using a similar method of a 9 element matrix for the camera rotations.
It's quite alot of code, because i realign the matrix whenever it's updated, using cross products.
But again it's one of those routines that will be very useful for future projects.  So it's well worth doing now.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on April 20, 2010, 04:06:04 PM
After deadlines, I have a comfortable 26 day development period to work on that W7Mobile game for the competition. So as soon as May 1st rolls by, i'm updating my laptop to W7 then i'll be hitting that project like a ton of feathers. Whatever its gonna be.

Anyhoo, i'll keep you posted as things get done. And i'll probably make a more focussed thread on the W7Mobile game to keep me on track. This is more of my general thread if anything.
Are you updating to Windows 7 anyway because you don't need to install it to work on Windows 7 Mobile stuff.  You can test that using an emulator which runs on any OS.


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 20, 2010, 07:46:15 PM
I get W7 for free, and I thought VS2010 needed either W7 or Vista?

And yeah, good old OpenGL :)


Title: Re: JDog053 DevBlog
Post by: fog on April 20, 2010, 08:04:34 PM
I get W7 for free, and I thought VS2010 needed either W7 or Vista?
IIRC VS2010 works with XP too although you might need a certain version of the .NET framework....or I might be completely wrong in which case this eeePC with XP will need a new OS :)


Title: Re: JDog053 DevBlog
Post by: PaulCunningham on April 21, 2010, 10:27:45 AM
Windows Phone 7 Dev Tools CTP won't install on XP.

Standalone VS2010 will.


Title: Re: JDog053 DevBlog
Post by: fog on April 21, 2010, 06:16:07 PM
Windows Phone 7 Dev Tools CTP won't install on XP.

Standalone VS2010 will.
Nooooooooooooooooooooooooooooo.  Arse.  I need Windows 7  then.  I just hope I can install it on this eeePC with it's tiny hard drive.


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 21, 2010, 07:05:22 PM
You should be fine, mine has a 120gb HDD and it'll do it fine, which is what i'm doing now.

Good news, i've crossed another bit off my Prolog cwk now, so its the final run, which is the all important response. if I nail the response with something decent, no matter whats asked, I should be on for a decent mark :)

Some other good news is, 2 of my cwk pieces are due in 1 week later than i'd thought so i get a bit more time to refine them.


Title: Re: JDog053 DevBlog
Post by: Prime_8 on April 21, 2010, 09:12:22 PM
that is good news. i would invariably end up putting them off when i was younger and be in a rush all over again 2 weeks later ..LOL


Title: Re: JDog053 DevBlog
Post by: fog on April 22, 2010, 12:53:07 PM
You should be fine, mine has a 120gb HDD and it'll do it fine, which is what i'm doing now.
My main drive is only a 4Gb SSD ;)


Good news, i've crossed another bit off my Prolog cwk now, so its the final run, which is the all important response. if I nail the response with something decent, no matter whats asked, I should be on for a decent mark :)
Excellent.  I'd be like Prime_8 and rushing to finish the night before it had to be handed in  :P


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 24, 2010, 01:44:53 PM
Prolog is done, decided to stop before doing the response, since its strictly necessary to get the better grades. At the moment with the sentence getting read in, fed through the grammer, parsed and returned is enough for a cool 85% ;)

so much so before doing any C++ algorithms work , I had a tinker with XNA and all I have to say its good to be back! 8)


Title: Re: JDog053 DevBlog
Post by: Prime_8 on April 24, 2010, 07:22:44 PM
good stuff.
yep i can be a last min larry for sure . ( on things i "have" to do ) LOL


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 25, 2010, 12:38:52 PM
I'm the same if its anything Maths related ;)

In the meantime here's a current screenie of my XNA project, all graphics are temporary but thats the basic feel of the game.


Title: Re: JDog053 DevBlog
Post by: fog on April 25, 2010, 03:29:02 PM
 :o  A screenie *thud*  ;)

What's going on there then?  Doesn't look like a shmup as I don't see a players ship :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 25, 2010, 05:00:10 PM
Well, i'll not say too much, but you're the little UFO and you can drop bombs... ;) 'll post more screenies as more happens.


Title: Re: JDog053 DevBlog
Post by: fog on April 25, 2010, 09:18:20 PM
Well, i'll not say too much, but you're the little UFO and you can drop bombs... ;) 'll post more screenies as more happens.
Ah so there is a player in that screenie and I was wrong :)  Is it fixed screen or a horizontal scroller then?  Any more info?


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 25, 2010, 09:46:27 PM
Its a Horizontal Scroller, with full 3 level parralax, that screenie doesn't really show it too well. This is all going towards our imagine cup competition game. Im just doing some placeholder work/pre-alpha coding to see if the game is any good/playable. So far so good :) I just added my old particle system to it, so its got some nice explosions.

I'll keep you updated when we get more done.


Title: Re: JDog053 DevBlog
Post by: Prime_8 on April 25, 2010, 11:35:26 PM
cool pic's = happy!  :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on April 26, 2010, 09:48:18 AM
Reminds me of Crayon Physics.

Which is no bad thing.   ;D

Nice to see a screeny.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 26, 2010, 09:03:33 PM
Thanks all ;)

More screenies to come.


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 28, 2010, 11:11:47 PM
Prolog - Done

C++ Algorithms, nearly done, deadlines tomorrow so pressures on getting the last bits cleaned up ;)

As for the little project, not done anything since. Probably gonna add a laser so you can shoot ground targets with some decent accuracy (and to compliment the bomb dropping). All I need not is to make it OO and get my artist friend to draw some proper graphics,

Even though its designed from the ground up to be a Windows Phone title, I see no reason why I shouldn't release a free PC Version here locally for your consumption, aswell as a nice Beta for valuable feedback ;)

Not too sure when it'll be ready, just its gonna be quite soon since our deadline for the competition build atleast is May 24th.

Anyhoo, i'll get back to coursework.


Title: Re: JDog053 DevBlog
Post by: Prime_8 on April 29, 2010, 02:43:26 AM
best of luck with work , and can't wait for demo .. /beta bit.


Title: Re: JDog053 DevBlog
Post by: JDog053 on April 29, 2010, 07:04:36 PM
Thanks Prime_8 much appreciated, and yeah everyones help will be valuable!

C++ Algorithms - Done  8) was a rush job, but i hope i passed...

Remaining,

Group Work (which i'll try and do my it tonight).
OpenGL 3D - which is nearly done.

Then

back to that UFO game ;)

tonight, if i'm lucky i can add that laser shot  :-\



Title: Re: JDog053 DevBlog
Post by: JDog053 on May 02, 2010, 11:59:06 AM
I'm now in the 3D OpenGL coursework mood and i think its progressing fine so far. I just need to draw all the objects onscreen and to the specs. After that its tweaking and adding new features before submitting. So depending on how much i get done today, i'll have a quiet week.

As for that UFO game, i did add the laser shot using some of my old angle and velocity code so its now technically a twin stick shooter.

Only thing missing now is something to kill :) since i'm doing the cwk in conjunction with the UFO game i'll try and add a rudimentry enemy. I'm thinking of a tank like enemy 8) After that, i'll let you guys see it in motion. Aswell as post a few more screenies.


Title: Re: JDog053 DevBlog
Post by: fog on May 02, 2010, 06:22:48 PM
Cool.  So it's a twin stick shooter then?  Any gameplay ideas that you want to incorporate yet? :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 02, 2010, 07:05:41 PM
at the moment i'm keeping it as basic as possible. i want stuff to be detructable in the foreground and thats about it, gonna have some bosses in it hopefully.

we'll be seeing this game dropping together pretty soon as the deadline is fast approaching.

first things first though, add in that basic enemy AI and kill some stuff, then i'll make my code more readable then add another layer of fresh code...


Title: Re: JDog053 DevBlog
Post by: Prime_8 on May 03, 2010, 03:37:39 AM
hehe sounds cool .. can't wait to see it


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 06, 2010, 09:48:19 PM
Just been ticking off some more CWK pieces, group work and OpenGL 3D is out of the way.

So come monday i'll be working on the UFO game, which was originally gonna be for a W7Phone ended up being too difficult to play (we think) so instead of scale it back and give a sub par perforance, thats gonna be our first 360/PC title. as for the W7Phone competition we'll probably do something simpler.

:)


Title: Re: JDog053 DevBlog
Post by: fog on May 07, 2010, 10:50:13 AM
So come monday i'll be working on the UFO game, which was originally gonna be for a W7Phone ended up being too difficult to play (we think) so instead of scale it back and give a sub par perforance, thats gonna be our first 360/PC title. as for the W7Phone competition we'll probably do something simpler.
I assume you've come to that conclusion about the controls after trying to play on the W7M emulator?  I'm not sure how that would work for me testing 1982 as I need multi-touch and I don't see how you do that with a mouse  :P


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 07, 2010, 05:39:31 PM
Yes and no, since we can't test every available form of input it'd be tricky to plan for, so if we just base it off stuff that we know would work like single touch etc, and maybe some basic tilting as and when the game would allow it. To put it in perspective we were gonna allow the player to:

fly around the environment using tilting
to drop bombs by pressing the screen
to shoot lasers at the enemies by touching on them
to fire a solid sweeping beam b holding at 2 points along a line

it became fairly impossible, now i'm sure we could do a version taht only has like a single weapon but that'd be a little boring, so we thought that it'd be easier just to stick it on 360 to use that wonderful gamepad. since it works perfectly as a TSS. the best way to describe the game would be Heavy Weapon (i mention this game alot ;)) upside down.

As for the Windows Phone, probably something thats touchscren OR tilting would be fine, but probably not both, or if its touchscreen and tilting have the functionality simple so they can touch anywhere, and i have a few ideas for that too, or for other functions they can touch anywhere in a large area of the screen to do something and not a small virtual button. :)

As for how i can help you in your case Fog, i can't untestable is the word :(


Title: Re: JDog053 DevBlog
Post by: fog on May 07, 2010, 07:28:04 PM
Ah right.  It's always interesting to hear the finer points of game design :)

FWIW with that game design I think you made the right choice.

fly around the environment using tilting
From experience I can say this is a bit like onscreen controls and it never quite works as well as you would imagine.  It's fine if you want to do a Monkey Ball style of game where difficult controls are a part of the challenge, but in a shmup I doubt you'd get the accuracy of fast response that you need.

Again, that's just my experience with the iPhone :)


the best way to describe the game would be Heavy Weapon (i mention this game alot ;)) upside down.
I loved the demo of that.  I've no idea why I didn't get the full game.


As for how i can help you in your case Fog, i can't untestable is the word :(
I only needed multi-touch for firing so for testing on the emulator I'll just activate auto-fire.  It should be good enough for testing even if it hampers the gameplay a bit.

Thanks for the info.


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 08, 2010, 05:43:51 PM
Master Objects...

thats my aim at the moment, a big ass object that holds all my other major objects and looks after positions/velocities/angles and a whole host of other variables. this is of a similar theme to Fogs Emitter class, practically the same as Fogs Emitter class if truth be told, it just has all the describing behaviours necessary, looks after all modes of shooting/dropping/explosions with different properties i can trigger such as gravity, bouncing, friction/frictionless. Using the object seems as simple as aswell so this should be a boon when it comes to expanding the engine further. I just need to make a more suitable object to inherit the sprite and add velocities and other forces to for the FX/Emitter object to grasp and load...all objects can also have animation properties too, only downside is every frame will need to be the same size. Nearly done anyway, just as of yet uncompiled and tested.

I plan on doing something very similar for an AI object which will look after a few different AI patterns i've written for the game enemies/AI...

Also to still give this UFO game a deadline we'll try and enter it into the Dream Build Play competition since thats direct to 360 and gives us a target. and instead of making something in time for the competition for the W7Phone we'll put in a little bit of work and get something ready for release.

Current Projects
UFO Game(working title)



Title: Re: JDog053 DevBlog
Post by: fog on May 08, 2010, 09:15:32 PM
Yeah master objects or whatever you want to call them work great as long as you make them flexible enough.

When is Dream Build Play this year?  Are the free Creators Club memberships up again yet?  ;D


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 08, 2010, 09:16:32 PM
no idea when they are, but i know it will be, heres hoping they are since my CC membership has all but ran out. as for making them flexible enough, thats what i'm working on!


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 09, 2010, 02:17:08 PM
still more class structure going on at the moment, with a slight edit to my sprite class, which only now monitors drawable specs of the object, making it inherit useful behaviours such as physics properties and stuff for use in games, although even this feels poorly done at the moment.

as for my global effects object i'm pretty pleased with it so far, only thing 'm not too surehow to do is, delare it in the main scope and use it in the player object class to call some of the effects? but i'll get to that, if thats too complex for me i'll do a workaround.

As for dream build play, i missed this years deadline, but next years deadline is December this year, keeping my new years resolution in date, so thats when i'll aim to have everything finished on it! Before then there will be testing, testing and more testing on your guys part hopefully.


Title: Re: JDog053 DevBlog
Post by: fog on May 09, 2010, 07:34:35 PM
still more class structure going on at the moment, with a slight edit to my sprite class, which only now monitors drawable specs of the object, making it inherit useful behaviours such as physics properties and stuff for use in games, although even this feels poorly done at the moment.
My oop code is probably horribly written.  It works though and that's all I care about :)


as for my global effects object i'm pretty pleased with it so far, only thing 'm not too surehow to do is, delare it in the main scope and use it in the player object class to call some of the effects? but i'll get to that, if thats too complex for me i'll do a workaround.
What exactly are you trying to do?


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 09, 2010, 08:33:05 PM
well, i was gonna declare my FX class in the main, load, draw, update in their respective methods, then call the actual effects methods as and when use in the players/enemies etc. classes.


Title: Re: JDog053 DevBlog
Post by: Prime_8 on May 10, 2010, 06:27:57 AM
still more class structure going on at the moment, with a slight edit to my sprite class, which only now monitors drawable specs of the object, making it inherit useful behaviours such as physics properties and stuff for use in games, although even this feels poorly done at the moment.
My oop code is probably horribly written.  It works though and that's all I care about :)

LOL My oop is more like oops . I don't care how my projects look as long as 1. i can rea dthem and understand what i was doing even years later & 2. it works. LOL

as for my global effects object i'm pretty pleased with it so far, only thing 'm not too surehow to do is, delare it in the main scope and use it in the player object class to call some of the effects? but i'll get to that, if thats too complex for me i'll do a workaround.
What exactly are you trying to do?


Title: Re: JDog053 DevBlog
Post by: fog on May 10, 2010, 08:22:08 PM
LOL My oop is more like oops
;D  I like it.


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 11, 2010, 02:10:21 AM
lol, fair enough, i guess when you've been at uni some of the stuff they say starts to stick :) still not 100% OO its not doing so bad.

i think the solution to my problem is alright aswell, since my aim is to keep the main loop as empty as possible :)

Code:

//in the update method
player1_ufo.Update(ref FX particles, ref FX bullets);

//in the player update method
particles.Explosion(...);
//player firing code
bullets.Shoot(...);



Title: Re: JDog053 DevBlog
Post by: JDog053 on May 12, 2010, 09:45:48 PM
A generic Player class is in the works at the moment, which will feature all of the possible gameplay configurations with variable properties and stuff where you can pass the effects.... is for the long run atleast :)

The player class i'm doing at the moment will just be twin stick shooter orientated for use with the keyboard and mouse and the 360 pad. It'll still have it where you can pass it FX though, like trail, explosion effect and bullets... as you can tell though i'm designing everything with use and re-usability in mind.


Title: Re: JDog053 DevBlog
Post by: Prime_8 on May 12, 2010, 11:16:14 PM
i tend to code all wrong .. i fallow my own conventions and thus my code is 100% reusable .. but only by me .

LOL
I still need to wrap my head around name spaces , i know they will clean up a load of things for me as far as readability & portability .
but i like to use .hpp files and .h files as raw includes not just as headers . as some parts just work better when splintered off to a fractional file .  IMO any how . LOL

OOP hell no not Me. LOL

( i do actually use opp all the time i just don;t like thinking about it , LOL  ,sort of like eating veggies off your plate as a kid , it's better if you just do it and don't think about it too much , I'm all for spaghetti code)


Title: Re: JDog053 DevBlog
Post by: fog on May 13, 2010, 01:09:57 PM
I still need to wrap my head around name spaces , i know they will clean up a load of things for me as far as readability & portability .
All I know is Namespaces make Intellisense in VS a hell of a lot more usable as it only lists commands in the namespaces you're Using.  Without them the list of commands would be huge!


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 15, 2010, 05:31:32 PM
Well, today i'm gonna be making ALL of my temporary graphics for my TSS, which is gonna be fun. I'll list what i need here anyway...

Player

Enemies/3 sizes of enemy ship
Asteroids/3 sizes of asteroids
Particles/bullets, bombs, enemy bullets, particles
Boss/just a big enemy ship :)

for the time being thats all this'll need :)


Title: Re: JDog053 DevBlog
Post by: Prime_8 on May 15, 2010, 11:57:30 PM
funny with the exception of a few items your media list is the same as mine .. LOL


Title: Re: JDog053 DevBlog
Post by: fog on May 16, 2010, 12:26:20 PM
Very similar to my original list for 1982 too.  :)  Although that should have been a Galaxian style of game with just 3 different enemy types and has ended up having 20+  :P


Title: Re: JDog053 DevBlog
Post by: Prime_8 on May 16, 2010, 02:02:59 PM
hmm must be a regular game menu outher .. lol .. a+b+c+d ... = game . LOL  where the bits are common componants . LOL


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 16, 2010, 06:05:09 PM
this little project is just a test anyway, just to see if i can make a small yet engaging TSS, with a simple boss encounter. if its any good, i'll replace all placeholders with final graphics. but before any of that nonsense, i'll be sending/posting it on here for fun testing times

reason:

feedback, can't get very far without feedback :)

and the reason the UFO game seems to have stopped is because my "Team" couldn't be bothered with it, luckily it uses all my engine code that i'm using at the moment so nothing is really wasted.


Title: Re: JDog053 DevBlog
Post by: fog on May 16, 2010, 07:34:20 PM
hmm must be a regular game menu outher .. lol .. a+b+c+d ... = game . LOL  where the bits are common componants . LOL

Yeah either it's coincidence or we're all developing exactly the same game and don't realise it  :P


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 17, 2010, 02:35:11 PM
since this is more of a test of my master objects then a fully fledged game, i'm gonna scale the "test" back

Font
Asteroids
UFO
Player
Particle

:)

all done to a very Fog/1982 inspired style 1 bit monochrome...


Title: Re: JDog053 DevBlog
Post by: fog on May 17, 2010, 06:12:16 PM
Sounds like a plan.  It's relatively easy to add stuff later once you have a basic game up and running and even the simplest and most basic of game ideas can be great providing it's balanced properly.


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 17, 2010, 07:15:53 PM
well, i've come across a hurdle anyway...

since i'm setting the origins of every object to be the centre for collision/rotation purposes, when i've scaled the image up it doesn't work out where the new centre is automatically, any ideas?

i did add a little bit of code, but it gave me no end of problems, even though the math makes sense

Code:

//origin code...

new Vector2((texture.Width * scale) / 2, (texture.Height * scale) / 2);



Title: Re: JDog053 DevBlog
Post by: fog on May 17, 2010, 07:45:25 PM
IIRC you don't need to reposition the origin when you use the built in scale parameter for your sprites.  XNA takes care of that for you.

(although my memory isn't what it is so don't hold me to that :) )


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 17, 2010, 09:08:25 PM
yeah, it didn't seem to work, along with the code for stopping the anti-aliasing effect of scaling pixel based sprites :(

and in doing this little test with my master objects, its allowed me to see a few fatal flaws with the way it was designed, some of the master objects have the same base structure that i didn't realise, so i made a friendly SpriteManager class to look after that, but so far, i've got the player working a treat, and N large asteroids buzzing aound...


Title: Re: JDog053 DevBlog
Post by: fog on May 18, 2010, 03:01:39 PM
yeah, it didn't seem to work, along with the code for stopping the anti-aliasing effect of scaling pixel based sprites :(
Post or IM your Draw code and I'll have a look.


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 18, 2010, 03:29:51 PM
sure thing

Code:

spriteBatch.Draw(texture, position, null, color, rotation, new Vector2(texture.Width / 2, texture.Height / 2), scale, SpriteEffects.None, 0);


andafter loading the imagine, i'm setting the scale, the scale variable in this case is a Vector2 object, to give me more control. so the problem is the rotation isn't centred about the new size.


Title: Re: JDog053 DevBlog
Post by: fog on May 18, 2010, 06:59:35 PM
I can't check any code ATM but that obviously looks ok.

Are you sure your image is exactly in the centre of the image file you are loading?  If it's slightly off centre then that will get exaggerated when you scale the image up.


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 18, 2010, 08:03:10 PM
yep its centred.


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 19, 2010, 01:35:14 PM
well, not much going on today on the coding front...

i'm going to be adding collision detection and response, between asteroids and bullets, and i'm going to see about bullets too in the process :) I could also do with loading in my custom font, but that'll wait till my scaling is sorted.

here's a screenie withe the fairly obvious anti-aliasing problem.


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 19, 2010, 05:34:07 PM
i've implemented some collision code, when i'd started doing it, i didn't realise that i'd need to return 2 values, so i spent today learning how to use the "out" parameter which didn't take too long. so now i can check for collisions between 2 master objects and return which sprites in either master object have collided and i can deal with them appropriately, whether that be deleting them and spawning more asteroids on the position or anything useful really.

Code:

if (SpriteManager.IntersectCircle(player_1, asteroids[0], out ID))
    asteroids[0].sprite[ID].isActive = false;


the only thing is, when i call my spawn function on my next set, it doesn't run it once, it keeps running it till i move away. its the same as the above code except the if is in braces and its "asteroids[1].Spawn(...)"


Title: Re: JDog053 DevBlog
Post by: fog on May 19, 2010, 07:48:54 PM
Difficult to comment with such a small piece of code as I'm not sure what it's all supposed to be doing.

Why do you use 2 asteroid indexes instead of just looping through them..... and why does your sprite also have an index?  Why 2 arrays?

What's wrong with just Asteroid[0].sprite.isActive ?

I'm not entirly sure but I think you might be overcomplicating things here. :)

As far as your "fuzzy" graphics are concerned you will notice you have some hard edges.  You need to get into the habit of leaving a blank 1 pixel border around all your images because of the way it handles the drawing process (Drawing at float co-ordinates, rotating and scaling cause strange results of you don't leave that 1 pixel border)


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 19, 2010, 09:31:44 PM
i'll explain my system in more detail, thanks for the tip regarding 1 pixel image borders however, thats extremely useful.

the asteroid object is a SpriteManager object which holds info for a grop of sprites decided by me upon creation. now because i'm using 3 different sizes of asteroids, i have created an asteroid AI array, where the only difference is image, as for the other array. thats the internal sprite array inside the master object that i'm accessing after i found out which one was hit.

the internal code in that method is pretty straightforward however, since its just a for loop listening for collisions, but the for loop cycles through the internal sprite array.

i know what you mean however when you say its complex, but it is easy to use. it'l be easier when its on a spritesheet and i can just change the frame i'm pointing to, so i only need the one asteroid class. i'll try and explain my problem better too.


Title: Re: JDog053 DevBlog
Post by: fog on May 20, 2010, 10:10:14 AM
Yeah I'd recommend you get your sprite sheets working before you go any further otherwise you're going to end up rewriting a lot of code when you have everything in one array.

Once you've done that coding and debugging will be an awful lot easier :)

When you get down to just one array then to me this is logical:
Code:
Asteroids[0].Sprite
But this isn't:
Code:
Asteroids.Sprite[0]


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 20, 2010, 06:56:26 PM
yeah, sprite sheets working is a must, i've got a temporary "hack" at the moment where i can load in an array of assets, and i just change what image is being shown, but a sheet is faster and easier :)

and i can see your confusion anyway regarding the way that was structured. now its more like...

Code:

enemies.Update(ref particles);

if(<collisionchecking>)
enemies.sprite[ID].isActive = false;


this works because in the enemy master objects, i'm finding out which one has been hit, so i'm looking in the public array. the reason it was 2 arrays before was because of 3 different sized asteroid master objects and i was talking to the sprite array inside each one... but its pretty logical to me so far. the proof will be in eating which is whether or not i can get something working at the end of it and more importantly, playable.


Title: Re: JDog053 DevBlog
Post by: Prime_8 on May 21, 2010, 12:13:31 AM
aha a pic . i like pics. LOL

i had to stick all my sprites into a vector object . that gives me c itterators to move through the vector .
but collision is actualy done by NGC that is built into NF . it  works on  the 2d as well as 3d  so all i have to do is update my sprite vector , say bullets[0]  and if i want i cna check each sprite for a colission count and a list of colided objects it hit since last call .

looking at your code looks very logical to me , but your the only one it matters if it's logical to . LOL


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 22, 2010, 11:42:27 AM
i've been doing more coding which is always a good sign. so the plan is simple get Asteroids finished! so now i'm using 4 objects, player, bullets, enemies, particles and each one can affect the other on a 1 to many or a many to many, or if any are in an array a 1 to many to many  :P and even a many to many to many to many  :o

still having the anti alias problem, but thats not so much a worry as of yet.

i was wondering, for your player Fog, do you extend the functionality of a sprite, or do you manipulate a sprite?


Title: Re: JDog053 DevBlog
Post by: Prime_8 on May 22, 2010, 05:33:00 PM
wow , that's one heck of a collission tree .


Title: Re: JDog053 DevBlog
Post by: fog on May 22, 2010, 10:16:51 PM
still having the anti alias problem, but thats not so much a worry as of yet.
What problem is that then?  What are you trying to do and what code are you using? :)

i was wondering, for your player Fog, do you extend the functionality of a sprite, or do you manipulate a sprite?
As far as my system is concerned then sprites just store display information and nothing else (animation, colour, alpha etc).  Anything extra I need is added to the player, enemy class etc.

That's why, as I said earlier, I'd use Asteroid[].Sprite and not Asteroid.Sprite[]

Is that what you mean?


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 22, 2010, 10:27:26 PM
sort of...

Code:

class Player : Sprite
{
static int health;
static int lives;
static int level;
static int multiplier;
static float score;
}

//instead of..

class Player
{
statis Sprite sprite = new Sprite();
//do stuff to sprite...
}


but both systems are fairly logical to me atleast. as for drawing code, i'm just zooming my camera in on the scene, and the images are getting fuzzy like above, and you posted some code earlier but i'm not sure where to put it exactly.


Title: Re: JDog053 DevBlog
Post by: fog on May 22, 2010, 10:51:57 PM
Ah right in which case I'm more like your second example.

I'm surprised you're using the first method for your player as you are using the second for your Asteroids according to your earlier posts.

Whichever method you are most comfortable with I'd personally stick with for everything that uses sprites to avoid confusion.


as for drawing code, i'm just zooming my camera in on the scene, and the images are getting fuzzy like above, and you posted some code earlier but i'm not sure where to put it exactly.

This should work:
Code:
spritebatch.Begin(blah, blah)
GraphicsDeviceManager.GraphicsDevice.SamplerStates[0].MagFilter = TextureFilter.Point;

//Draw your stuff
spritebatch.End()
No idea if whatever camera system you are using effects it though.

EDIT:
In that pseudo code you will have to replace the GraphicsDeviceManager with your reference to the proper thing


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 22, 2010, 10:59:32 PM
Ah right, and i am using the second method, its not 100% amazing but here's the code for it, which seems to work at the moment. I need to change it to be a timer based movement and finish off doing the sprite sheet/animation code. and thanks for the code, i hope my camera doesn't mess it up, if it does you can be sure i'll be back ;)

Code:

public class Player
{
    public Vector2 leftStick;
    public Vector2 rightStick;
    public float angle, timer = 0;

    public Sprite sprite = new Sprite();

    public void Load(ContentManager content, string asset)
    {
        sprite.Load(content, asset);
    }
    public void Draw(SpriteBatch spriteBatch)
    {
        sprite.Draw(spriteBatch);
    }

    public void Update(PlayerIndex player, ref Effects bullets, ref Effects effects)
    {
        sprite.position.X += sprite.velocity.X;
        sprite.position.Y += sprite.velocity.Y;
        sprite.velocity *= 0.9f;

        sprite.velocity.X += GamePad.GetState(player, GamePadDeadZone.Circular).ThumbSticks.Left.X;
        sprite.velocity.Y -= GamePad.GetState(player, GamePadDeadZone.Circular).ThumbSticks.Left.Y;
        sprite.rotation = (float)Math.Atan2(sprite.velocity.Y, sprite.velocity.X);

        rightStick.X = GamePad.GetState(player, GamePadDeadZone.Circular).ThumbSticks.Right.X;
        rightStick.Y = GamePad.GetState(player, GamePadDeadZone.Circular).ThumbSticks.Right.Y;
        angle = (float)Math.Atan2(-rightStick.Y, rightStick.X);
       
        //if (sprite.velocity.Length() > 0.2f)
        //    p.Trail(ref sprite, 5);
       
        if (rightStick.Length() > 0.2f)
        {
            if (++timer > 10)
            {
                bullets.Shoot(ref sprite, angle, 50);
                bullets.Shoot(ref sprite, angle - MathHelper.ToRadians(5), 50);
                bullets.Shoot(ref sprite, angle + MathHelper.ToRadians(5), 50);
                timer = 0;
            }
        }
        //LEFT and RIGHT
        int index = sprite.index;
        if (sprite.position.X < -sprite.texture[index].Width)
            sprite.position.X = 800 + sprite.texture[index].Width;
        if (sprite.position.X > 800 + sprite.texture[index].Width)
            sprite.position.X = -sprite.texture[index].Width;
        //TOP and BOTTOM
        if (sprite.position.Y < -sprite.texture[index].Width)
            sprite.position.Y = 600 + sprite.texture[index].Height;
        if (sprite.position.Y > 600 + sprite.texture[index].Height)
            sprite.position.Y = -sprite.texture[index].Height;
    }
}



Title: Re: JDog053 DevBlog
Post by: JDog053 on May 23, 2010, 11:36:55 PM
Well, thanks to another evening of coding things are moving on quite nicely.

my SpriteManager class had a fatal flaw in that it could only use Sprite type, that was until i learnt about Generic classes, so now i can feed it any type of sprite, so its gained some use :) this helps immensly with my overload meaning my base sprite can finally just be a base, instead of a grim base + every type of game object. neater/readable code makes me happy, more importantly it works. since i think for Asteroids that'll be the last of my major overhauls (i'll do sheets for the next project, at the moment i'm loading in multiple assets and selecting an index).

Code:

public class SpriteManager<T> where T : Sprite, new()



Title: Re: JDog053 DevBlog
Post by: Prime_8 on May 24, 2010, 12:22:29 AM
cool , glad it's working for you


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 24, 2010, 02:57:42 PM
well, it was working ;) the generic class was all well and good except for using my 1 to many to many collision chain, where it got confused (which i don't blame it).

so now i've got a for loop and my normal intersect code in use, which atleast its out of the way and works so i'm not complaining at all. so i'm going to make an even bigger asteroid (which is a black circle at the moment) and then i'll try and toss together someting playable no matter *cough* shit *cough* before i add some polish/purpose to the game. then i'll write a proper list since all my engine code is out of the way and start fulfilling goals from Local Highscores to a Screen Resolution system etc. Bare in mind this is all still Asteroids, nothing fancy lol.

And i'm being fairly vague at the moment for no reason, the engine is being built for asteroids but other games in mind, which is why its taking so long, if i were to just code Asteroids straight up, it'd be done by now.


Title: Re: JDog053 DevBlog
Post by: fog on May 24, 2010, 06:59:18 PM
Heh you've got me wondering about your other project now.

Generic classes too?  Far too advanced for me lol :)


Title: Re: JDog053 DevBlog
Post by: Prime_8 on May 24, 2010, 07:16:42 PM
lol , I'm lucky if i ever get back to my  code to convert into classes . I just hate coding in OOP as a starting point unless i have to .
LOL i know .. but i just do . hey  I'm an Italian coder , I like my spaghetti - code.

I only use fancy C++ stuf fif i must or there is a great speed boost from it . I fin that evenwith todays compilers you can get some speed sqeezed out by doing a few thing sin you high reppetition code.
1: - never  declare / dim / init a var inside a high speed looping part of you app . ( and that goes to all functions cale din the loop )
they should be using common globals for counters and such , and for/ next loop counters , should even be pre defined at  app top .
some compillers do this for you any how depending on compression vs speed settings , in your compilers optimiser . but if you work you whole app explicitly , you will get speed & and it can be quite noticeable. .
2: pre init all your vars , this helps some compilers and stop a lazy dim on the fly by the compiler.
3: use "++x"(pre sum) over "x++"(post sum) if you can , as ther is a slight fewer instructions  , it's like dont use sqrt() unless you must

but doing all that can lower reusablillity and robustness of a bit of code . so the trade off is OOP resuabillity and flexabillity vs Static Template speed .

I'm sure the guts of your app will be technicaly amazing .


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 25, 2010, 03:21:34 PM
yeah, it depends on the language and what i want to achieve to be honest. your code may be spaghetti but it'll run probs 10x faster than mine lol atleast. i'm more going for readability/reusability and adaptability, since i want to use this engine for all my 360/PC/WPhone projects but i see what you mean.

lots of coding happening today :)

EDIT: you were right ages ago Fog when you said that almost everything that moves is the same, or uses the same behaviours lol, which is why i'm working on combining my bullet/particle and maybe even my enemy base classes together since it'll save me re-writing alot of code and be more useable (i hope lol). my aim is to not get too far out of my depth, the beauty of it is i know what i'm doing for a change :)


Title: Re: JDog053 DevBlog
Post by: fog on May 25, 2010, 09:58:24 PM
EDIT: you were right ages ago Fog when you said that almost everything that moves is the same, or uses the same behaviours lol, which is why i'm working on combining my bullet/particle and maybe even my enemy base classes together since it'll save me re-writing alot of code and be more useable (i hope lol).
More evidence that I am right very occasionally :)  Yeah probably 90% of what your particle code has to do will also apply to your bullets and enemies etc

I went the whole way and made everything share the exact same code.  All game objects are stored in a single array, can exhibit the exact same behaviour, and it's only what they collide with that really differs in my case.


my aim is to not get too far out of my depth, the beauty of it is i know what i'm doing for a change :)
The great thing about coding is it's a continual learning process for everyone no matter how long they've been at it.  And while not getting out of your depth is essential, your "depth" in a few months time will be completely different as your understanding increases.  Then if you're anything like me you'll waste ages going back and rewriting chunks of code with your new found knowledge. :)

Anyway great to hear you are progressing.


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 25, 2010, 10:20:16 PM
yeah, thats the route i'm taking now,, the less code that i can put to some use will be good :)


Title: Re: JDog053 DevBlog
Post by: Prime_8 on May 26, 2010, 01:53:22 AM
yeah i figure i would do enemies as particles . even though they are meshes , in NF spriets are meshes too so actualy , i could make a base game class for dealing with "enhanced particles"
 but i still have so much to do as far as speed .

i figure  that the controll structures in games are like organs of a body ,  every mamal need lungs , spine , skin ....   it seems more and more every game type i look at  has these same "guts" . so in the end your class  adaptived reusable code is smarter , using polymorphisims  and other such  that code objects afford .

I just grew up coding proceduraly .LOL


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 26, 2010, 01:56:16 AM
That'll be teh C in you i reckon, which is a language i thoroughly enjoy ;)


Title: Re: JDog053 DevBlog
Post by: fog on May 26, 2010, 09:26:06 PM
Well you two guys have a lot more experiences of other languages than I have and I'm sure that's useful.  C#/XNA is the only non-Basic language I've ever used if you discount a little ASM many many years ago and that has little use these days....thank God :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 27, 2010, 01:57:57 AM
for me though, its a jack of all trades, master of none ;)


Title: Re: JDog053 DevBlog
Post by: T_M_C on May 27, 2010, 09:55:13 AM
My assembler coding days are some of my best memories.

Thats where i learnt alot of the techniques i use today.  Um, re bad habbits.   :P

I didn't spend alot of time on basic, i was too keen to move on to assembler so i could create better, faster games.

Then when i moved on to pc i did a bit of assembler, then spent several years in C and then found Dark basic, spent many a fun year using that and then moved on to various Blitz basics which i've stuck with ever since.

And i think Blitzmax is by far my favourite language i've ever used.  Very easy and user friendly.

And as i'm often fond of saying, i'm all self taught.  Never really had the oppertunity to learn computers, let alone programming when i was at school.   ::)

I remember the pre internet days of pooring over tatty books in the library trying to work things out myself.

Ahh, i do love to reminisce.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 28, 2010, 03:13:19 PM
well...

bringing it all together, i've got 2 sets of both a base object and master object, the second of the two is where it gets interesting, since thats effectively where i write (or use) behaviours to setup my game, the only difficult thing to grasp is that its pretty recursive however doing that allows me to make just the one, meaning just a big Array like Fog advised, then i do a few clever checks when it comes to coliisions and stuff bringing my choice back of the many to many's etc

so at the moment i'm writing the game specific methods like an asteroid has 3 stages/big/medium/small asteroids explode into smaller asteroids, each time spawning 4 more till they're destroyed, the player has 3 lives a score and a multiplier the player dies if it loses all its lives, the ufo spawns at half way through the game based upon kills and has the same behaviour as Fogs from Echoes+, when everything is killed, spawn more big asteroids and go again. which is just about everything.

then i need to worry about fonts/text/highscore tracking and stuff...

all this work for a test game, but if it does work it'll be a great proof of concept for my adaptable engine.


Title: Re: JDog053 DevBlog
Post by: fog on May 28, 2010, 05:32:45 PM
Well you might call it a "test game" but throw a load more enemies at the screen, change to some neon vector graphics and you had Geometry Wars :)

The simple ideas really are the best when it comes to shmups IMO


Title: Re: JDog053 DevBlog
Post by: T_M_C on May 29, 2010, 09:46:33 AM
Quote
The simple ideas really are the best when it comes to shmups IMO

Player vs enemy.

Thats all you need.   ;D

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on May 29, 2010, 03:26:32 PM
lol, i know what you mean, but yeah, get Asteroids done is my prime concern (because its not too difficult) then making something similar to what i've mentioned before would go down a treat i think ;)


Title: Re: JDog053 DevBlog
Post by: fog on May 29, 2010, 08:29:44 PM
Quote
The simple ideas really are the best when it comes to shmups IMO

Player vs enemy.

Thats all you need.   ;D

TMC

Can a shmup be a shmup without bullets too?  Now there's a challenge :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on June 01, 2010, 09:55:58 AM
Quote
Can a shmup be a shmup without bullets too?  Now there's a challenge

How about both player and enemy have smart bombs, the effectivness of which, would be based on the distance to the other.

The closer you get the more damage dealt.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 01, 2010, 07:05:32 PM
bringing it all together is proving both easier and harder then i'd thought lol with my system, which is basically a few sets of master objects where i apply behavious to a single sprite or a group of sprites all of which are in the same array.

at first i was going to deal with every collision in the object itself which although useful would scupper me for my next project since its too game specific (hardly scupper, just slow me down lol, and i'm slow enough :/ )  along with dealing with removing lives, respawning and stuff, updating scores and everything. so i've now made a master class seperate from all of my master objects of which i'm using 3 (this is a slightly older version of my super master entity object, which got too confusing, so taking a tep back is allowing me to go forward again, which i'm all for) master objects and i'm letting my class have free reign with them...

i'm passing the rules class, every sprite manager (br reference ;) ) dealing with all the collisions, responses and general games things like applying scores, multipliers checking timers and stuff, the beauty of it is i can just change this class alone for all my games in future instead of making loads and loads of custom classes.

i'm the strange mix of coding to make something/enjoying coding too lol ;)


Title: Re: JDog053 DevBlog
Post by: fog on June 01, 2010, 09:39:21 PM
bringing it all together is proving both easier and harder then i'd thought lol with my system...
Experience tells me that would happen whatever system you used.

As long as you're progressing it's all good :)


Title: Re: JDog053 DevBlog
Post by: Prime_8 on June 03, 2010, 07:41:59 PM
it hard to enjoy coding  100% of the time .  especialy stuff that sucks to do .
or if you hit a reppetative block where all youare doing is creating like 50 unique instnaces of an object by hand ...

i find strage bumps in the road now and then and they can be very funny and great learning points , but must of us just call them bugs. LOL


Title: Re: JDog053 DevBlog
Post by: T_M_C on June 04, 2010, 09:55:08 AM
Quote
i find strage bumps in the road now and then and they can be very funny and great learning points , but must of us just call them bugs. LOL


I call my bugs 'Undocumented Game Features'    ;D


But i agree with you Prime.

Game creation does require alot of hard work and a certain amount of dedication.

Keeping motivated is always dificult.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on June 04, 2010, 06:52:54 PM
Game creation does require alot of hard work and a certain amount of dedication.

Keeping motivated is always dificult.
that's why having a few dev diaries in here helps me. It's like our own little Coders Anonymous self help group.  We all understand the pain  ;D


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 04, 2010, 07:09:25 PM
Exactly! such a big help, reading about what someone else has done only helps me to get better, or gives me a few ideas here and there and i'm sure it works both ways etc.

so, having the game Rules and Medals as seperate classes allow me to tweak things on a per project basis a little bit easier, since the rules one does what it says on the tin, applies rules to different behaviours, and the Medals class gets all useful information from the game, like enemies spawned how far the players moved etc that i can easily feed into a few if's to give the player awards. I haven't started to make that Class yet, but i imagine thats how it works ;)


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 07, 2010, 02:37:45 PM
Been doing more coding, but going slower. I realised I was trying to make my engine too general,soi've restricted to specifically a Shmup Engine, which willallow me to focus more of my code around genre specific stuff...

There'llbe screeniesnext proper update. If not, something playable ;)


Title: Re: JDog053 DevBlog
Post by: fog on June 07, 2010, 05:39:09 PM
I realised I was trying to make my engine too general,soi've restricted to specifically a Shmup Engine, which willallow me to focus more of my code around genre
yeah that's the route I took too.  Although you'll be surprised at how much of that can be used in another game genre when you think about it.  There really isn't a huge amount of difference between say a shmup enemy and a platformer one and your particle fx code can pretty much be used anywhere :)

Looking forward to those updated screens.


Title: Re: JDog053 DevBlog
Post by: T_M_C on June 08, 2010, 09:59:07 AM
Quote
There'll be screenies next proper update. If not, something playable

Cool.

I'll look forward to that too.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 10, 2010, 05:41:56 PM
not a proper update as such, but its important nonetheless

i didn't realise until now but i had an enemy spawning glitch,which i assume would have affected my particles and stuff aswell since its the same code...

with my system since its a big array i wrote a neat Next() method where it finds the next available object which is great when used on its own, what i was doing however for stuff like an explosion or spawning a few asteroids with my Next() + for loop combo is that it was finding the ID of the last destroyed enemy or whatever and overwrote the objects from that point onwards meaning stuff was dissapearing... now luckily thats all solved and it works a treat!

now... to make it playable since that was bugging me (pun intended) for a while ;) and the system that i'm using at the moment is 1 step behind my proper system which i'll get to after this works....

So, did someone say Asteroids?


Title: Re: JDog053 DevBlog
Post by: fog on June 10, 2010, 06:43:40 PM
I know what you mean about working with your objects array.  I have a bunch of different tricks and routines to try and keep them sorted, ensuring I never have to process more than is absolutely necessary, not looping through the whole list just to find what isActive and keeping sub-lists so that I only check collisions between objects where absolutely necessary.

It's all good mind hurting fun :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 12, 2010, 09:48:08 PM
No screenshot as such, since the graphics files are a bit boring lmao the asteroids are just circles and yes they are actually 8x8 pixels :), i'll attach them to this post... its gameplay i've been working on since my engine works and stuff, now everything has suitable points values, everything behaves properly, ship handles a bit iffy but its fine for the moment since i'll be removing friction and capping a top speed, need to balance level progression at the moment (how many asteroids to add and stuff lmao) aswell as working out when is best to bring the UFO in since it comes in at a proportional event at the moment...

So what i will be doing before it gets handed out is adding particle effects (trails, explosions and debris) add a simple front end, add some PC controls since I  just plain haven't done them yet, zoom the camera in add some colour for a change ;) and add a rudimentry top 10 leaderboard :) then it'll be yours to have fun with...

The stuff i'll be listening out for is anything technical since i'm building this as a test of the engine and not as a game to release etc.


Title: Re: JDog053 DevBlog
Post by: fog on June 13, 2010, 09:17:46 AM
Christ man, my eyes aren't good enough to see them lol :)

I know it sounds like a trivial thing, however I remember getting my Saucer to enter at just the right time in the E+ Classic mode posed a few problems too :)


Title: Re: JDog053 DevBlog
Post by: T_M_C on June 14, 2010, 10:07:42 AM
I take it the images are for the mobile phone game.  Because of the small screen size.

Nice to see you posting some images though.  Even if i do have to press my nose up to the monitor to see them.  :)

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 14, 2010, 03:34:58 PM
lol, they'll be scaled appropriately in game, i just thought, the best way to capture the charm of an original old style graphic file was to stick to their limits. i'll be zooming in to about double that size with my camera, so you'll be able to see whats going on quite easily throughout the game, so don't panic :)

as for the game itself, i still need to balance my UFO's rate of fire and work on suitable progression then drop in the front end and do the leaderboards, but its pretty straight forward stuff and its actually stuff too which is positive!

i'll be keeping you all posted, i just actually want to do something this year and what better way to do something then actually do it ;) as you know though, this is simply a bit of fun and an engine proof of concept, afterwards i'll either start on my proper game or do another proof of concept :/


Title: Re: JDog053 DevBlog
Post by: fog on June 14, 2010, 06:19:44 PM
lol, they'll be scaled appropriately in game, i just thought, the best way to capture the charm of an original old style graphic file was to stick to their limits. i'll be zooming in to about double that size with my camera, so you'll be able to see whats going on quite easily throughout the game, so don't panic :)
Yeah my pixelated graphics in 1982 are scaled 6x.  I know 6x is a weird scale, but I played around with various values until I found the one that suited the gameplay best.  Now that's a luxury you don't have with normal graphics where you would have to redraw everything :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 17, 2010, 02:15:07 PM
RIP Netbook :( it died a couple of days ago, just going through th eprocess of getting it repaired/replaced which is a shame because i loved the little thing :/

Luckily however everything i needed is backed up, so i can continue to develop upon its return my SHMUP Engine and proof of concept game Asteroids before starting work on something more substantial, unique... ish ;)

i'm in the process of installing VS2010 and XNA 3.1 on my desktop, hopefully it'll be temporary anyway because i much prefer developing on my laptop.

atleast being away from the PC like Prime_8 was saying allowed me to come up with some solutions to problems here and there and better ways of organising things whic is always positive. So as soon as its installed, i'll get cracking again on the projects :)

EDIT: I'm also tempted to give blogging another go too, since I can talk about stuff i'm doing and my other interests etc, doesn#t need to be mega frequent either, 1 or 2 posts a week should cover it...


Title: Re: JDog053 DevBlog
Post by: fog on June 17, 2010, 06:00:14 PM
RIP Netbook :( it died a couple of days ago, just going through th eprocess of getting it repaired/replaced which is a shame because i loved the little thing :/
Ouch.  Now that I have my iPad I do most of my stuff on that such as surfing, email and reading etc, but I'd be lost without my little eeePC for development even though I have a much better spec desktop that I could code on.


EDIT: I'm also tempted to give blogging another go too, since I can talk about stuff i'm doing and my other interests etc, doesn#t need to be mega frequent either, 1 or 2 posts a week should cover it...
Do it.  Depending on what sort of blog you plan on doing it could just be a repeat or a slightly edited version of what you post in here.  Or do you plan on doing it as another tutorial style affair?


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 17, 2010, 07:25:49 PM
I was just gonna blog inane things like, my interest in Disney, model makeing, programming, a hodge podge basically should be fun, no proper structure or anything just an actual blog.

this is more focussed about my coding or lack thereof :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 21, 2010, 02:45:44 PM
Refactoring 'n' stuff.

well since my netbook died, i've been spending ages reinstalling stuf on the PC, now thats done i've been getting back to some programming, at the moment i'm working on a nice Input Class (about time I made one) since everything before was a bit of a "hodge podge". I am wondering something however, in a method, how would i feed which thumbstick i'd like to get info from so i only have to make the method once instead of twice?

Code:

public float StickAngle(PlayerIndex playerIndex, GamePadThumbsticks thumbSticks)
{
Vector2 vector;
vector.X = GamePad.GetState(playerIndex, GamePadDeadZone.Circular).thumbSticks.X;
//etc.
}


because at the moment, it doesn't work and any help would be greatly appreciated. :)


Title: Re: JDog053 DevBlog
Post by: fog on June 21, 2010, 03:40:43 PM
From memory you just need to feed in your PlayerIndex and not that thumbSticks variable (what are you using it for?)

Try:

Code:
public float StickAngle(PlayerIndex playerIndex)
{
Vector2 vector;
vector.X = GamePad.GetState(playerIndex, GamePadDeadZone.Circular).ThumbSticks.Left.X;
vector.Y = GamePad.GetState(playerIndex, GamePadDeadZone.Circular).ThumbSticks.Left.Y;
return (float)Math.Atan2(vector.X, vector.Y);
}

If that doesn't work I'll dig out some proper code.


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 21, 2010, 03:51:55 PM
Oh, thats the code i've got currently, erm... i'm doing it so i can feed on which stick so i don't need to recycle code for example...

"player.angle = input.ThumbstickAngle(Player.One, Thumbsticks.Left)"

Instead of coding it twice for both Left and Right stick.


Title: Re: JDog053 DevBlog
Post by: fog on June 21, 2010, 07:32:05 PM
I wouldn't have a method just for that anyway TBH.

If you have a method in your code library that finds and angle when given a vector2 then just use that instead (and if you don't have a method that does this then you really should have one as you'll need it elsewhere).

So you would just end up with
Code:
player.angle = GetAngle( GamePad.GetState(playerIndex, GamePadDeadZone.Circular).ThumbSticks.Left )

And I have a vector2 extension so I can get the angle of any vector2 simply by:
Code:
player.angle = myVector2.Angle()


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 21, 2010, 09:26:06 PM
actually, thats a great way of doing things! makes more sense to extend generic functionality :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 23, 2010, 11:46:52 PM
been a quiet week, refactoring and stuff (new version) the older playble version is still there, just need to polish it. Basically i'm learning from my mistakes :)


Title: Re: JDog053 DevBlog
Post by: fog on June 24, 2010, 12:47:09 PM
been a quiet week, refactoring and stuff (new version) the older playble version is still there, just need to polish it. Basically i'm learning from my mistakes :)
Hah basically what I've just been doing too. :)  Re-factoring using your new found knowledge and experience is quite satisfying...even if ultimately the new code does exactly the same thing!


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 24, 2010, 04:41:01 PM
True Fog, but you've got something to show for it :P Thats why i'm being extra careful to not touch my working version. In the end though, both versions will be exactly the same and nobody other than me will know the diiferences :) much like you were saying, in short, games development is fun.


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 27, 2010, 11:44:56 PM
Had the weekend off :P I needed it tbh, allowed me to work out kinks in my engine and how i'm gonna structure it. To make it more reusable/recycleable i'm tempted to have either an ingame GUI that you can edit to make a game, or some simple scripting, at the moment though, its too far away to plan but thats where i want my engine to go..


Title: Re: JDog053 DevBlog
Post by: fog on June 28, 2010, 04:58:10 PM
I had the weekend off too.  :)  Watching the sport (I wish I hadn't bothered) and when it's too hot like it has been then it's impossible to code.  Good job we only get 2 hot days every year up here then  :)

As for scripting that's essentially what I have now with relatively little game specific code required for a new game.

I started building a GUI for editing when I was working on my old DBPro engine, but soon realised it was pretty unnecessary for the majority of things as it was just as quick to alter the scripts manually.  I think I'd only add a GUI now if I wanted to make editing accessible for others where scripting might prove too complicated or cumbersome.


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 28, 2010, 08:22:18 PM
Yeah, if i was going to do an engine for distribution (which is an even more long term plan o.O that i shouldn't really have at this stage) then doing a simple scripting language seems entirely logical to me anyway, since everyone has notepad, and if they're just chnaging a few words, dropping in a few commands, all they need to do for another game is to change the notepad file and not rebuild an EXE. So it further simplifys the wonderful XNA. As i'vesaid though, thats a bit far down the line but its something i've always wanted to do.

At the moment i'm working in this cycle

Code(new feature) > Test > Neaten(new code) > Test > Code(new feature) > etc.

With the engine, in the end it'll be everything together, with a few simple commands, all scripting is doing i building a parser on top of it, which reads in a text file, so its not that impossible, and with C#'s string manipulation its made nice and straight forward.


Title: Re: JDog053 DevBlog
Post by: fog on June 28, 2010, 10:19:14 PM
With the engine, in the end...
There is no end.  That's the curse of engine development lol :)

I'll just add this feature and it will be finished.
Now that would be a cool engine addition.
And why didn't I think of adding this before?
repeat...


Title: Re: JDog053 DevBlog
Post by: JDog053 on June 28, 2010, 10:30:22 PM
Haha, well, the life of an engine developer. I suppose an engine can be done temporarily :) its done if everything you intended to add to a game is there ;)


Title: Re: JDog053 DevBlog
Post by: T_M_C on June 29, 2010, 06:48:03 AM
Quote
There is no end.  That's the curse of engine development lol

I'll just add this feature and it will be finished.
Now that would be a cool engine addition.
And why didn't I think of adding this before?
repeat...

Very true.  lol.

My level editor is a good couple of years old now, and i'm still making changes to it as new features are needed, or old ones discarded.

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 06, 2010, 10:12:47 PM
Things are still progressing slowly, just doing some slight changes to make the coding process easier aswell as building it with simple script in mind (but won't be used for a while). Since its being built from the round up (ontop of the engine) to be asteroids.


Title: Re: JDog053 DevBlog
Post by: fog on July 08, 2010, 09:55:59 AM
Good to hear you're still making some progress.  This hot weather isn't great for coding in.  :P


Title: Re: JDog053 DevBlog
Post by: T_M_C on July 09, 2010, 09:11:37 AM
Quote
Good to hear you're still making some progress.  This hot weather isn't great for coding in.

Certainly is.

Just bought myself a decent indoor fan.  Which is constantly on the go here.  Makes sitting at the computer much more comfortable now.

Also probably why the forum is a bit quiet of late.  People out and about enjoying the hot weather.

Keep up the good work Jdog.   ;D

TMC




Title: Re: JDog053 DevBlog
Post by: JDog053 on July 09, 2010, 03:13:50 PM
Or... inside trying to avoid it ;) I'm not a hot weather man, but its hot everywhere. Thanks TMC more decent updates coming soon :)


Title: Re: JDog053 DevBlog
Post by: fog on July 09, 2010, 10:23:05 PM
Just bought myself a decent indoor fan.  Which is constantly on the go here.  Makes sitting at the computer much more comfortable now.
I have a big fan on the go too.  Of course if this hot weather wasn't such a freak occurrence we'd all have air-con like they do in sensible countries :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 12, 2010, 11:04:37 PM
Its cooled down so i'm back coding again, with some progress, nothing that looks physically different on the top, just a bit more efficient here and there, making it more readable, easier to change. I'm in number manipulation mode at the moment which is all good, and as you can tell by your (Fogs) update i'm contemplating level editor/engine for this project down the line (probably after asteroids but before my next project).


Title: Re: JDog053 DevBlog
Post by: fog on July 13, 2010, 12:04:15 PM
Yeah it's considerably cooler here too so my brain doesn't feel like it's melting.  :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 13, 2010, 08:40:19 PM
More progress being made. Version 1 was a bit too simple (works mind, so its saved ;)) Version 2 I massively overcomplicated things (also still saved but not quite working), Version 3 the difference between Version 1 and Version 2 and it seems to be working so far just a few complex bits (collision related) that i'll have to sort out.

The biggest thing this version does is remove the too specific method problem that I was having before, my EntityManager class had a MakeAsteroids method, when I could've and should've put that in my Rules class. So in the Entity/Sprite class there are general Position/Texture/Rotation/Update methods and this system focusses more on behaviours of multiple entities then single entities.

It sounds super complex, but trust me its simpler and its working.


Title: Re: JDog053 DevBlog
Post by: fog on July 14, 2010, 08:38:09 PM
It sounds super complex, but trust me its simpler and its working.
At the end of the day that's all that's important.

I asked a few questions when I first started just to make sure I wasn't setting off on the wrong foot and after that I've just made it up as I've gone along.  If I bothered to read any tutorials or theory then I'd probably realise my code is horribly wrong and would give proper coders sleepless nights....it works though :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 15, 2010, 03:04:14 PM
Simplified it further with some good results so far. I've finally made it so anything custom to the game gets made in the Rules class (as it should've been) so now I just make a simple Asteroid method, feed it 6 parameters (amount, asset, x, y, angle, speed) Do the same for my UFO's Bulets and players. Then for my next project since the behaviours are written I can just rename them, drop them into a more robust EntityManager method and build it up and a game by game basis instead of throwing all my eggs into my Entity basket and have it not work.

So its progress, but you'll have to bare i mind that i'm a bit OCD.

One thing I am proud of adding recently is a TextureManager Class, where I load all of my textures into that and then simply retrieve the textures for use in my objects as and when necessary, unlike before where every sngle sprite had a list of textures and i select which one was the active texture. Its not quite done, ideally i want it to cycle through a textures folder and add to the list itself when the program is run (but thats for my engine which is a down the line project).

Soo, for asteroids, all I need to do is re-add the logic/behaviours then its playable again. Then to add Menu's and local scoreboard and its done, phew.


Title: Re: JDog053 DevBlog
Post by: fog on July 15, 2010, 09:35:06 PM
Its not quite done, ideally i want it to cycle through a textures folder and add to the list itself when the program is run (but thats for my engine which is a down the line project).
Interesting idea.  How would you do that then as you still need to add the files to the project manually AFAIK?

As it happens I only use 1 sprite sheet for all my in game graphics so what you say might well be possible, but it's not a problem I've really thought much about. (I do have separate image files for standard button images or anything else that wont change from game to game though.)


Title: Re: JDog053 DevBlog
Post by: T_M_C on July 16, 2010, 05:40:07 AM
Yeh, my code audit's all media folders when it's first run, and builds a filename list of al the media thats available.

And i don't usualy load all media into ram at once, because i usualy have so much of it.

But load and unload media for each level.

I also prefer seperate images instead of sprite sheets, simply because it's less hassle.  But it does take up more memory.  :)

TMC


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 16, 2010, 01:33:32 PM
Yeah, you're able to do that with XNA/C# as far as i'm aware using a FromFile command somewhere or other.

As for Sprite Sheets/Single Images i'll be using a mix of the two to get my program working. I'll only be making sprite sheets if each image in the sprite sheet is of the same dimensions and i'll have differet sheets of different sizes. I was also told the Xbox prefers sprite sheets whereas for PC you can do personal preference :)


Title: Re: JDog053 DevBlog
Post by: fog on July 16, 2010, 07:56:44 PM
I also prefer seperate images instead of sprite sheets, simply because it's less hassle.  But it does take up more memory.  :)
Me too.

As JDog says, on the XBox changing textures is relatively slow so if you can keep everything on a single texture there are huge performance gains.

The way my code is structured I can use separate textures during development and then just bundle them all into a single one before release so it's not too much of a pain.

I was also told the Xbox prefers sprite sheets whereas for PC you can do personal preference :)
The SpriteSortMode you use is also very important so you might want to look into that especially if you are changing textures a lot too.


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 17, 2010, 03:01:16 PM
I'm in research mode at the moment Fog so i'll give that a look. I have to say even the XNA is a pretty solid base its impressive just how many ways of doing things there are. I would say though I think i'm hugely overcomplicating things. You'll see what I mean next update. One thing I am making sure to do this time around though (even though i'm making Asteroids) is to keep everything i've done saved, I can at any point stop what i'm doing and go back to any previous versions. Its great to see how much i've learnt so far, but it'll be better when everytime I boot up my code i'm lost for an hour blasting Asteroids and beating scores.


Title: Re: JDog053 DevBlog
Post by: fog on July 17, 2010, 07:30:18 PM
Its great to see how much i've learnt so far, but it'll be better when everytime I boot up my code i'm lost for an hour blasting Asteroids and beating scores.
That's what I'm doing ATM.  Adding a bunch of enemy attack waves, firing it up for a quick test and then losing 1/4 every time "testing".  It's terrible for progress but proves I'm doing something right I suppose.

Still, having fun playtesting is what keeps you going.  :)

I know a lot of developers write something specifically just to cash in on the latest craze and while I could never do that, I'd love to know how they stay motivated writing something they don't want to play themselves.


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 19, 2010, 01:59:32 PM
I've also been finding myself using static methods more often. Is this the right way to go? an example would be my Input Class which i'll post below. I need to edit my Left and Right thumbstick class because i'd forgotten that Y is flipped :/ still though code is being produced.

Code:

public class Input
{
    public static Vector2 LeftThumbstick(PlayerIndex playerIndex)
    {
        return GamePad.GetState(playerIndex, GamePadDeadZone.Circular).ThumbSticks.Left;
    }

    public static Vector2 RightThumbstick(PlayerIndex playerIndex)
    {
        return GamePad.GetState(playerIndex, GamePadDeadZone.Circular).ThumbSticks.Right;
    }

    public static float LeftTrigger(PlayerIndex playerIndex)
    {
        return GamePad.GetState(playerIndex, GamePadDeadZone.Circular).Triggers.Left;
    }

    public static float RightTrigger(PlayerIndex playerIndex)
    {
        return GamePad.GetState(playerIndex, GamePadDeadZone.Circular).Triggers.Right;
    }

    public static bool Button(PlayerIndex playerIndex, Buttons button)
    {
        return GamePad.GetState(playerIndex).IsButtonDown(button);
    }

    public static bool Key(PlayerIndex playerIndex, Keys key)
    {
        return Keyboard.GetState(playerIndex).IsKeyDown(key);
    }

    public static bool Deadzone(Vector2 vector, float deadzone)
    {
        return (vector.Length() > deadzone);
    }

    public static float Angle(Vector2 vector)
    {
        return (float)Math.Atan2(-vector.Y, vector.X);
    }
}



Title: Re: JDog053 DevBlog
Post by: fog on July 19, 2010, 02:58:12 PM
Someone will probably be along soon to tell you not to use Statics.  I use them a lot though and as we always say, if it works for you then why not. :)

My Input class is quite a bit different from yours.  Firsty my joypad, keyboard and mouse are all in separate classes.  Not only is that more logical to me, but it makes things easier when trying to support multiple formats.  For example Mouse commands wont compile on the 360.

Also even in my input classes I've stuck to the Initialise(), Update(), Draw() etc format used elsewhere.  So I call Joypad.Update() in the main Update() method and that stores the current joypad state in a series of variables.  I then access these variables wherever I need to check for any input.

I also store the status for each button as either:

NotPressed = button is not pressed.
Released = button has been released since last update
Clicked = button pressed since last update
Pressed = button still pressed

eg:
Code:
if (Joypad[playerIndex].ButtonX.Clicked == true)

In my actual Input class I have a few methods that check all possible input devices for a possible action.

So Input.AnyClicked will tell me if any joypad, mouse or keyboard button has been clicked (essential for PC support)

And Input.AnyUp will tell me if any input corresponding to "Up" on joypad analogue, d-pad or Up cursor key has been pressed. (useful for menu code etc)

What I do is far from the fastest method as I'm recording a lot more information than I need every update.  I just prefer having all that data available as easily as possible at all times.

And I expect a lot of proper coders reading that have just died from shock  ;D


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 27, 2010, 12:42:24 PM
Just thought i'd say my Input class is done, as is my global asset manager (models, textures, spritefonts every loadable really) just need to make it account for animation on all those types (bar text). I'm in the process of adding text based menu's so I can tweak all tweakable variables during runtime aswell as stuff without recompiling etc. effectively making a watered down TMC style editor... but all this will be useless without it writing my changes to a text file :)

The good news is i am progressing and getting better the whole way IMO oh and enjoying the process ;)


Title: Re: JDog053 DevBlog
Post by: T_M_C on July 27, 2010, 01:27:22 PM
Sounds as though you're progressing really well there Jdog.   ;D

And wrapping it all up into an editor sounds like a wise choice too.  Thumbs up from me.

I save all my data as binary files, with mixed, text, int's and floats.  Something thats pretty easy to do with blitzmax.

TMC




Title: Re: JDog053 DevBlog
Post by: fog on July 27, 2010, 03:08:18 PM
XNA is pretty handy with xml files JDog.  It outputs and reads the files relatively easy and xml is really easy to understand and edit by hand if necessary.


Title: Re: JDog053 DevBlog
Post by: JDog053 on July 31, 2010, 06:11:57 PM
Well, i'm making yet more progress, all of my classes are more logical.

My menu system is progressing, I have a Button class and a Menu class, the Menu clas holds a list of buttons which can have many properties, and can also be bound to a generic type, meaning one button can affect the volume while another can affect the position or the colour etc, with it being purely generic. This is super useful for my editor anyway. Just a shame I have to through the long process of making menu systems before I can then re-apply it to my system to make it more useful.

As for writing and reading from a file i'm working out a way where I can have it read in the total number of placed sprites (drop that into a for loop) then cycle through, declare the sprites and give the sprites all the stats ready to be placed.

So my first test of my mini-editor system will be on par with a map editor almost, controlling the placing, scale and rotation of sprites aswell as saving the file with a unique name. I expect this'll take a while but it'll be very useful.

I was also wondering, is there a method in C# that instead of ToString() but FromString() ?


Title: Re: JDog053 DevBlog
Post by: fog on August 01, 2010, 02:59:43 PM
My menu system is progressing, I have a Button class and a Menu class, the Menu clas holds a list of buttons which can have many properties, and can also be bound to a generic type, meaning one button can affect the volume while another can affect the position or the colour etc, with it being purely generic. This is super useful for my editor anyway. Just a shame I have to through the long process of making menu systems before I can then re-apply it to my system to make it more useful.
You're one step ahead of me then as I still don't have nice accessible button classes :)  All my button stuff was just cobbled together in my menu class just to get it working.  And yes, it works fine, but I can't use those buttons of sliders elsewhere yet  :P



I was also wondering, is there a method in C# that instead of ToString() but FromString() ?
You probably want:

int.Parse(myString) or float.Parse(myString)


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 01, 2010, 05:52:30 PM
Quote
You probably want:

int.Parse(myString) or float.Parse(myString)

Actually, I don't want that ;) Here's what i'm doing... from "Color.White" to Color.White. As ever though it seems like i'm overworking myself and just having the seperate RGB values would make more sense :) although being able to do something like that should be possible.

Thanks Fog, seem to be on the right track again!

As for your buttons, you're actually 1 step ahead of me because your system works as it should, whether its too specific doesn't matter lol, it does what you want. My buttons are very nearly there though ;)

Anyhoo, back to coding for me!

EDIT: Seemed like thats all it was which is good, I thought i'd have to do something more complex which is never good.


Title: Re: JDog053 DevBlog
Post by: fog on August 02, 2010, 07:06:36 PM
Here's what i'm doing... from "Color.White" to Color.White. As ever though it seems like i'm overworking myself and just having the seperate RGB values would make more sense :) although being able to do something like that should be possible.
Yeah I use RGB values too.

Do look into serializable xml if you are doing a lot of this sort of thing though as not only does it make loading and reading of values easy, it even assigns them to the correct variables for you automagically.


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 02, 2010, 07:49:59 PM
I will do but for the time being its unnecessary.

Since all my loader does is read a line, split the string into each of the sections (like a line of executable code) and then parses them appropriately. Or atleast it did till I deleted it.

My writer does it a bit easier though.

Oddly though, my actual project seems to be going smoothly. Don't worry, its not that big or flashy!

As for asteroids, I need to finish all my Menu code which as you've pointed out and I agree with, is very boring code! I just need to re-find and add my own font in, get the game playable again lol then distribute it.


Title: Re: JDog053 DevBlog
Post by: PaulCunningham on August 03, 2010, 02:02:28 PM
Someone will probably be along soon to tell you not to use Statics.  I use them a lot though and as we always say, if it works for you then why not. :)

using Statics makes your code difficult to unit test.

e.g.

SomeClass
{
   SomeMethod()
   {
      InputHelper.StaticMethod();  <-- cannot swap out this functionality for anything different.
   }
}

SomeClass is dependant on the functionality in InputHelper.StaticMethod.  How do we isolate the functionality in SomeMethod so that we can
reliably test it?

Now consider this...

SomeClass
{
   IInputHelper _inputHelper; <-- some object that implements a suitable interface
   
   //Inject the type of inputhelper class at run time in the constructor (flexible but a little basic - there's quite a few dependancy injection libraries out there!!)
   SomeClass(IInputHelper inputHelper)
   {
      this._inputHelper = inputHelper;
   }
   
   SomeMethod()
   {
      this._inputHelper.InstanceMethod();
   }
}

therefore in your real game inject your normal input helper that reads the gamepad / keyboard / whatever...

in your unit tests inject an object that is suitable for testing a particular function. It might be input read from a file, hard coded values, whatever is required for a particular test.
Automated unit tests are great in that they can regression test your code as you make changes. Add some code, test breaks == problem!

Not a silver bullet obviously but a great tool.  NUnit is pretty simple and hassle free (posh versions of Visual Studio have something similar)

PS - I don't have a single unit test in my XNA code :-)


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 03, 2010, 04:41:14 PM
Thanks, i'll definately be taking it all into consideration! a lot to swallow there :)


Title: Re: JDog053 DevBlog
Post by: fog on August 04, 2010, 06:16:28 PM
Cheers for the explanation Paul.

So I guess it's one of those good practice things that a lot of people just choose to ignore.  I think I'll just carry on doing what I'm doing right now but at least I know the consequences now :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 18, 2010, 01:14:44 PM
Its been fairly quiet on the coding front.

I'm working on a simple 2D Tile engine/editor. Which allows me to set grid size and then paint tiles. I'm working on some simple UI to go with it at the moment, then its pretty much done.

This is for my 3rd year project :) I'm doing a 2D tile editor as a pre-cursor to my 3D tile editor, which'll be used for the prohject, the 2D version seems like a fun stepping stone and something I can use as the base for my game engine.

I'm also re-writing some of last years coursework (a simple, client and server) so I can see about making it useable in the PC version of my main project. As i've been researching, i've seen a fair few ways of getting netcode to work, but because i'm far from an expert, i'll be more than content if it works, let alone does everything properly.

Just thought i'd keep you posted :)

Before I get Asteroids done, I need to polish off my Menu system, add my font that I made ages ago... and get some bigger sprites :P Its become more of a relaxing project, something I can do as a break from my "practice" 3rd year project and my actual 3rd year project.

The third year project is a 3D Golf game using proper golf physics. Since i'd love a first, i'm going all out on this one!

If you don't have it already, i'd recommend getting Blender!

http://www.blender.org/ (http://www.blender.org/)


Title: Re: JDog053 DevBlog
Post by: fog on August 18, 2010, 08:32:11 PM
Good to hear you're still plugging away JDog :)

TBH I think you've done really well to do anything at all when you also have coding to do for Uni.  I know if I was coding during the day then I probably wouldn't want to do any when I get home.  One of the reasons I've stayed away from 3D is because I don't want to do any modeling in my spare time when I've spent all day doing it.


The third year project is a 3D Golf game using proper golf physics. Since i'd love a first, i'm going all out on this one!
Very cool.  That's one of the few 3D games I'd like to have a go at as I'm mad on golf games.  Is it a straight golf sim or can you put your own ideas in there?


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 19, 2010, 12:16:12 AM
Good to hear you're still plugging away JDog :)

TBH I think you've done really well to do anything at all when you also have coding to do for Uni.  I know if I was coding during the day then I probably wouldn't want to do any when I get home.  One of the reasons I've stayed away from 3D is because I don't want to do any modeling in my spare time when I've spent all day doing it.


The third year project is a 3D Golf game using proper golf physics. Since i'd love a first, i'm going all out on this one!
Very cool.  That's one of the few 3D games I'd like to have a go at as I'm mad on golf games.  Is it a straight golf sim or can you put your own ideas in there?

Thanks, and yes we have full freedom. I've already got the basics fleshed out of what i'd like the game/physics to have/model.

For the project though, we get more marks for the essay then the code itself, so i'm future proofing everything, lookily essays are straight forward, getting it working in the end however might be the tricky part.

I completely understand, for me modelling is a break,for you coding is a break, makes sense :) I do enjoy coding though, but its the sort of thing you need to be in the mood to do.


Title: Re: JDog053 DevBlog
Post by: T_M_C on August 19, 2010, 08:12:10 AM
Sounds like you're snowed under with work Jdog.

That Net code sounds really interesting.

Thats one area i've not done any coding in.  How about a muliplayer version of asteroids over the Net.   ;D

I've heard alot of people say how good Blender is.  Never used it myself.  I'm strictly a 3ds Max person.

Your tile editor sounds interesting.

I dropped the idea of using a tiles a few years ago.  My editor now processes all images at once which means an image can be of any size and orientation and placed anywhere on the map.
And not restricted to a tile location.
Other techniques can be used to partition the level for speed optimisations.

I often wonder why people still choose to a use tiled system. 
It is very retro though.  Which is no bad thing.  I just think it's very limiting by comparison.

TMC


Title: Re: JDog053 DevBlog
Post by: fog on August 19, 2010, 06:15:18 PM
I often wonder why people still choose to a use tiled system. 
It is very retro though.  Which is no bad thing.  I just think it's very limiting by comparison.
Well the next thing I'll probably add to my game engine will be a tile based map system.  The game I have in mind next just requires that sort of map so that's why I've chosen that over a free-form map system. :)

And in many ways the limitations of a tile based system are also it's strength.  Simplicity and speed in both creation and in action.

I'll no doubt add a free-form system in the future, but when I do it will be in addition to the tile based one and not to replace it.  That way I can use a combination of the two and get the benefits of both.


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 19, 2010, 10:24:56 PM
I often wonder why people still choose to a use tiled system. 
It is very retro though.  Which is no bad thing.  I just think it's very limiting by comparison.
Well the next thing I'll probably add to my game engine will be a tile based map system.  The game I have in mind next just requires that sort of map so that's why I've chosen that over a free-form map system. :)

And in many ways the limitations of a tile based system are also it's strength.  Simplicity and speed in both creation and in action.

I'll no doubt add a free-form system in the future, but when I do it will be in addition to the tile based one and not to replace it.  That way I can use a combination of the two and get the benefits of both.

Thats the reason really, not only is it traditional, but its a great way of doing it for my projects, in 2D or 3D. then I can easily use it to make a Hex grid or an Isometric grid etc. Which then easily translates into 3D.

As for the net code, it works fine over a LAN connection so far (i'm only sending strings from A to B at the moment, which is a good start), i'm having a little bit of problem using proper Net code, but i'm sure these problems will iron themselves out.


Title: Re: JDog053 DevBlog
Post by: fog on August 20, 2010, 09:46:45 PM
What ideas you got for your golf game then JDog, or are you doing a straight sim? :)


Title: Re: JDog053 DevBlog
Post by: JDog053 on August 21, 2010, 12:39:36 AM
What ideas you got for your golf game then JDog, or are you doing a straight sim? :)