Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - ShiverMeSideways

#21
Ok, so this will be the final bump and update.

I've just sent my testers and Ponch the nearly final version of the game, lacking in some polish, but with all the elements in there and, for now, workable.

Aside from the obvious content I've added (see Episode 3-related updates), I've also put in:

* 10 achievements
* 7 playable characters (6 unlockable)
* upped the special item count to 49 (6 unlockable)
* stat and bestiary screens

I hope that these, maybe minor, features will help prolong the life of the game and provide a little depth to what can otherwise be described as a game revolving around shooty-shooty-die-die!

As we enter the final days of crunching, I'd like to thank everyone for their support of this project (either by posting or actually helping with testing and suggestions, or even just for reading this thread), you've made this lowly aspiring, and highly procrastinating wannabe developer really happy and you've directly contributed to what seems will become my first official, proper, video game release ("Procrastinator" OROW entry notwithstanding).

So, a huge thank you, and you won't hear another peep from me until I send off the final build to Ponch and Dave Gilbert and then be back to post a demo. :)
#22
Hey, thanks, Ghost, won't be long now.

Also, final boss fight, yay! Episode 3, the last one, is at long last completed!

#23
That is absolutely beautiful. I'd ask for an under-the-counter version, but I'm afraid I wouldn't get anything done anymore! :D
#24
AGS Games in Production / Re: * Jetpack Sam
Fri 30/12/2011 08:18:50
Hey, I like this!

While I hated Dave 1 (but loved Dave 2) - couldn't finish either, what this game really reminds me of, at least from the screen, is Jetpack: http://en.wikipedia.org/wiki/Jetpack_(video_game). If you could add in an editor, I know I'd be sold! :D

However, make sure the gameplay is solid, because in a game like this, there really isn't that much room for error, the platforming must be spot on and the controls tight! At first, I didn't like the graphics, but they grew on me, they have that old '90s QBasic feel to them.

Anyway, I wish you the best of luck with this! :)
#25
Is it alive? Is it dead?

No, my friends, the game is UNDEAD at the moment.

Thanks to my awesome testers, I've fixed and tweaked many issues with the game, and I'm hard at work on the 3rd episode of the game. After that, it's off to meta-game content!

So, here are some teaser screenies from the development of the third batch of levels!

(Click for slightly bigger)







#26
Audacity, it takes a few steps to set up, but it works with all three formats, mp3, ogg and wav.
#27
Bump! Sorry for the double-post, but I guess it's ok if I'm actually updating with content?

Ok, so, Episode 2 is nearing completion (check first post for new screenies), so I need your help!

Click here if you want to help out by testing the game.
#28
Recruitment / Zombie Attack needs testers!
Mon 05/12/2011 16:51:30
Hello, everyone, so I'm going to reach the half-way mark content-wise of my bake sale game at the end of this week. I'm going to need testers to start balancing the game, so that I don't run into problems towards the end of development.

What you'll be testing:
* A top-down text-mode shoot 'em up inspired by cheesy '90s video games! - check out GiP thread.
* 2 episodes comprising a total of 4 randomly-generated levels!
* 12 bosses
* 24 special items
* 8 different weapons (rockets and chainsaws included!)
* 3 difficulty settings

I'm going to need 1 more person!

PLEASE treat this with RESPECT. We're on a DEADLINE, and the faster and more detailed feedback you can send will greatly increase our chances of reaching it and delivering a quality gaming experience.

PM for details and thank you very much in advance! :)
#29
Thanks, Snake and Ghost! <3

BTW, check first post, bottom screenie. ;D

EDIT 30 NOV:

Welp, looks like Ghost's request has been granted, I've added heavy weapons to the game!

Watch video here.

Added: Chainsaw, Machine Gun, Rocket Launcher, Plasma Rifle.
#30
Why don't we all just listen to this song and chill out? ;D

http://www.youtube.com/watch?v=ZiCctrKdmKw
#31
The Rumpus Room / Re: Happy Birthday Thread!
Mon 28/11/2011 06:31:05
Happy birthday to noavana, vocalist for Pixel Hunt and drawer of awesome characters for 9 Months In! :D
#32
AGS Games in Production / Re: The Rail
Sun 27/11/2011 06:55:39
Sweet jesus... All I read in that post is

QuoteThe Rail

Trainstrainstrainstrainstrains.

Screenshot of a train.

Trainstrainstrainstrains.

Trains.

As such, it gets the original Transport Tycoon seal of approval from a 13-year old me.

Unfortunately, the 20-year old me also feels the need to step in and say that your art style has improved significantly, I dig it, and I also think that starting the game off with a dead corpse is brilliant. @GUI: I see what you did tharr, mister! :D

