Scrolling Game Development Kit Forum

SGDK Version 2 => Projects => Topic started by: Vincent on 2009-11-02, 12:16:30 PM

Title: Lok Revival: first alpha version
Post by: Vincent on 2009-11-02, 12:16:30 PM
Hi everyone!

After a little less than a year in production, I have a first level done in Legacy of Kain: Revival!

The next steps are:
- making the game zoom so can play a bigger version of it
- making the "hit sparks" appear at the right place
- create a mini-map
- Then level 2

No sound or music for the moment, it may be added between lv 2 and 3.

I'm very anxious to hear your comments, suggestions and questions. :)

You can download the game in the repository.

@bluemonkmn: I tried to upload a zip file containing the sgdk2 file, but I keep getting disconnected, but I'm not sure it is the right error message, since I'm not losing any other connection.  Is there a max file size on the repository?  Is there maintenance going on?  Do you see my updates?  Thanks!
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2009-11-02, 05:42:49 PM
The maximum file size is 15,000 KB (about 15 MB).  Also, the file must be zipped.
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-02, 08:02:50 PM
Okay, I tried it again at home and it works fine, no problem.  It was a little glitchy at work.  I'm just waiting for your approval bluemonkmn!

Thanks!!!

Can't wait to hear your comments! :)
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2009-11-02, 09:14:30 PM
Playing demo now.  Boy, I look forward to when this window can be bigger... perhaps I will look into it myself and see if I come up with any way to stretch the graphics without leaving lines behind.

1) Typos:
   a) First (or second) message in the demo has "Strength" misspelled as "Strenght" or something like that.  (I didn't make a note of it before proceeding)
   b) "Vorador's entensive library" should probably be "Vorador's extensive library"
2) Writing style / grammar:
   a) "Speaking of which..." seems out of character.  How about, "This reminds me..."
   b) When you have parenthetical phrases with instructions, since they appear after a period, the following sentence should be capitalized and end with a period (inside the parentheses when contents of the parentheses is a complete sentence).
   c) Another thought that might be cool, but I don't know how hard it would be: display the instructional piece of the message in a separate differently-colored box without Kain's face.  I believe the messaging functions allow you to have multiple messages visible at once.  But that's just an idea.
   d) "There is not enough place to dodge them" should be "There is not enough room to dodge them."
   e) In the message"Press skill button when activate skill is active", the word "activate" should probably be marked better like: "Press skill button when the [Activate] skill is active"
3) That door is cool! :)
4) Nice touch on explaining "This obstacle could be broken if I were stronger" when I try to attack the wall (which apparently will be breakable later).
5) I notice the first background scrolls horizontally at the same rate as the foreground, but not vertically.  Wouldn't it look more 3D if it scrolled more slowly than the foreground horizontally?  I like the way things look when scrolling vertically.
6) Would it make sense to flip Kain's head horizontally when it appears on the right side of a message?
7) The level of detail is just ... beautiful for an independent game.
8 ) I really admire the amount of text you have put into the game to keep the player informed of what's going on.  I think too many games fall short there.
9) How did you make that switchable floor?  Did you change the map when the switch is pulled or is that piece of the floor just a sprite that the payer can walk on, but not walk through?
10) When I attacked an opponent through a closed door, he jumped to my side of the door, and then back to the other side after a second, and wend back and forth a few times.  I assume that wasn't intentional.
11) What am I supposed to do about the archers shooting be from little ledges above me?  Maybe just avoid them?  Should there be a message about this?
12) I died right before the first save point.  But it made me notice, all the messages are replayed, which is probably unnecessary.  But if it really started the whole game over, I guess it makes sense.
13) On my second time through, when I got to the switch next to multiple blood vases, I started draining blood from both of them at once and got the message "Attempted to execute AlterYVelocity on an inactive sprite".  I guess this would only occur in debug mode, but might be worth noting.  It's in BloodSpriteDef.cs line 222.  After this  I can't seem to drain blood from any of those things even though they're still standing there.  I'm not sure if this is because I already drained part of it and let it spill, or because of the error, or because I had to go back to the beginning when I died.
14)  Argh, died again when I met the guy by the fountain without telekinetic abilities

But this is amazing.  I think the biggest and most important gains on first impressions will come from having sound and having a larger display.  But the graphics alone make a great first impression!

No more time tonight, but I hope to get back to it later.
Title: Re: Lok Revival: first alpha version
Post by: TheLaw on 2009-11-03, 04:12:58 AM
 :) 8)  Great work Vince! Your game is looking very impressive.

Apart from what bluemonk has already mentioned, the only complaint that I can come up with is the controls. I know they're easily changeable by the user, but you should consider defaulting them to something a little more user friendly. For me when I'm playing on the keyboard I prefer to use the shift/ctrl/alt/etc on the left side of the board - since the cursor keys are on the right.

And I was really feeling bluemonks comment: "Boy, I look forward to when this window can be bigger". You're graphics are great I just wanna get a little "closer" to them...!

Lastly, and I do not want to dwell on this 'cause it's a work in progress, but your first fight didn't have the sort of SI / action that would be necessary to really sell users on the game.  But, hey, it was a solid effort and you can juice it up later!

...but those are just details. Everything that matters (at this point) is very well done. Keep up the awesome work!

Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-03, 08:33:43 AM
Thanks a lot guys! :)

I really need your comments and suggestions, because I've been working on this for so long that I take many things for granted and many that I just don't see anymore.  I can't even tell if the game is fun or not (although it might be a little soon to determine that already).

I'll begin working on your suggestions right away.

