The Begining of Kill da Ducks

Learn how it was at the begining.

Last progress entry

See how the game development is going

Grav

A WIP arcade hard game you should check :P

Last Bug revealed

Look at the game's bugs and have some fun!

About me

Just a bit of information about myself.

Jul 10, 2013

Moving to a new Blog!

I just wanted to say that I changed my blog. I won't be posting here anymore, I'll be doing it at


Well that's all! I also changed my Twitter to @posva

May 27, 2013

Catimg

Hello again! I have really been busy for the past few months and couldn't work on Kill da Ducks too much but I guess I'll be able to very soon.

Other than that I have been working on little projects that doesn't take too much time and I should have written something when I did them but I didn't... So now as it's too late I'll be speaking about my last little project: catimg

Some of you may know the command line "cat" to print files into the standard input. Well catimg also print files but it actually print pictures. Sounds funny right? Here is a little screenshot:


That's actually a console and as you can see I'm printing a Mario picture.

You may be asking yourself why would I code such a stupid thing. Well actually it's just for the fun but I'm pretty proud of the result as it's quite beatifull.

How it works:
In order to make this work I needed to use a 256 colors shell. Well I already have one as I use zsh and love to have colors everywhere cause it makes my life happier :). Then I needed to read the pixels from an picture and I knew I was going to use convert (ImageMagick). The problem was "How do transform the picture to fit the terminal colors?". Searching a bit on the internet I found an option called remap. This option takes a picture and convert another picture to fit the pallette of the given remap picture. So I took this website: http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html to pick up the colors. The problem was that the text was creating residual colors and I needed to kick them out. I saved the webpage and modified the code source with many sed in vim to get a nicely drawn pallette with no text:

      
Finally I just removed a black space to create the alpha0 color aka transparence. Then I copied the codes on vim and parsed them to get them nicely listed as below:

#000000
#800000
#008000
#808000
#000080
#800080
#008080
#C0C0C0
#808080
#FF0000
#00FF00
#FFFF00
#0000FF
#FF00FF
#00FFFF
#FFFFFF
#000000
#00005F
#000087
#0000AF
#0000D7
#0000FF
#005F00
#005F5F
#005F87
#005FAF
#005FD7
#005FFF
#008700
#00875F
#008787
#0087AF
#0087D7
#0087FF
#00AF00
#00AF5F
#00AF87
#00AFAF
#00AFD7
#00AFFF
#00D700
#00D75F
#00D787
#00D7AF
#00D7D7
#00D7FF
#00FF00
#00FF5F
#00FF87
#00FFAF
#00FFD7
#00FFFF
#5F0000
#5F005F
#5F0087
#5F00AF
#5F00D7
#5F00FF
#5F5F00
#5F5F5F
#5F5F87
#5F5FAF
#5F5FD7
#5F5FFF
#5F8700
#5F875F
#5F8787
#5F87AF
#5F87D7
#5F87FF
#5FAF00
#5FAF5F
#5FAF87
#5FAFAF
#5FAFD7
#5FAFFF
#5FD700
#5FD75F
#5FD787
#5FD7AF
#5FD7D7
#5FD7FF
#5FFF00
#5FFF5F
#5FFF87
#5FFFAF
#5FFFD7
#5FFFFF
#870000
#87005F
#870087
#8700AF
#8700D7
#8700FF
#875F00
#875F5F
#875F87
#875FAF
#875FD7
#875FFF
#878700
#87875F
#878787
#8787AF
#8787D7
#8787FF
#87AF00
#87AF5F
#87AF87
#87AFAF
#87AFD7
#87AFFF
#87D700
#87D75F
#87D787
#87D7AF
#87D7D7
#87D7FF
#87FF00
#87FF5F
#87FF87
#87FFAF
#87FFD7
#87FFFF
#AF0000
#AF005F
#AF0087
#AF00AF
#AF00D7
#AF00FF
#AF5F00
#AF5F5F
#AF5F87
#AF5FAF
#AF5FD7
#AF5FFF
#AF8700
#AF875F
#AF8787
#AF87AF
#AF87D7
#AF87FF
#AFAF00
#AFAF5F
#AFAF87
#AFAFAF
#AFAFD7
#AFAFFF
#AFD700
#AFD75F
#AFD787
#AFD7AF
#AFD7D7
#AFD7FF
#AFFF00
#AFFF5F
#AFFF87
#AFFFAF
#AFFFD7
#AFFFFF
#D70000
#D7005F
#D70087
#D700AF
#D700D7
#D700FF
#D75F00
#D75F5F
#D75F87
#D75FAF
#D75FD7
#D75FFF
#D78700
#D7875F
#D78787
#D787AF
#D787D7
#D787FF
#D7AF00
#D7AF5F
#D7AF87
#D7AFAF
#D7AFD7
#D7AFFF
#D7D700
#D7D75F
#D7D787
#D7D7AF
#D7D7D7
#D7D7FF
#D7FF00
#D7FF5F
#D7FF87
#D7FFAF
#D7FFD7
#D7FFFF
#FF0000
#FF005F
#FF0087
#FF00AF
#FF00D7
#FF00FF
#FF5F00
#FF5F5F
#FF5F87
#FF5FAF
#FF5FD7
#FF5FFF
#FF8700
#FF875F
#FF8787
#FF87AF
#FF87D7
#FF87FF
#FFAF00
#FFAF5F
#FFAF87
#FFAFAF
#FFAFD7
#FFAFFF
#FFD700
#FFD75F
#FFD787
#FFD7AF
#FFD7D7
#FFD7FF
#FFFF00
#FFFF5F
#FFFF87
#FFFFAF
#FFFFD7
#FFFFFF
#080808
#121212
#1C1C1C
#262626
#303030
#3A3A3A
#444444
#4E4E4E
#585858
#626262
#666666
#767676
#808080
#8A8A8A
#949494
#9E9E9E
#A8A8A8
#B2B2B2
#BCBCBC
#C6C6C6
#D0D0D0
#DADADA
#E4E4E4
#EEEEEE
Actually I needed to make some modifications because two of the codes were wrong.
Then I just needed to adapt the size of the picture to the console size using tput cols. I used double spaces to make image aspect ratio looks better... and voilà! Some grep to seek the code 1..256 corresponding to each color and print them with echo and some colors escapes characters!

The only thing I don't like is how slow it is but I cannot find what to do in order to improve it other than using a programming language to seek the color code (using a hashing table would be so faster....)

For those who would like to use it, you can get the code at GitHub.

Have a nice day!

Oct 21, 2012

Game Engine, Lua, Box2D and other things

Hi there, it have been a long time, I apologize...
Well as You can imagine the game engine progressed a lot, well YOU'RE WRONG! I started it over again (this is the last time, I promise) and I did it like pi times better! I rewrote how the depth is handled, added Lua support and added Box2D for physics and better collisions.

But before talking about the new engine I need to say that someone joined the team, even is he's not always active :P, he participates in the game design, the programming and ideas. He's named Senryoku over the net, here is his GitHub page.

 I talked about Lua, well, he was the one who introduced the idea in the game, we talked about it and decided that adding an interpreted language to the game would make it easily expansible allowing for example to create dynamic levels or even to create your own enemies, weapons or objects, and this is quite exciting because we want to provide a big amount of functions and classes to let Lua get acces to everything someone will need to make a custom story. Yes, I picked that name from Amnesia, it's almost the same concept but even more customizable, we will allow you to prevent the player from playing and moving thing around, adding text, creating bodies, trigger functions to make things happens under some conditions etc. And that simply mean AWESOMENESS TO THE MAX!

I also implemented Box2D as the physics and collision engine for the game. I'm currently wrapping code to allow Lua to create joints between bodies. It's not difficult but it takes time to warp correctly because I have to test everything and well, I also have fun doing senseless things that move, destructibles joints, etc.