The best of luck to you, Technocrat, can't wait to play, if I have time in-between baking, I mean. Speaking of, why don't you try to get the game in the Bake Sale? It seems you'll fit in the time frame, and the level of quality is definitely up there with anyone else's in the sale (maybe even higher than some of them!).

Trains.
#33
Helllooooooo again, AGS Forums! :=

Ok, so, I'm waaaay behind on my proposed schedule (like a week or so), but progress IS being made. In short, I'm almost done with the first episode (that's the first 2 levels), I've implemented more (randomnly-chosen) bosses, special items, the (randomnly generated shop).

I strongly suggest you watch this video if you want to actually see how everything works in practice! :)

Also, here is the updated bestiary + special item list:



Quote from: Dualnames on Thu 10/11/2011 08:02:23Shivers stole my idea, frankly. So yeah. PLX BAN.

Totally, dude. ;)

Quote from: Ghost on Thu 10/11/2011 10:14:02Unlocking difficulty levels gradually is a tried and tested concept , and I think it's good- but maybe make beating Difficulty 0 unlock Difficulty 1 and 2: Some people will always want to get to the "hard stuff" quickly, and the others can still chose.

The same goes for a "gloablly upgraded character": I like that a lot and it should be a great motivation that everything you do will benefit future game sessions. Unlockable content and new classes sounds very good in theory, and if you can pull that all off in your time, shit yeah! I still prefer having access to the "meat of the equipment", though: It's cool to have to play for a while until you get the rocket launcher, but having to complete the game three times to do so... nah. But I'll happily do that to get the DOUBLE rocket launcher, or the one that fires cake ;)

Yes, I agree, I'll make you play the easiest difficulty, but after that, both the medium and the hard ones will be unlocked.

Regarding the weapons, they will be unlocked in groups:
* Human Weapons - fists, pistol, shotgun, hand grenades (already available from the start)
* Heavy Human Weapons - chainsaw, machine gun, rocket launcher, small nuclear device
* Hellish/Unholy Weapons - ???
* Outterworldly Weapons - ???

As such, you don't have to unlock every weapon manually, and you get more toys to play with once you unlock a group, you get more toys to play with, win-win! :)

The main idea is that through playing the game, you gather experience points, and you can use these to upgrade proficiencies with weapons, basic stats like vitality, speed, etc., and even unlock new characters with different stats and play styles all together. Still fleshing this out in concept, though, and considering my tardiness, we'll see if I can still implement it before the deadline. The priority now is to at least have a complete game to play. :-[

QuoteThis is not Critics Lounge of course, but the Abomination clashes with the cool "letters" theme: Could't it be the actual WORD "BOSS"? And you gotta kill each letter of it seperately?  ;)

Quote from: Ponch on Thu 10/11/2011 15:13:29I like this idea.  :D

I'm sorry to let you guys down, but this is just not my intention. I understand where you're coming from, so I'm trying to draw the bosses using ASCII characters (for the most part), but my plan is to have 3 bosses per level, and every time you play, you get a different boss. I also decided to go with more complex designs to make them more "bossy", because if they were just regular ol' ASCII chars, then they would be indistinguishable from the regular monsters.

Quote from: Snake on Thu 10/11/2011 15:32:02ShiverMeZomboids, this is looking better and better! CAN'T WAIT TO PLAY!

Hey, thanks, I would appreciate some feedback on the beta from you, when I get there and if you have some spare time! :)
#34
Ok, guys, firstly, thank you so very-very much, I think I've got it working now!

I've implemented dkh's idea and it seems to be working beautifully - although I still have to work on the collision detection, the player sometimes seems to fly over a monster! :D

(However, this is just a matter of tweaking, at least the movement works now!)