@bluemonkmn:
1 and 2) Thank you for the text corrections.  I guess I can speak English well enough to be understood but I'm far from being perfectly bilingual.  I guess I'm still thinking in french and then translate into English rather than thinking in English straight away, so it leads to some strange dialogs, such as "There is not enough place to dodge them", "place" being french in that context. :) 
3) I'm glad you like the doors! :D
4) Yup, the wall can be broken later with the right skill.
5) Okay, I will change this! :)
6) Good idea!
7) Thanks!  But...  I can't take too much credit for it.  99% of the graphics come from Castlevania games and other games with a similar design.  I only tweak them to make them fit together, recolor them to suit my needs.  I can't draw that good, unfortunately. :)
8) Oh good!  I was afraid people would think it too much and get bored.  I plan to reduce the amount of "informative" text as the game goes on and the player learns the mechanics.
9) It's a sprite that is basically working like the doors.
10)  Yes...  I'm aware of that.  I keep trying to solve this problem, but it keeps coming back.  :(  I've got an idea that I didn't try yet, I guess I should now!
11) The archers in the library?  I guess you do what you want!  Either kill them and feed on them or dodge the arrows and ignore them.  They are basically there to be annoying. :P
12) Yeah...  When my wife played the game, she got killed a couple of times too before the first save point.  She was getting pissed to pass through the tutorial section each time.  I was thinking to add "checkpoints" before boss fights so that when you die, you reload at the checkpoint rather than the previous save.  I guess I should add a checkpoint after the tutorial too.
13) Oh, this one is a first.  Okay, I'll look into this.
14) Checkpoint coming! :P

Yeah, bigger window would definitely be an asset.  As for sound effects and music, I prefer to delay them as much as possible since the game is already so heavy.  It will get worse with sound.  Probably busting the 15 megs limit in the game repository and then I'm screwed!  :P

Have you seen the elevator puzzle yet?

As for making the game bigger with the zooming...  I was kind of hoping you would want to look into this yourself...  :-[  Not that I want to force your hand or anything!  But I guess it will be much easier for you to achieve that since, well, you made the game engine! :)  But if you don't, well, I'll look into this myself. :)  Thanks!


@TheLaw
What controls would you suggest?  SmartBoy16 pointed this out when he played the first version with the demo room, but I don't know which button mapping would be best as default layout.

Yeah!  Everyone complains about the size of the window! :P  I got used to it, but I would definitely like it bigger too!

About the first fight.  I'm unfamiliar with your expression "SI / action".  What does it mean?  Do you have suggestions to make the first fight better?  Also, keep in mind that it is not meant to be a "boss fight" but simply an introduction to the fighting mechanics.  That being said, if you have any ideas on how to improve it: I'm all ears! :D



Thanks a lot for your time guys!  I really appreciate it! :D
Title: Re: Lok Revival: first alpha version
Post by: SmartBoy16 on 2009-11-03, 11:36:49 AM
Quote
What controls would you suggest?

 i would suggest ASD Space.

Quote
About the first fight.  I'm unfamiliar with your expression "SI / action".  What does it mean?  Do you have suggestions to make the first fight better?  Also, keep in mind that it is not meant to be a "boss fight" but simply an introduction to the fighting mechanics.  That being said, if you have any ideas on how to improve it: I'm all ears!


i think a "statue" would be a good first enemy (or one that doesn't attack very much). at this point, i am still trying to get used to the controls and it's hard to attack something that keeps attacking you (like trying to defeat a level 50 enemy as the very first enemy you see).

Quote
10) When I attacked an opponent through a closed door, he jumped to my side of the door, and then back to the other side after a second, and wend back and forth a few times.  I assume that wasn't intentional.

i think you should have the sword stop if it hits a closed door. it kind of makes sense. ;)
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-03, 12:29:30 PM
@SmartBoy16:
about controls
Allright, ASD space it is then! :)  (So space = jump, d= attack, s=skill, a = select)

about the first enemy
A statue-like enemy...  Okay, I'll keep this in mind! :)  I won't create a new enemy for this purpose right now, but I will do it eventually.

about doors
It does make sense indeed.  I just don't see how I could do this.  Well, to be honest, I see how, but it will be a lot of work.  I'm taking note of this too.

Thanks a lot SmartBoy16! :D
Title: Re: Lok Revival: first alpha version
Post by: TheLaw on 2009-11-03, 03:27:34 PM
Hey Vincent:
   
Quote
I'm unfamiliar with your expression "SI / action".

Haha, yeah I  posted kinda on my way out the door this morning. Once I left I was thinking about that.
"SI" is Synthetic Intelligence - which is what I mostly prefer over "AI". I meant to say that the character didn't seem very intelligent and failed to get me on the edge of my seat, mashing keys and sweating! I feel that the games first (few) fight(s) is usually quite important.

P.S, the Wikipedia has a cool little write up on Synthetic Intelligence here: http://en.wikipedia.org/wiki/Synthetic_intelligence

Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2009-11-03, 06:24:50 PM
11) The archers in the library?  I guess you do what you want!  Either kill them and feed on them or dodge the arrows and ignore them.  They are basically there to be annoying. :P

I tried to attack them, but it seems there wasn't enough room on the ledge for me and the archer.  I would jump up there and bounce right back down before I could attack.  So I was wondering if there was supposed to be a way for me to attack them.

Have you seen the elevator puzzle yet?

Ooh, no I haven't, but I look forward to it.
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-03, 08:45:56 PM
@bluemonkmn:
About the library archers, you can slash them with the sword while you jump without having to be on the same ledge.  Press jump button (but do not hold it, because you cannot float and attack at the same time), when you are in the air, press the attack button and time it so the reaver blade hits the archers.  The archers are rather waking 2 or 3 slashes should deal with them.


@TheLaw:
Well, for the SI, I'm a little disheartened by your comment: I invested a lot of time in the enemies AI.  Just making them mix their attacks, try to get at proper range and aim their strikes was a lot of work.  Anyway, it was my first attempt at AI, so I guess I would do better if I had to start it over again.  :(