I already implemented the particles to Lua, meaning that you can create any kind of particles and particle modifiers (emitters, destructors, attractors). I may create more things to add more fun and customization  but with these tools you can already create complex effects. The things runs quite smooth at the moment, even with large amount of particules but they're not thought to be use a lot so you wouldn't be able to have more than 2000 of particle, I may optimise this later using a direct OpenGL drawing instead of using my own Sprite class based on SFML (which relies on OpenGL but it's not the same ^^) What's interesting about these particles is that they are actually textured and well that obviously makes it
slower...



The particles and the bodies are created through Lua code like that:


w = 15
h = 25 body = Body:new(x, y)
body:setAsCircle(w, dynamicBody);
body:setTexture("mini");
body:setAnimation("s_box.png");
body:setSpriteScale(w/4, w/4);
body:setSpriteOrigin(4, 4);

This will create a simple dynamic Circle. The particles code is a bit more complicated because it involves attractors and emitters ^^.

As you can see there is nothing specific to KDD for the moment, that's the purpose, an engine optimized for games like KDD that will allow to develop other games in the same style. And well that will be all for the moment! I'll try to write more often from now on!

Jun 9, 2012

Jump'n'Run

What's up!? It has benn a while since my last post, but I'm still here, and I'm still programming!
I really had no time to work on Kill da Ducks as I was working on a University project with a friend. We put a lot of effort on it and did new things we never did before like physics (realistic one) behaviour.
We used the verlet integration to solve vertex movement and using rigid and elastic (more like springs) constraints we were able to create polygons. The using the SAT theorem we detected collisions and finally using some more complex formulas I don't know we implemented the collisions behaviours. Then we implemented a grid to minimize collisions detections and optimize the whole thing. Benchmarks were really nice. Alowing us to create very big worlds with more than 200 dynamic boxes and running at 60+ fps
We then created a Level Editor that allowed us to place vertex, polygons and constraints and then save them and load them too. We needed that in order to create levels for our game. We then started with the player and the GUI for the editor.



We wanted to implement a realistic behaviour on our player but we realized that it was way more difficult that I thought and that we were not in time to do such a thing so we kept things simple and created a Box for the player. Changing the mass and teh size of the base we created some kind of stable player. We tried lot of things before that, there were all more difficult, using constraint to make the player stand-up but then the physics behaviour was incorrect. In fact we wanted to still have the world have an impact on the player, in order to make gameplay more difficult than just being a physics actor that cannot be pushed by other bodies.



In order to have an animated player we introduced a simple Animation based on angles or position to determine the different body parts positions (Neck, arms etc)

After lots of test and hours of work, we came up with something playable. And I must say the result was really nice, not only graphically but also because the game offered a gameplay that could be way simple or ultra hard. All of this depends on the level, and this allow people to create easy levels or really hard levels only playables by people who have mastered the player controls.



The Final result is that:

This level is hard for example. It may look simple but it's not.

Finnally I will say that you can go and take a look at the code and even compile it by yourself. All the dependecies are explicitily mentioned on the page and a Makefile is provided to have an easy compilation.

http://code.google.com/p/jump-n-run/

Mar 3, 2012

Some Verlet

Working with my friend in the game engine I talked last post, we got something really nice and fun using Verlet integration. He wrote that part of the code and I added the display with OpenGL, I also created a cloth using constarint and mapped a texture on it.
The game engine is going well, even if we already have a working collision system and some basics physics that only works with AABB (non rotaed rectangles), integrating something better could be cool. Weeks ago I implemented a SAT collision detection that allow to detect collision between any polygons in a fast and easy way. Yesterday, my friend implemented the SAT with verlet, having some kind of simple physic engine (which is pretty fast too!). There are still some corrections to do but work is going very well!


Here I let you a video showing the clothes in action:

Feb 18, 2012

Working on a Game Engine

Well, things got serious and I started to work in a game engine together with a friend. The whole thing is getting better and better with time. The project is being written in C++ using SFML 2 (as I did for my other games like Grav and Kill da ducks).

As I'm working with that GameEngine I'm not going to improove Kill da Ducks Engine as I will be using the one I'm doing now. For now It doesn't have many features but it works right. Currently we are working with Configuration files alowwing us to map the Key to Action easily. The Engine aims to be Fast and easy to use.
I have not much to show, only this video using the particle engine (which is simple but fast thanks to SFML 2).
BTW I'm really sorry not posting anything in a while :P I don't get many visistor but I can see I get some of them daily (Who the f**** visits that?!); anyway thanks for being there.


Nov 25, 2011

Busy

I'm quite busy right now and I have been busy for the last two weeks, I hope to get some free time soon... I'm sorry about that
BTW I create a mail, so you can send anything related to my games to me, it's killdaducks@gmail.com
Feel free to contact me.


Nov 8, 2011

Harder...

Nov 7, 2011

Grav Alpha download


As I said, here it is, an alpha release, still buggy, but doesn't matter :P. However there are some things you should know:
-You can only use letters, numbers and dots for password and username
-Giving the background a huge opacity may be dangerous... Seriously...
Now you're ready to go! DOWNLOAD IT!

Update: I found a bug, and I need you to take care for the moment: When you launch the game the first time and you create an account you have to close the game and relaunch it to be able to send scores. I'm sorry about that I will fix it soon.



Windows
Mac OS X

Nov 6, 2011

Grav alpha release tomorrow!

Grav is going very well even if I had not a lot of time to code it, I porgressed in the project a lot, and I have good news! I have a song, well I'm not completly sure about song yet... but I'm sure about the artist. LukHash has composed really nice music and i contacted him today to ask the permission about adding to the game and even about adding them to Kill da Ducks (since they fit very well) and guess what... he is ok! He was very kind and answer fast my petition, I liked that.
Here is his website: http://www.lukhash.com
It's a very polished flash-based website, you should check it.
The song i'm going to use is that one:



Well about Grav, let's take a look to it.



As you can see it's almost complete, (for a playable version). I need to do an update checker (easy and fast) and a text showing you highscore on the game screen, that's all! So I'm pretty sure that tomorrow I will post a playable version ^^. It will be avaible for Windows and Mac, I'm sorry about Linux, I still have some problem to compile run SFML Applications And I didn't find a solution...

Post any suggestion, thanks.

Oct 29, 2011

Grav has now a menu!

Yep! And it's fully working!
The menu consists on 4 different kind of items:
-Button
-CheckBox
-Percent
-TextBox

they are self explanatory ^^

You can Register, Login, and you data is saved to a local file (if you want). Here you have a video to show you how it's going on:



Thanks for watching! A demo will be avaible very soon! ;)