This is the code I'm using now:
Code: ags
function MoveX(int howmuch, int movewhat)
{
  int asd1;
  bool nein;
  if (movewhat==0)
  {
    nein=false;
    asd1=1;
    if (EnemiesPresent>0)
    {
      while (asd1<EnemiesPresent+1)
      {
        if ((cEgo.x+howmuch>=Enemy[asd1].x+1) && (cEgo.x+howmuch<=Enemy[asd1].x+Enemy[asd1].sizex-1) && (cEgo.y-8>=Enemy[asd1].y+1) && (cEgo.y-8<=Enemy[asd1].y+Enemy[asd1].sizey-1) && (!Enemy[asd1].dead))
        { nein=true; }
        asd1=asd1+1;
      }
    }
    asd1=((Player1.room-1)*50)+1;
    while (asd1<((Player1.room-1)*50)+51)
    {
      if ((cEgo.x+howmuch>=Obj[asd1].x1-2) && (cEgo.x+howmuch<=Obj[asd1].x2+2) && (cEgo.y-9>=Obj[asd1].y1-2) && (cEgo.y-9<=Obj[asd1].y2+2) && (Obj[asd1].solid))
      { nein=true; }
      asd1=asd1+1;
    }
    if (!nein) cEgo.x=cEgo.x+howmuch;
  }
}
function MoveY(int howmuch, int movewhat)
{
  int asd1;
  bool nein;
  if (movewhat==0)
  {
    nein=false;
    asd1=1;
    if (EnemiesPresent>0)
    {
      while (asd1<EnemiesPresent+1)
      {
        if ((cEgo.x>=Enemy[asd1].x+1) && (cEgo.x<=Enemy[asd1].x+Enemy[asd1].sizex-1) && (cEgo.y-8+howmuch>=Enemy[asd1].y+1) && (cEgo.y-8+howmuch<=Enemy[asd1].y+Enemy[asd1].sizey-1) && (!Enemy[asd1].dead))
        { nein=true; }
        asd1=asd1+1;
      }
    }
    asd1=((Player1.room-1)*50)+1;
    while (asd1<((Player1.room-1)*50)+51)
    {
      if ((cEgo.x>=Obj[asd1].x1-2) && (cEgo.x<=Obj[asd1].x2+2) && (cEgo.y-9+howmuch>=Obj[asd1].y1-2) && (cEgo.y-9+howmuch<=Obj[asd1].y2+2) && (Obj[asd1].solid))
      { nein=true; }
      asd1=asd1+1;
    }
    if (!nein) cEgo.y=cEgo.y+howmuch;
  }
}


Quote from: Khris on Tue 08/11/2011 00:53:24ShiverMeSideways:
Could you clarify some issues I've noticed in your code?

In the while loop you're checking whether the object is visible and solid (A), in the next block you're checking the player's coordinates versus the object's (B) && (A) again. You don't need to check (A) again, but that doesn't break the code.
Then in there, you're checking for the direction, and in the diagonal movement blocks, you're checking (B) again, which -again- we know is already true, otherwise we'd never get here.
(B) is in there a total of 9 times.

So basically as soon as A and B are true, the player is moved. No other condition is ever checked, regardless of the direction.

Yes, I never said I was good at coding, and I frequently do redundant and pointless things like this, thanks so much for pointing it out, but I've completely removed that and now it should be cleaner in the separate functions.

QuoteWhich brings me to the details of diagonal movement: what you call 'downleft' ends up doing:
Code: ags
  cEgo.x=cEgo.x+m; 
  cEgo.y=cEgo.y-m;

Isn't this is up and right (unless your m is negative)?

Not sure why this works even in part; as far as I can see, if the direction is one of the four diagonals, the player is either moved diagonally or not at all.

The part of the code which was before the fragment I put in basically stated that the m (for movement) variable was applied to cEgo.x and/or cEgo.y. My reasoning was that the object checking happens after that, and if there is something in the way, I just subtract the added m to x and/or y. Do not ask why, such mysterious forces cannot be easily explained.

QuoteAs for the condition: (cEgo.x+4>=Obj[a].x1) && (cEgo.x-4<=Obj[a].x2) ... similar for y
This looks like it should only be true if the player is actually already inside the object.
Could you give an example of what the coordinates for one object actually are in-game? How big are the sprites? like 10x10?

It depends on the object, some are bigger, some are smaller, thus the need for x1, y1, x2, y2 variables. And yeah, isn't that the point, if the x and y are inside the hitbox rectangle (or whatever it's called), then that should signal a collision, no?
#35
The Rumpus Room / Re: Happy Birthday Thread!
Thu 10/11/2011 06:36:16
Quote from: Dualnames on Thu 10/11/2011 00:37:26Happiest of birthdays to Tosh!! We kinda miss you!  ;)

+10000.

Happy day of birth, Akatosh ;D
#36
UPDATE TIME!

Ok, so, finally, after quite a bit of procrastination and testing, random level generation works! As such, here are different maps of level 1 of the game!!!



Also, here's a bestiary!



Now, I'll work on this and then get on to adding items in the game as well as making the shop and exit actually work, and then it's off to level 2!

There is a ton still left to do, but I was so happy that the generation works (at least 95%, there is still a background that is generated weirdly). I'll screenshot dump later with how the rooms actually look, including some monster patterns ;D.
#37
Little Computer People! :D

This looks great, Ghost, and I'm sure it'll play even better! Good luck with it!