As for the difficulty of the first fight, I think I can't really ramp it up.  As SmartBoy16 pointed out, he was still getting used to the controls and found the fight quite hard.  My wife had a real hard time too (but she does not play video games usually so...).  I want the game to reach as broad an audience as it can (and being the 6th game in a series won't make the storyline easy to grasp for everyone) so I think I won't make the battles too hard.  Seasoned gamers will find it easy enough I guess, but casual gamers should find it rather challenging I think.  (Yeah...  As if my game actually had a chance to reach a broad audience: who am I fooling now! ;) ) 

There is also the fact that my game isn't really an action or fighting game.  The idea is to put the fighting, the puzzle solving, the platforming and the storyline on an equal level.  I don't know if I will be able to balance it out, but I will try.  Usually, metroidvania games are not a big challenge fight-wise.  It gets hard when you try to finish the game in speed-run mode or by taking the fewest power-ups possible.  My game will feature a speed-run mode and will also rate the player on an item-found / objectives completed chart.  That should be challenge enough I think! :)

Anyway, the challenges will be tougher in the other levels.  This being the first level, it is supposed to an introduction and a resting place for the character.  So few enemies, easy puzzles, a couple of hidden items (did you find the hidden magic up and life up? :) ) and save points.

Wow, that's a lot of explanation! 

So, TheLaw, do you have an idea on how I could make the first fight more interesting (hopefully without writing a better AI or making the fight tougher) ?
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-03, 09:53:07 PM
Okay, I updated the file on the project repository! 

I added almost all suggestions and corrected some bugs.  I still can't figure out the door problem with the enemies "jumping" on each side.  I had an idea, but it wasn't that.  I guess I will have to dig a little deeper.

I didn't change the first battle for the moment.

Since it does make a lot of changes, can you approve my update bluemonkmn?

Thanks a lot!
Title: Re: Lok Revival: first alpha version
Post by: TheLaw on 2009-11-04, 05:15:32 AM
Hey Vincent:
   
