Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Witch Blast (dungeon crawl shooter)  (Read 103452 times)

0 Members and 1 Guest are viewing this topic.

Cirrus Minor

  • Full Member
  • ***
  • Posts: 121
    • View Profile
Re: Witch Blast (dungeon crawl shooter)
« Reply #15 on: April 27, 2014, 03:40:48 pm »
So it's working ? Good !

I've just added save/restore implementation (saves the game when quitting if the player is alive and the room has been cleared) and memory leaks fix (thanks Dr Memory).
Do not hesitate to report any bug or crash that occurs !

zmertens

  • Jr. Member
  • **
  • Posts: 80
    • View Profile
Re: Witch Blast (dungeon crawl shooter)
« Reply #16 on: May 02, 2014, 07:33:46 am »
I have a question about sprites in general. How does the computer know which sprite to use from the sprite sheet? For example, take the sprite.png file. How does the computer know which picture to use within the sprite sheet? I see that in the PlayerEntity.cpp class, the different render options depend on whether the player is living or dead and so forth. I think in the sf::IntRect parameters you're telling the computer where to pick the picture from? Like when the player dies you pick the sprite feet that are 3 over the width and 2 down the height (since the computer's dimensions draw positive downward)?
void PlayerEntity::render(sf::RenderWindow* app)
{

  sprite.setPosition(x, y);

    if (playerStatus == playerStatusDead)
    {
     ...............

      // feet
      sprite.setTextureRect(sf::IntRect(3 * width, 2 * height, width, height));
      app->draw(sprite);

     ..................
    }
 

Where did the sprite object come from though? I couldn't find it in the header or class file and I think that's what has me confused.

Also, did you use any references for making sprites and sprite sheets in GIMP? I've seen some videos on YouTube about basic sprite drawing, but I haven't figured out how to make the sprite sheet and get the computer to load it properly.

Anyway, sorry if my questions are really noob. The new changes look great!!

P.S. The green jelly things are intense.  :o
The truth will set you free but first it will piss you off.

Ixrec

  • Hero Member
  • *****
  • Posts: 1241
    • View Profile
    • Email
Re: Witch Blast (dungeon crawl shooter)
« Reply #17 on: May 02, 2014, 07:52:09 am »
How does the computer know which picture to use within the sprite sheet? I see that in the PlayerEntity.cpp class, the different render options depend on whether the player is living or dead and so forth. I think in the sf::IntRect parameters you're telling the computer where to pick the picture from?

Yes, that is what setTextureRect does.  For questions like that you can just check the documentation.

Quote
Also, did you use any references for making sprites and sprite sheets in GIMP? I've seen some videos on YouTube about basic sprite drawing, but I haven't figured out how to make the sprite sheet and get the computer to load it properly.

A sprite sheet is just an ordinary image file that happens to contain multiple sprites.  No special technology should be required to create or load it.

Cirrus Minor

  • Full Member
  • ***
  • Posts: 121
    • View Profile
Re: Witch Blast (dungeon crawl shooter)
« Reply #18 on: May 02, 2014, 08:16:10 am »
Hi Null Pointer, and thanks for your interest in this project !

Quote
How does the computer know which sprite to use from the sprite sheet?
Well... It doesn't know :-)
You have to select the right rectangle.

In this example:
sprite.setTextureRect(sf::IntRect(3 * width, 2 * height, width, height));
The variables "width" and "height" represents the width and height of a frame (64 x 96, in this case, I believe...).
So the texture rectangle represents the 4th frame of the third line. (it's according to your understanding)

In GIMP (or others softwares), you can configure and display the grid, so you can see all the "frames" of the sprite.
I save as PNG file with transparent background.
I use the pencil object with a size of 1 pixel, and "hard" eraser, to prevent anti-aliasing while drawing.

There are some tutorials for doing sprites and tiles, but I'm really not an artist (someone will help me with the graphics, there will be an update in this way soon).

Quote
Where did the sprite object come from though?
It comes from the SpriteEntity class. You know about OOP ?
Here the hierarchy for the PlayerEntity:

GameEntity (base object, with some "physics" and it records himself to the entity manager)
|
V
SpriteEntity (add the sprite (we must attach a texture), frame concept, and rendering)
|
V
CollidingSpriteEntity (add box collision)
|
V
BaseCreatureEntity (add "game specifics" data - like HP, states, etc...)
|
V
PlayerEntity (add methods to pass it the inputs, proper rendering because it's more complex as the others sprite, etc...)

Quote
The new changes look great!!
P.S. The green jelly things are intense.
;D Thanks !
I don't know when I'll do a new release, I'm working on the integration of the new graphics, I'll implement some new contents, etc... But I frequently update my Git, as you've seen.

dwarfman78

  • Full Member
  • ***
  • Posts: 228
  • I'm bietzsche, Nietzsche !
    • MSN Messenger - cd4c@hotmail.com
    • View Profile
    • Email
Re: Witch Blast (dungeon crawl shooter)
« Reply #19 on: May 02, 2014, 08:29:15 am »
Quote
... but I haven't figured out how to make the sprite sheet ...

Most of free sprites resources you may find (or even do) are individual images you have to put together into a unique big image. Those individual images must be separated by the same amount of pixel in order to simplify your frames animations.

For that task i use Montage which is super simple, use the no background option to keep alpha channel for transparent background.

http://www.imagemagick.org/Usage/montage/
@dwarfman78
github.com/dwarfman78

Cirrus Minor

  • Full Member
  • ***
  • Posts: 121
    • View Profile
Re: Witch Blast (dungeon crawl shooter)
« Reply #20 on: May 04, 2014, 08:35:42 am »
So what's new till the last (and first) release ?
  • new art for the character, someone joins me in the project and is helping me with the graphics and the story. In this post: the new character design,
  • alternative gameplay : for those who prefer to play with only one fire button, or the mouse,
  • new items, and a new monster,
  • different shot types when the right items have been found (switching with [TAB],
  • pause, save and load.

All the changes are already in the GitHub: https://github.com/Cirrus-Minor/witchblast
Next release: Dunno   :-P

The new character:



New character and ice attack
http://www.youtube.com/watch?v=i7G8jmTZkdg

Aaaaah ! Slimes !
http://www.youtube.com/watch?v=-hXvtbr01_Q

Cirrus Minor

  • Full Member
  • ***
  • Posts: 121
    • View Profile
Re: Witch Blast (dungeon crawl shooter)
« Reply #21 on: May 24, 2014, 05:41:03 pm »
Hi ! News of the game with a short video presenting the behaviour of monsters between them.
Collision between monsters is now detected.
The "little" rats, in the demo, will "repulse" when colliding.
The "large" rat will not be affected by the little one, but they will be stronly pushed back as it will charge !

http://www.youtube.com/watch?v=r84wykCHroU

Cirrus Minor

  • Full Member
  • ***
  • Posts: 121
    • View Profile
Re: Witch Blast (dungeon crawl shooter)
« Reply #22 on: May 30, 2014, 09:10:55 pm »
Another video of the collision between monsters, with more sprites and walls shaking when the giant rat is charging !

http://www.youtube.com/watch?v=Husff4yx7Vc

Cirrus Minor

  • Full Member
  • ***
  • Posts: 121
    • View Profile
Re: Witch Blast (dungeon crawl shooter)
« Reply #23 on: June 07, 2014, 01:56:37 pm »
New release

Hi !
I've made a new release of the game today, with new art, content and features.

Download: https://github.com/Cirrus-Minor/witchblast/releases

Here a screen shot of the new environment:


And here a video capture of the game:
http://www.youtube.com/watch?v=IQad628g3_Q

Changes since v0.0.5:
Quote
Changelog
- ADD New enemies (slime and black rat)
- ADD New items
- ADD Item's rarity
- ADD Show player's impact when he's hurt
- ADD New music when the player dies
- ADD New music for boss' fight
- ADD Mouse support - Player can fire with left click, switch shot types with the wheel
- ADD Pause
- ADD Save / restore game
- ADD Slowing (creature state)
- ADD HUD for shot types
- ADD 4 shot types
- ADD Recoil
- ADD New room templates
- ADD Exit stairs
- ADD Collisions between monsters
- ADD Screen's shaking effect
- ADD Configuration file
- ADD New tile's graphics
- MOD Damages inflicted by the player have been modified
- MOD The player's bolt size depend of the damages
- MOD Only useful data displayed on the minimap
- MOD Reduced bounding box for the player's bolt
- MOD Vertical Synchronisation
- MOD 2 health potions in shops now
- FIX Fade in / fade out text bugs
- FIX Merchant z-ordering bug
- FIX It was possible to begin at the exit
- FIX Various bad references crashes
- FIX Double shot used to double drop

Enjoy !

therocode

  • Full Member
  • ***
  • Posts: 125
    • View Profile
    • Development blog
Re: Witch Blast (dungeon crawl shooter)
« Reply #24 on: June 07, 2014, 04:01:26 pm »
Awesome. :D

Looks better and better.

Jesper Juhl

  • Hero Member
  • *****
  • Posts: 1405
    • View Profile
    • Email
Re: Witch Blast (dungeon crawl shooter)
« Reply #25 on: June 09, 2014, 05:20:14 pm »
Nice improvements.
I like this project; I suspect a lot of fun will be had when it's done :)

Cirrus Minor

  • Full Member
  • ***
  • Posts: 121
    • View Profile
Re: Witch Blast (dungeon crawl shooter)
« Reply #26 on: June 10, 2014, 07:36:20 am »
Thanks therocode and Jesper Juhl !
I think the game is already quite fun and challenging.

I've added the OSX build on the GitHub release's page.

And I've noticed a bug with the keys binding on QWERTY/QWERTZ keyboards.
Fortunately, there's no need to rebuild the game.
Just update the "config.dat" file (in the game directory) with:

Code: [Select]
keyboard_move_up 25
keyboard_move_up_alt 22
keyboard_move_down 18
keyboard_move_down_alt 18
keyboard_move_left 16
keyboard_move_left_alt 0
keyboard_move_right 3
keyboard_move_right_alt 3

keyboard_fire_up 73
keyboard_fire_up_alt 73
keyboard_fire_down 74
keyboard_fire_down_alt 74
keyboard_fire_left 71
keyboard_fire_left_alt 71
keyboard_fire_right 72
keyboard_fire_right_alt 72
keyboard_fire 57
keyboard_fire_alt 57
keyboard_fire_select 60
keyboard_fire_select_alt 60


Cirrus Minor

  • Full Member
  • ***
  • Posts: 121
    • View Profile
Re: Witch Blast (dungeon crawl shooter)
« Reply #27 on: June 23, 2014, 07:27:25 am »
Hi !
New video with a menu screen and new animations for the fairy and the monster's death.
These features will be included in the next release, with:
- new fairy's types,
- level up for special shots,
- new "resistance" system for monster (you can know freeze boss, but it's quite difficult !),
- a new level/boss,
- new content.

http://www.youtube.com/watch?v=2uVWfOitPpM

Cirrus Minor

  • Full Member
  • ***
  • Posts: 121
    • View Profile
Re: Witch Blast (dungeon crawl shooter)
« Reply #28 on: June 26, 2014, 09:00:40 pm »
Hi !
A new video demo with new monsters: blue and red imps.
They fly, blink and cast missiles !
Blue imps can freeze the player.

http://www.youtube.com/watch?v=J54i7Pras5w

Jesper Juhl

  • Hero Member
  • *****
  • Posts: 1405
    • View Profile
    • Email
Re: Witch Blast (dungeon crawl shooter)
« Reply #29 on: June 26, 2014, 09:03:02 pm »
This game is looking better and better.
Keep up the good work :)