Oct 21, 2011

Some progress in Grav!

Hi! I have been coding a bit the game, but not very much because of the exams, in fact I still have two next week, but these one are about compuer science. Anyway, what I have been working on is the timer, the sequences, the play... everything to be more precise.
You can now play a classic game, that looks a lot to super gravitron with the same sequences but with a better and more intuitive movement control, you'll see veyr soon what I'm talking about ;)
Your stats are now saved automatically to the server, you only have to create an account an the beggining with an ptional password (not implemented yet in the game but already done for the database). By stats I mean the time you have been playing, the deaths, the best time, registration date... I may add more stats later, I accepts any suggestions :)

The connections are called in threads, so they doesn't interfer with the gameplay.






Post some comments if you read something, I would really appreciate it, it fells as if nobody read something that blog!

Oct 16, 2011

What's up!?

So, I have been a little absent for a while, and I have not even been working on my game, BUT I have been having a lot of fun playing the Binding of Isaac, and recorded some videos, you can watch here: Playlist
I have also been worked on an arcade game, which name must still be though, but it may bee "Grav".
It's inspired on Gravitron, a part of VVVVVV, a nice game I played a while. I'm uploading the video to the internet so I have something to show, you can also check these picks:










Other than that I have been really busy with my studies and other stuff, I must say things are getting harder!

I don't think I'm going to advance very much KdD while I'm evelopping ths arcade game, but it shouldn't take a lot of time, it will simply have a Classic mode and an extended mode, with different sequences, slow time custom levels (larger too or samller!) etc
I will post it here when I'm done or even when I have some playable alpha!