Quote
I'm a little disheartened by your comment: I invested a lot of time in the enemies
I wouldn't let my silly little complaint get you down at all. I'm very sure you have put a lot of time and effort into what you have! It shows. Great work!

   
Quote
As if my game actually had a chance to reach a broad audience: who am I fooling now!
That's kinda the only reason I made such a comment. I think you have a great game going for ya. So, if "The only stupid question is the one not asked" (LOL!), then I'm just giving you my opinion. I wasn't treating the game as a toy, I felt it was a serious effort (that could be a big hit!), just the fight was a little "weak?" ...But then...

   
Quote
There is also the fact that my game isn't really an action or fighting game.
That works! I think my original post was not suggesting that you rip your game apart and juice up the SI for the fights right away. You should continue on with the puzzles and make them awesome; I think you have a knack for it. SI is something you can come back to later.

   
Quote
So, TheLaw, do you have an idea on how I could make the first fight more interesting
I guess it's not necessarily the first fight. I just know that designers usually try to give a strong first impression of what the game is capable of on the first level. You don't wanna spread yourself too thin or people will shut it off. You don't wanna give away everything or ...hummm...I guess they'll end up shutting off again! - but a little later!
   So, umm, I'm not sure what to suggest. I guess the "problem" might be that he seemed a little jittery and un-human. Maybe add in a few more animation sequences (jump, duck, a few more attacks,etc) for him and loosen him up a bit by changing his states with a bit more variety of moves. To me your guy seemed a bit too tight and unwilling to let his guard down and make a mistake.
   Actually for me when making "intelligence" for a game I usually refer to it as SS..."Synthetic Stupidity"! (or Artificial Stupidity, if you like). I think of it this way 'cause it's usually easy(?!) to make intelligence for a character so good that he'll never make a mistake and never loose. Computers don't get distracted or tired and never give wrong answers (as long as they're told to compute the right thing!). Not to mention they have far superior reaction speed! So, I make it my mission to write code that's perfectly intelligent and capable of doing everything I need the enemies to do and put every "capability" in a variable so I can control it later and "dumb it down". Then add in a simple FSM on top to control everything and you're good to go!

Anyway Vince, I just wanted to reiterate that I feel you're doing a great job! Keep it up. ...Don't let fools like me slow ya down! Keep doing what you're good at!

*EDIT: Humm, turns out Artificial Stupidity is real! Humm, I thought it was my own dumb idea! LOL. If it interest's you here a link:
http://en.wikipedia.org/wiki/Artificial_stupidity

I kinda like this quote from the page:
Quote
the machine should not attempt to "give the right answers to the arithmetic errors". Instead, deliberate errors should be introduced to the computer's responses.
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2009-11-04, 06:36:53 AM
Okay, I updated the file on the project repository! 
...
Since it does make a lot of changes, can you approve my update bluemonkmn?

I want to respond to much more than just this, but I don't have time for all of it now, so at the moment I'll just say that it is approved.  And I'll mention that I tried jumping and attacking the archers but could not attack in the air.  I must have been floating.  If there's any way to help a player figure that out, that would be nice.  That's why I brought it up.
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2009-11-04, 07:44:24 AM
Hey Vincent:
  
Quote
I'm a little disheartened by your comment: I invested a lot of time in the enemies
I wouldn't let my silly little complaint get you down at all. I'm very sure you have put a lot of time and effort into what you have! It shows. Great work!

  
Quote
As if my game actually had a chance to reach a broad audience: who am I fooling now!
That's kinda the only reason I made such a comment. I think you have a great game going for ya. So, if "The only stupid question is the one not asked" (LOL!), then I'm just giving you my opinion. I wasn't treating the game as a toy, I felt it was a serious effort (that could be a big hit!), just the fight was a little "weak?" ...But then...

Perhaps the question to ask is this: is there any particular strategy to be used against this enemy, or do you just start hitting the attack key and hope that you kill the enemy before you run out of life?  I think in many games the strategy involves defending until the enemy attacks, then counter-attacking when you know they can't attack or defend quickly enough.  Ideally, it should be possible (although it may be difficult) to defeat enemies without being hurt.  At the early stage of the game maybe there isn't any strategy because you only have a weak sword at your disposal, but further into the game you pick the right "weapon" (spell) for the task, perhaps?  In at least one of the Legacy of Kain games, didn't they start you out with a lot of powers and then take them all away so that you would be enticed by the power you could regain?

But I agree that you should not be disheartened by these comments.  One of the most impressive aspects of what you've done is the variety of enemies and the complexities of their movements.  It's not that your enemies aren't sophisticated enough (they seem very sophisticated).  It's just that with the current patterns, the strategy against these enemies is not always clear.  Like Law said, there isn't a weakness.  For example, I'm not sure exactly how the archers behave, but if they would pause for an extra couple seconds after every 3 arrows they shoot, it might help.  Maybe you already have such patterns built in (I've only seen a couple enemies so far and didn't pay so much attention to patterns -- and I didn't get a chance to review all the enemies in the earlier demo), but I'm not aware of them myself.  Even without these clear strategies, though, the enemies are pretty impressive.
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-04, 08:17:13 AM
@TheLaw:
Don't worry, I won't suicide because of your comment! lol!  I said I was a "little" disheartened. :P
The reason why the enemy doesn't really lets his guard down is because I thought the AI would be weak and then the enemies would be easy to beat.  When I started making the AI I wasn't really confident, being a first attempt, so I decided the make the attacks and behaviors as tight as possible.  The way the AI works, the enemy tries to get in range, then he tries an appropriate attack based on Kain's location, then he has a cooldown.  It's about the same for all enemies.  During the cooldown, the enemy does not attack.  The cooldown is different for all enemies.  The red spearman steps back during his cooldown.  So it leaves an opening to fit a sword attack.

@bluemonkmn
The enemies all have a weakness or a technique to fight and kill them easily.  The thing is, I didn't really planned those techniques while development, but while I fought them I found good ways to defeat them.  For example, the red spearman does not have an upward diagonal attack.  So Kain can get near the spearman by jumping toward him and slash him on the way down.  It usually gets the spearman down fast and easy enough.  I would advise against bull rushing the enemies and hope that you kill them before you die! :P  The enemies are quite resilient and Kain does not have a lot of health at the beginning.

The best approach to the fighting, I think, is to stay on the outside.  Look for an opening, get in range, attack and get out of the enemy's range before he counter attacks.  I would call it a dodge game rather than a fighting game! lol!

About the fight: balancing out the damage dealt by Kain and the enemies and the amount of health is something I plan to do when the game is near completion.  I think it is a little soon for that...  I suppose it will be a lot of tweaking and testing.


Can't wait to hear some other comments! :) 

Thanks again guys! :)
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-04, 10:02:44 PM
Just a quick note, I solved the jump attack problem.  You couldn't attack in the air as long as the jump button was held down, even if Kain wasn't floating yet.  Now, Kain cannot attack while he floats, but he can attack in the air without the need of letting the jump button go.  I'm going to change a couple of other things and then I'll update the repository version.

:)
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2009-11-08, 07:49:01 AM
My GF, Amy, was playing briefly this morning and managed to hit the *first* enemy causing him to go through a door.  So I was looking at the rules to see if I could figure out why this might happen.  Without reviewing all your code, I suspect it has to do with the way to react to solid sprites.  I thought you could simply use ReactToPush to make your sprites avoid other sprites like doors.  Can't you do this?  The way you are doing it now, it appears that you are checking to see if the sprite is colliding with a door and then reacting to it if there is a collision.  But if there is a collision, it may already be too late.  You should be reacting to other solid sprites before a collision even occurs.  I'm not sure if this is actually the case because it appears you have a separate sprite for detecting collisions, but if that sprite is always in the same location as the enemy sprite (instead of one frame ahead of it), I think this would be a problem.
Title: Re: Lok Revival: first alpha version
Post by: durnurd on 2009-11-08, 09:46:21 AM
As I am wont to do, I was jumping around a lot and was in the air when I met the first spearman, which caused me to hover in the air during the dialog.  It also seems that the game was running particularly slowly on that first map.  Once I got to other maps the game ran much more smoothly, but on that first map, my CPU was pegged at 100%.
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-08, 02:21:00 PM
@bluemonkmn:

Thanks, I'll look into it. 

Actually, before I used to solid sprite feature (reactToPush etc) I had my own way of dealing with solid sprites.  It could be that some old stuff is still there.  The enemy sprites are usually into 2 or 3 parts:
1- The first part is the body, moving around.  All the main code of the enemy is in there.  The collisions are managed in here.
2- The weapons or projectiles.  They spawn when an attack is launched and should not influence the body going through the door.
3- The "blood container", when the enemy is dying, I switch the body sprite to a blood container, which behaves exactly like the red urn in the tutorial section.  When this sprite appears, the body disappear, so it should not influence the door collisions again.  Or, maybe you were talking about Kain's sprite?  I'm not sure I follwow you when you say that I have a separate sprite to detect collision.

Anyway, you have given me a good hint on how to solve this!  Thanks! :)

@durnurd:
Yeah, it's easy to make "weird" cutscenes if you jump around when they start.  It usually won't mess up the game when the gameplay resumes, but it should looks strange to see Kain float in mid-air!  I'll see if I can improve it.  Thanks!

About the performance, I'm having the same problem but it is an on and off type of problem.  Sometimes, I place the framecap at 60 and when I run the game, it really slows down to about 30 fps, for seemingly no reason.  So I raise the FPS to 90 (so it plays at 60 and it makes debugging faster) and all of sudden, after a few modifications, the game runs at a fast 90 fps.  So I reduced to fps to 60 and it works fine for a while...  And eventually, it drops down to around 30.  Note that those fps alterations do not appear during a single play session.  It's when I stop the game and restart it that the fps changes.

I never notices that the CPU was really freaking though.  I'll check it out the next time it happens.

Thanks again durnurd! :)
Title: Re: Lok Revival: first alpha version
Post by: SmartBoy16 on 2009-11-08, 02:39:05 PM
Quote
About the performance, I'm having the same problem but it is an on and off type of problem.  Sometimes, I place the framecap at 60 and when I run the game, it really slows down to about 30 fps, for seemingly no reason.  So I raise the FPS to 90 (so it plays at 60 and it makes debugging faster) and all of sudden, after a few modifications, the game runs at a fast 90 fps.  So I reduced to fps to 60 and it works fine for a while...  And eventually, it drops down to around 30.  Note that those fps alterations do not appear during a single play session.  It's when I stop the game and restart it that the fps changes.

this probably means you have the framerate code twice somewhere, the more framerate codes on at the same time, the more it slows it down
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-08, 03:21:13 PM
Hi smartboy!

Yeah, I know it is usually the case, (multiple calls to LimitFrameRate), but in this case, it doesn't seem to be.  I put my LimitFramerate function on the main player sprite and it's there only one per map...  So, I don't see what could the problem be.  I cannot pinpoint what causes the FPS to drop and what restores it...
Title: Re: Lok Revival: first alpha version
Post by: SmartBoy16 on 2009-11-08, 08:10:38 PM
that's probably it! what is actually happening is LimitFrameRate is being called more than once because the player sprite AND the map rules are limiting the framerate, they both are run before the screen is drawn (bluemonk correct me if im wrong) thus doubling the framerate limiter.

there are 2 ways to fix this (I think, im new-ish to SGDK2)

* use FrameRateLimiter only on map rules. this would be useful if the playersprite changes often in the game (from one character to another)
* use FrameRateLimiter only on the player sprite. this is useful if the only sprite the player controls is this one.


hope this helps!
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-08, 08:29:41 PM
@SmartBoy16:
haha!  I might not have been clear enough in my explanation! :p

I meant that I have a limit frame rate rule on the player sprite and I have only one player sprite per map.  Which means only one limit frame rate.
I think you understood that I have one limit frame rate on my player sprite AND one limit frame rate rule on each map.  Which makes two rules.  But it is not the case.

Thanks for your help!  Although it is not the problem I face, the situation you mention would be a problem and the solution you propose is the right one. :)
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-08, 09:41:47 PM
@bluemonkmn

I just found out what you were saying about the collision problem with the "first" enemy going through the door.  It was indeed my old set of code was managing (not perfectly) collisions with doors that got in the way with your rule ReactToPush.  I think it's one of those case when you're looking at the same code for such a long time that you don't see it anymore.  In my case, it's very true. 

Thanks a lot for pointing this out for me!  It solved the door collisions problems for the enemies! :)
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2009-11-09, 06:21:31 AM
Great!  Glad that problem is worked out.  I have two other thoughts this morning.
1) I have never been very fond of the ASD key layout for any games.  I don't think you should necessarily change it, but maybe you could make it more clear to the player when they start what the layout is and how to change it with this idea: automatically display the options dialog when a new game starts (a game where the user has not set/saved the controls yet).
2) The latest version of the game I downloaded from the project site did not hit 100% CPU for me this morning (I haven't checked other times).  There must be some sprite doing a lot of busy work.  I remember durnurd's Technoventure demo used to have a similar problem when one of the sprites (the sprite that follows the player smartly) was searching the whole map when it couldn't figure out the path to reach the player (because the player got blocked off from the other sprite).  You could try running the game in a Visual Studio debugger and see if you can get the problem to occur that way.  If so, then you could hit the break/pause button and would likely see the code that is taking all the time.
Title: Re: Lok Revival: first alpha version
Post by: durnurd on 2009-11-09, 12:29:01 PM
One thing I should mention, if it makes a difference, is that when I paused the game, the CPU was still pegged at 100%.  Not sure why, is the background map still doing all of its processing?
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2009-11-13, 08:53:11 AM
Five more things I notice this morning so far as I play:
1) I was having trouble activating the save pillar because I had the telekinetic bolt skill selected and I couldn't get back to the Activate skill.  If someone forgets how to play, maybe you should tell them to press Esc to access the menu and see instructions.
2) When minimized the window and then restored it again, it stays very small and I can't resize it (finally I activated the window menu (left of the file menu) with the alt key and selected the size command, but I think minimizing the window should not have this problem).
3) It wasn't clear that I have to hold select before pushing a direction button.  Is there a way to make that more clear?  Do you plan on displaying a pop-up view of the available skills when the select button is pressed so it's clear which directions activate which skills?
4) I was standing upstairs from from a spear man.  When I tried to suck his life, it all went over my head and I didn't get any.
5) The puzzle involving the box on the elevator didn't seem quite right.  I think the first time I encountered it, I pushed the box off the elevator and lifted myself to the top floor, then I walked to the right and back to the left and the box was conveniently there for me to use.  It seems like it would be a better puzzle if you had to use the elevator to lift the box, then walk around the outside to get to the box.  I suspect that was the intended puzzle.
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-15, 12:59:18 PM
Hi guys!

Sorry for the delay, I was very busy this week and I couldn't work on my game.  But I'm back on it now! :)

I updated the submission in the repository.

I  added the precise collision detection (thanks again durnurd).  It's much better like this although it is not perfect.  Maybe I am not setting the offset like I should...

Zooming without lines is now a reality! :)  Wow!  To make sure the game is always displayed correctly, I removed to possibility to resize the window with the border.  I added a combobox in the tools menu to select one of the following game sizes: 320x240, 640x480, 960x720 and 1280x960. 

Ok, now I'll go through your five points bluemonkmn:
1- Do you have a suggestion on how, when and where to display this information?
2- Solved!
3- I thought about displaying a pop-up for the skills...  but there is already 8 skills done so it would be a large "pop-up".  Since the skill selection by holding down the select button is "real time", showing a pop-up would probably be a problem since it would hide the game...  Or should I make it transparent enough to see what's happening behind?  What do you think?
4- Yeah, that problem happens.  I don't really know why since I'm not using a buggy custom function of my own design (;)), but the PushTowardCategory function...  Anyway, I modified the blood drinking in the version.  It might not look as "cool" as it did (maybe I'll tweak this again later), but at least now no blood is lost.
5- Oh!  I missed that!  That's because I keep the location of the elevator and the box in the same counter.  So if you leave the room while the elevator is up and the box is down, then the box is considered up when you get back into the room.  I'll split this into two counters then.

Also, about durnurd's issue with the CPU going wild, I can't reproduce it.  I thought it was because of a problem with the fps, but it does seem to be the case. :(  I'm sorry, I don't see how I will be able to solve this one.

Thanks a lot guys!  Things are going well.  I will begin working on level 2 before long. :)
Title: Re: Lok Revival: first alpha version
Post by: Jam0864 on 2009-11-15, 02:44:57 PM
Why would you change aspect ratios in the drop down box? I thought if you started with something 4:3 like 320x240 and 640x480 you would continue like that to avoid giving an advantage to some players, (eg 1280x1024 not 1280x960)

Or is this deliberate?
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-15, 10:08:22 PM
Well, I decided not to take any chances, so since the game is starting at a 320x240 size, I simply multiply by 2, 3 and 4 for bigger sizes.  1280 x 1024 does not seem to be a 4x3 ratio:

1280 / 4 = 320
320 * 3 = 960 (not 1024)

How would 1280x1024 be an advantage compared to 1280x960?  The game does not show more or less map when it is zoomed, it is simply bigger or smaller.

Or maybe I don't get your point?  I'm not sure I follow you.  :suspious:
Title: Re: Lok Revival: first alpha version
Post by: Jam0864 on 2009-11-16, 02:23:21 AM
Mornings are hard on the mind.

My bad. :P



I was basically saying a more widescreen aspect ratio would allow more horizontal view, meaning you need less time to react to hazards in front or behind you, but the whole point was invalid since 1280x960 is in fact the same ratio as 320x240.
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2009-11-16, 06:39:18 AM
I updated the submission in the repository.

Approved

1- Do you have a suggestion on how, when and where to display this information?

No specific suggestion.  One thought is early during the tutorial.  Another thought is at the bottom of the menu screen: "Press Esc to access menu during game".

3- I thought about displaying a pop-up for the skills...  but there is already 8 skills done so it would be a large "pop-up".  Since the skill selection by holding down the select button is "real time", showing a pop-up would probably be a problem since it would hide the game...  Or should I make it transparent enough to see what's happening behind?  What do you think?

I was thinking just 4 directional arrows pointing to the ability that would be selected by pressing that arrow, with the currently selected ability displayed in the center.  It would only be 9 tiles in size -- not too big.  You could try to show a list of abilities in each direction if you have room, but it would be fine if the ability simply changed as you cycled through the abilities in each direction as you continued to press the keys.

4- Yeah, that problem happens.  I don't really know why since I'm not using a buggy custom function of my own design (;)), but the PushTowardCategory function...  Anyway, I modified the blood drinking in the version.  It might not look as "cool" as it did (maybe I'll tweak this again later), but at least now no blood is lost.

Did you push it once and then let it float, or does it get pushed on every frame?  It might be partly due to the fact that the blood sprite is smaller than the player.  Isn't there an option to say which part of the target sprite the push should go toward?  I'll have to check later.  I'm out of time.
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-16, 08:03:44 AM
@bluemonkmn:
Okay, I will add the "esc" message in the menu.

I'll try to work something out for skill selection. :)

Yeah, the blood sprite is smaller than Kain.  I also pushed it only once and let it cruise toward it's target.  Now, it is pushed every frame so it gets to destination. :)

Thanks!
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-16, 10:02:01 PM
Hi!  :)

I added a message in the main menu when the game opens.  This way, players will know that the escape key gets them back to the main menu.

I also added a popup skill selector.  I think it's not too bad.  It does take some place, but I made it a little transparent so it makes skill selection easier to do.  I'm attaching a screenshot of the skill selector.  The skill selector appears when the "Select" button is held down then you see the skill that will be selected when you press an arrow.

What do you think bluemonkmn?  Is that what you had in mind?
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2009-11-17, 06:12:57 AM
That looks great!  Even better than I expected, and that's exactly what I was talking about.
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-17, 08:24:30 AM
Good!  I'm glad you like it! :)
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2009-11-22, 12:35:25 PM
Hi!

I updated the version of the demo in the repository.  I made minor changes, implemented some suggestions and corrected a couple of bugs.  I will begin working on the second level shortly, so I won't update this demo until lv 2 is completed...  But for now, I'm going back playing Assassin's Creed 2!!!  See you later guys!

Can you approve the new file bluemonkmn?

Thanks!
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2009-11-22, 05:25:59 PM
Approved
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2010-06-15, 05:04:26 AM
How's your project going?  Still making progress?
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2010-06-15, 07:45:09 AM
Hi!

Yup, still working on my game.  I finished level 2 and 3.  I was sidetracked for a month or so because I started playing Oblivion on my Xbox 360 and boy I got seriously addicted!  But, since I finished Oblivion, I'm back on working on my game.  I'm currently drawing the 4Th level.  It's taking longer than expected.  I thought that I would be able to finish the whole game for December this year, but I don't think I'll be able to pull it off, since I plan to do 8 levels.  I think I lack some inspiration to design the levels, that's why it's taking so much time.

The new interesting things I added in the 2 new levels are:
music
sound effects
music and sfx volume control
some skill modifications for the main character
2 boss fights
particles generators (for rain, snow, magma bursts, etc)

I think that's about it.  Most of the time I invest in the game now is to draw and design levels and into boss fights.  I didn't stumble in any major obstacle recently, that's why I didn't post much in the forums, but I still visit every day. :)

I know I said I would upload a new version after level 2, but since the second level is very small when you first go into it, it seemed a little pointless to upload it.  The idea is that a good portion of the second level can be unlocked only after the fourth level is completed.  There's a lot of backtracking necessary to open up new paths in the game.

Also, the game is getting huge.  About 40 megs I think.  So it's a little more complicated to find someplace to host it.

If you're interested to take a look at the game right now, I could upload a version soon with the three first levels.

Thank you for your interest! :)
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2010-06-15, 10:02:36 AM
Well, I hope you are using smart compressions for your sounds and eliminating resources that you don't plan to use to keep your project size down.  If you have music, I know you could get much more out of MOD format than MP3 or OGG format within a certain size limit (assuming you take advantage of MODs ability to store instruments and music score rather than just sounds).  But one way or another, I will host your game when it's complete.
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2010-06-15, 10:09:54 AM
Hum... :-[  I use mp3 format. 

I use a program (Audacity) to make sure it is as light as possible: I don't use complete tunes, I make loops with them, I make sure they are mono, I cut the sample rate as much as possible, I compress them in mp3. 

Just like the graphics, I rip the music from other games.  I don't see how I could transform an mp3 into a MOD, I can't really reverse engineer the music to a set of instruments and a music score, unless you have a special tool for this?  I'm not a musician.

For the sound effects, I use wav format.

Thanks a lot for hosting the game when it will be finished!  I'll remember that. :)
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2010-06-15, 12:15:34 PM
Converting to MOD isn't really practical.  Generally the music would have to be created as MOD to start with.  But there are sites where you can find a lot of good MOD files free to use.  That's where I got some of the music provided with SGDK2.  I don't remember the name of the site off the top of my head, but it might be in the credits of the sample game or other music library templates.  If you're ripping music from other sources anyway, might as well rip it from a source that provides nice compact music :)... unless it's music specific to LoK.
Title: Re: Lok Revival: first alpha version
Post by: durnurd on 2010-06-15, 01:02:54 PM
Storing music as MP3 is all well and good, but storing as OGG is better for three reasons:

Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2010-06-15, 06:00:48 PM
@bluemonkmn:
Yeah, it's LoK music from the official games.  It gives a much more authentic feeling. :)

@durnurd:
Open Codec: I use LAME mp3 encoder: it's free so I guess problem 1 is solved.
Size vs quality: Do you have a link where I could find a good OGG codec?  Will SGDK2 be able to play it right away, or will I have to import/write extra code to use a OGG format?
Looping: Yes, I did notice this short empty space!  That's why I didn't use Mp3 format for SFX.  Since the music loops are rather long, it's not too important, the short silence is hardly noticeable.  But if I could compress my SFX with OGG, I would certainly reduce the size of the game a lot!  Great!

Thanks guys! ;D
Title: Re: Lok Revival: first alpha version
Post by: durnurd on 2010-06-15, 09:53:39 PM
Using LAME doesn't get you off the hook for using the mp3 codec.  It doesn't matter what you use to encode or even decode the file with, it's just the fact that you are using the given format that requires licensing (for larger games anyway)
Title: Re: Lok Revival: first alpha version
Post by: SmartBoy16 on 2010-06-15, 09:55:06 PM
SGDK2's Fmod player is compatible with Ogg files. If I remember right, the Sample game actually uses Ogg music (right?).
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2010-06-16, 07:26:01 AM
@durnurd:  So I would have to pay to use the mp3 format in addition to finding a codec to encode in mp3 format?  I didn't know a file format could belong to someone, I thought only the codec was important.

@SmartBoy16:  Good to know!  I downloaded the codec for Ogg.  I'll give it a shot eventually. :)

Thanks guys! :)
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2010-06-16, 07:53:31 AM
The sample games use music in MOD format, mostly, not OGG.  Although there may be some sounds (or maybe even music) in the sample projects that are in OGG format.  I don't remember any more.  In any case, I'm pretty sure FMODEx does support OGG without any additional configuration/coding.

Do you remember all the issues that rose up around the GIF file format a decade ago or so?  GIMP could not save/export GIF format because it was copyrighted by Compuserve or something.  Then the copyright expired or something, and now GIMP supports GIF, I think.  I don't know what kind of licensing is applied to the MP3 format (probably not as restrictive as GIF), but apparently formats can impose restrictions based on copyright and/or patent or something.  Not worth investigating if you're going to use OGG anyway, though.
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2010-06-16, 08:40:12 AM
@bluemonkmn: Yeah...  That GIF story does ring a bell now that you mention it.
Well, my game "has" to be recognized as fan art, because otherwise I will spend a good deal of time in front of a court of law.  I took copyrighted graphics, music, tools and characters from a franchise.  All of this without any permission or spending money.  So I'm toast!  So using mp3 format or not is not so important at this point I guess.  It can't be a problem as long as it is a personal project for my own enjoyment.  And I guess I can release the game for free and put all these "unknowing generous contributors" in the credits.  I sincerely hope that nobody will be offended...  :-[
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2010-06-16, 08:44:05 AM
I got a co-worker to lend me some space on his ftp for my game temporarily.  If you want to try it out (with level 1, 2 and 3), you can download it here:
http://www.davidvdk.com/files/vc/LokRevival.rar (http://www.davidvdk.com/files/vc/LokRevival.rar)

Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2010-06-27, 03:48:49 PM
I took a couple minutes to try the beginning of the demo (I don't have a lot of time at the moment), but I noticed it's running pretty slowly -- about half the speed I'd expect/want.  My computer is 7 years old, but I would hope that it's possible for 2D games like this to still run at the speed they should.  Do you know why it's running slowly -- or is is supposed to run at this speed?  (I can't show the frame rate because all I have is the EXE.)
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2010-06-29, 11:36:40 AM
Hum... :(  It's suppose to run at 60 fps.  It's not a fast game (nowhere near Sonic) but it still runs at a good pace.  I'll upload the .sgdk2 file for you.  It's there: http://www.davidvdk.com/files/vc/LokRevivalSGDK2file.rar

Have you tried to restart the game?  Sometimes it's slow and sometimes it runs at normal speed on my computer (5 years old).
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2010-07-10, 08:35:02 AM
Hi guys,

I just wanted to thank Durnurd for the advice about switching form mp3 to ogg!  I just finished converting and it's much lighter: my project file went form 54175k to 41975k.  That's much better!  It loads faster at startup too.  :)

Thanks again!
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2010-08-02, 05:22:35 AM
Hum... :(  It's suppose to run at 60 fps.  It's not a fast game (nowhere near Sonic) but it still runs at a good pace.  I'll upload the .sgdk2 file for you.  It's there: http://www.davidvdk.com/files/vc/LokRevivalSGDK2file.rar

Have you tried to restart the game?  Sometimes it's slow and sometimes it runs at normal speed on my computer (5 years old).

Sorry for the long delay.  I just tried downloading and playing the file posted there this morning, and it runs great now.  Even at 640x480 size I am getting 60 FPS.  As usual I don't have time to play the whole thing now, but I played to the first save point and things are working well.  I noticed a couple odd things:
1. There's no startup screen -- I thought you had a screen that displayed while the game loaded, didn't you?  Is that separate from the code generated by SGDK2 or something?
2. One of the messages says to press [ESC] to access the menu, but that appears to no longer be the way to access the menu -- now it's [Select] + [Attack].

I look forward to playing through the rest of this to see how far things have gone since I last tried it.
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2010-08-02, 07:34:02 AM
Hi Bluemonkmn,

No problem for the delay: I can't complain, you help me a lot after all! :)

1:  Yeah, I removed the starting screen momentarily to make the project "work safe"...  hehehe.  I'm going to put it back before the final release (I just commented out the lines).
2:  You're right, thanks for pointing this out.  I'm going to change the message.

I've been working double time since the last time you played.  I'm coding the 4Th level now and I finished drawing the 6Th level yesterday.  I think I might actually finish the whole game this year.

Thanks again for your interest! :)
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2010-09-16, 07:56:02 PM
Hi guys!

Here's a little update for those interested:
In my last post, about a month and a half ago I said I was coding the 4th level and drawing the 6th level, well things are really going fast now: I'm done drawing all the levels and there's only a few little sprites todo: so about 99% done for the graphics.

And I'm coding the 6th level now.  The 6th level boss is already done.  I thought I might be able to finish this year, but now I'm mighty sure I will!  ;D

Yeah!!!
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2010-09-18, 07:26:59 AM
Exciting!  We'll have to think of some good ways to publicize and release your project... I wonder if copyright holders have problems with fan art and fan games based on their copyrighted material... and if they have the right to stop distribution of it.  I think you maybe mentioned this before, but I don't remember the conclusion.
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2010-09-18, 08:28:09 PM
Hi bluemonkmn!

Well, I don't think now is agood time to publicize it for two reasons:

1- Who knows what might happen until my estimated release date and now.  I might bump into problems that will push the release date further.   Also, when I say my project will be finished before next year, I mean a beta version.  A completed one, with all the core elements of the game, all the levels, bosses, alternate endings, etc.  But there will probably be some balancing issues (game too hard or too easy at some points) and, let's be realistic, some bugs...  So I will still have work to do until there is a final release.  But yeah, most of the work will be completed.

2- As you pointed out, there is still the copyright problems.  I don't want to receive a cease and desist letter.  So why not wait until the release date of the beta or, if we want to test the beta amongst ourselves, until the final release.  That way, even if I receive a cease and desist letter, the game will be out there.  I guess there will be no way to stop the spread at that point.  That's just to be uber-cautious, but at the same time, I have seen other fangames of the Legacy of Kain series and, although the completed ones are pretty basic games, the legal owners don't same to care much about them. 

I guess I will have to include a solid disclaimer in my game just to be sure...

Hehe!  I'm excited too!  ;D
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2010-10-31, 12:29:01 PM
Hi guys!

I took time to think upon ways to publicize and release the project like bluemonkmn proposed...  So I decided to make a website for the game.  There are screenshots and one of my friends made a trailer for it.  I made a link toward SGDK2 and talked about it too to attract some people interested in making video games over here. :)

You can see the website here:
http://lokrevival.webs.com

Tell me what you think.  If any of you have other ideas to give the game some hype, I'd be glad to hear about it.

I figure, since there's about two months or so of work until a complete beta version, I'd begin publicize it now.  It's not a long time to wait for and it gives time to reach some people.  I have found disclaimers and customized them for my needs.  I hope it will be enough not to attract legal attention to the game.

Thank you for everything guys! :D
Title: Re: Lok Revival: first alpha version
Post by: bluemonkmn on 2010-11-01, 09:06:32 AM
Looking good.  I see you and others have noticed that the frame rate in the trailer is low because of the capture program.  Can you think of any way to improve that?  Capture it on a faster computer or capture it with a different frame rate limit (if you have one set)?
Title: Re: Lok Revival: first alpha version
Post by: Vincent on 2010-11-01, 10:21:12 AM
Hum...  I didn't do the video capture myself.  I don't know how my friend did it or if she wants to improve it.  I'll ask her.  :)