To tell you the truth, I'm kind of glad you're making a non-adventure game, but I still hope you'll finish your other, more adventure-y endeavour.
#38
Quote from: Jim Reed on Thu 27/10/2011 16:43:32well, the song IS nice, except that CRAPPY GUITAR SOLO. It was obviously made by an amateur! :=



:D

Also, a bit of an update: we are close to finishing our 2nd song (we're about 75% done), and we're already working on our third original!

Also also, thank you everyone for the kind words! :D

Also also also, here's an interesting bit of information: all the guitarists play acoustic guitar on the Troll Song! :D
#39
Hello again, technical forum and its awesome inhabitants. As per usual, I seem to having another scripting issue (actually, many more, but I'll try and fix those myself). And again, as per usual, it seems the devil is in the logic department.

So, in Zombie Attack, I've got objects which may or may not block the player movement. But, like in all good games, I want the player, if he/she is moving diagonally and hugging the object, to keep moving.

For example, if he/she's coming from the top-left, going towards the bottom-right, and there is an object to he/she's left, then the player should keep moving downwards. Likewise, if there is an object beneath the player, he/she should keep moving to the left. Currently, the player just gets stuck.

The code I have thus far is this:
Code: ags

    // m = the distance the player travels in pixels.
    int a;
    a=((Player1.room-1)*50)+1;
    while (a<((Player1.room-1)*50)+51)
    {
      if ((Obj[a].sprite!=0) && (Obj[a].solid))
      {
        if ((cEgo.x+4>=Obj[a].x1) && (cEgo.x-4<=Obj[a].x2) && (cEgo.y>=Obj[a].y1) && (cEgo.y-9<=Obj[a].y2) && (Obj[a].sprite!=0) && (Obj[a].solid))
        {
          if (Player1.direction==left) cEgo.x=cEgo.x+m;
          if (Player1.direction==right) cEgo.x=cEgo.x-m;
          if (Player1.direction==up) cEgo.y=cEgo.y+m;
          if (Player1.direction==down) cEgo.y=cEgo.y-m;
          if (Player1.direction==downleft) 
          { 
            if ((cEgo.x+4>=Obj[a].x1) && (cEgo.x-4<=Obj[a].x2) && (cEgo.y>=Obj[a].y1) && (cEgo.y-9<=Obj[a].y2)) cEgo.x=cEgo.x+m; 
            if ((cEgo.x+4>=Obj[a].x1) && (cEgo.x-4<=Obj[a].x2) && (cEgo.y>=Obj[a].y1) && (cEgo.y-9<=Obj[a].y2)) cEgo.y=cEgo.y-m; 
          }
          if (Player1.direction==downright) 
          {
            if ((cEgo.x+4>=Obj[a].x1) && (cEgo.x-4<=Obj[a].x2) && (cEgo.y>=Obj[a].y1) && (cEgo.y-9<=Obj[a].y2)) cEgo.x=cEgo.x-m; 
            if ((cEgo.x+4>=Obj[a].x1) && (cEgo.x-4<=Obj[a].x2) && (cEgo.y>=Obj[a].y1) && (cEgo.y-9<=Obj[a].y2)) cEgo.y=cEgo.y-m; 
          }
          if (Player1.direction==upleft) 
          { 
            if ((cEgo.x+4>=Obj[a].x1) && (cEgo.x-4<=Obj[a].x2) && (cEgo.y>=Obj[a].y1) && (cEgo.y-9<=Obj[a].y2)) cEgo.x=cEgo.x+m; 
            if ((cEgo.x+4>=Obj[a].x1) && (cEgo.x-4<=Obj[a].x2) && (cEgo.y>=Obj[a].y1) && (cEgo.y-9<=Obj[a].y2)) cEgo.y=cEgo.y+m; 
          }
          if (Player1.direction==upright) 
          {
            if ((cEgo.x+4>=Obj[a].x1) && (cEgo.x-4<=Obj[a].x2) && (cEgo.y>=Obj[a].y1) && (cEgo.y-9<=Obj[a].y2)) cEgo.x=cEgo.x-m; 
            if ((cEgo.x+4>=Obj[a].x1) && (cEgo.x-4<=Obj[a].x2) && (cEgo.y>=Obj[a].y1) && (cEgo.y-9<=Obj[a].y2)) cEgo.y=cEgo.y+m; 
          }
        }
      }
      a=a+1;
    }


Now, this only works if the object is to the left or the right of the player, but if it's beneath or above the player, the player just gets stuck.

Thanks in advance for your help, and please let me know if I should be more clear, or if the code is un-decipherable :) .
#40
The Rumpus Room / Re: Happy Birthday Thread!
Thu 03/11/2011 04:51:45
Happy birthday, Ben, our very own AGS Midas ;D
SMF spam blocked by CleanTalk