Here is the video:

Sep 11, 2011

A lot of progress!

I have been working a lot on the game, and yes... I have abandonned this a bit, even if I have posted every update trhough Twitter, but anyway I don't feel anyone caring about that since I cannot see anybody commenting!

So... I added the player, BUT I will still not release an alpha version since you cannot shoot! lol, in fact that's not the reason, the reason is that I want to have something playable. By playable I mean something where you can spend a few minutes, with some sort of gameplay. When I add enough enemies and weapons to create a endless/survival mode I will create it and THEN I will publish and post it here! I want to have  nice impression ^^
If you really want to test it out, check the GM version (for windows only) in the section "Demos" (on the top)

I promised a release for the last week, but since I moved on France to keep my studies, I had not enough time to code... Anyway! I will post via Twitter and via this blog all the updates as I can and as soon as I can publish a version, I'll do it!

About the game progress... the player moves correctly, he can grab weapons ans switch them, when he shoots no bullets are created but the light and sounds are. There is an old movie effect on the screen for slowmotion mode, and to show it all, here it is a new video:


The "old movie" effect is done! In action it looks ... on Twitpic

Sep 7, 2011

Enemies!

I just solved the bug that made the game crash when I try to make Ducks to "quack", so here it is a video of how it's going on! I'm very impressive on how SFML is efficient!


Now I'm just going to add the flesh, I mean the body's pieces when Ducks are killed. Then I will add the weapons, then a bullet, the flash, the bullet hit effect and finally the player! I may release an alpha there ^^


Aug 31, 2011

Some Sound test

I coded the sound manager and the sound loader, and here you can see the result: YT messed up the final result, the original video sync the audio perfectly...

Aug 30, 2011

Having some fun with the Blood

Here it is:

Aug 26, 2011

Found it!

I was reprogramming the engine, ans as I said I was working on the blood since I knew that the texture error that I previously showed up had something to deal with that... And I figured out what it was. Appareantly SFML 2 has some bugs when creating surfaces (textures) and I need to create them 2 times. It's pretty strange, but well, it works, and here I have a screeny to show that ^^

Now that that bug is cleared, the developpement should be fast. This mean that I would have a Demo in the week, probably in the end. I'm also a bit busy as it's the end of the summer and I will soon have to leave Spain to go to France because I study there.
Be patient is all I can say, it will worth it :D

Aug 25, 2011

KilldaDucks.com is now the new adress!!

The only thing I wanted to say is that I just bought the domain http://killdaducks.com the blogspot will never appear again in the address! It’s a happy new, at least for me, because the project is serious even if I still don’t know if it will be free or not. By the way I just added the Demos page to let people download the last versions, I'm goind to do some changes to the blog about the photo viewing engine, since it's not working at all...

Since this is too short I will talk a bit about how it’s going on with the new engine:
I’m still working with the surfaces, I mean the effects that must be drawn into textures to appear on the screen, I started to deal with shaders which allowed me an easier work for the light and the wall effects.
So far I have not done a lot, but that’s because I’m testing everything again and again since I’m not an experienced C++ programmer (yet!) so I need to ensure myself about what I’m doing. So far I added the light, the physics, the levels loading, the resources loading, and some blood; currently I’m working on the wall effects and the blood spatters. I promise to post an alpha version when the ducks are done in order to let people to kill some of them ^^.


Aug 19, 2011

Reprogramming the whole engine!

Yes... it's a bad thing... but it will also make the game better, more efficient ^^
As I had some issues with the images (as you saw in an older post of bugs) and as my engine is not very well coded, it doen't even respect the "members of a class are always private", and i used namespaces instead of using static members so... here i am i reprogramming the whole with an unified Object Manager that will allow me to simplify the codingt too (making it faster too)!
I have only done the object manager and a first object, fundamental: Block
i'm adding the light and the blood as they were causing the issues so i should start by that (I need the blocks to do it!)

mmh I have not an image for this entry, so here i ave an awesome picture: