It is currently Sun Aug 20, 2017 11:37 am Advanced search

Justice Pageant - The Purgatory

Archived Justice Pageant threads

Justice Pageant - The Purgatory

Postby Zwer99 » Wed Jul 06, 2011 2:47 pm

Hey :)

I decided to give me a try to maybe finish the following game. It's really not sure if it will be done 'till August 1st, because it's not a small project. Maybe I'll finish a demo version...

Concept

The game will be a simple Hack and Slay - Clone... but that's not all :D

As the topic says the game plays in the purgatory. You died on earth and in the purgatory you meet god, who gives you some moral tests to release you from your sins. That's the general idea. I know it's a bit abstract, but I think it barely fits the topic. :)
I don't want to bespeak the single tests, because there will be a (hopefully) epic twist depending on how you played the game. I hope you're not angry.

That's why I want to console you with some pictures:

DAY 1:

Firstly I designed the main character. He should be a not so friendly man ^^.
I also made 2 animations in Adobe Flash (puh, it was hard, 'cause it didn't do what I want to, now I know how to tame it)

Character - Standing
Character - Running

In my browser the animation is very slow... Don't worry in the game they're much smoother and faster!

Then I got tired of animating and I drew some tiles for my first tileset:

Tileset

As you can see I just began drawing it, but it looks very good if I put it into my editor:

Tileset - Test

Conclusion

OK, what can I say about the first day? Hmm... I just can say: "Damn, this can be a very big project!" If it's possible, I'll make a short version of the game to finish it around August 1st.
By the way, sorry for my bad English, I'm Austrian :D

Thank you for reading,

Zwer99
Zwer99
 

Re: Justice Pageant - The Purgatory

Postby Jasper » Thu Jul 07, 2011 12:33 pm

A BlitzMax user, I see...

I love the character, so awesome. Reminds me of a mashup of Bennett Foddy and Sexy Hiking!

Keep us posted.
User avatar
Jasper
 
Location: UK

Re: Justice Pageant - The Purgatory

Postby Zwer99 » Thu Jul 07, 2011 5:45 pm

Hello!

Thank you Jasper! It's strange how such few words can increase your motivation :D
I have not much time. That's why I try to make it short

Day 2:

I finished the ground tileset. A lot of parts are missing now, there's no possibility for variation but I think it won't need a lot of time anymore:

Tileset

The more important thing I did today is the weapon system. Now it's very easy to create new weapons for the payer. You just must draw it in photoshop and you don't have to animate it and program it extra. Very nice :)

Weapon

I also thought more about the concept. Sorry, the time is too short! I'll explain it tomorrow...
Yea, school is over for this year! Celebration :D


Thank you for reading and following!

Zwer99
Zwer99
 

Re: Justice Pageant - The Purgatory

Postby Abel Toy » Thu Jul 07, 2011 8:14 pm

Cool! Keep working on it!
User avatar
Abel Toy
 
Location: Girona, Catalunya

Day 3

Postby Zwer99 » Fri Jul 08, 2011 11:32 pm

Day 3:

Weapon System (or better equipment system)

Yesterday I had the completely wrong approach about the weapon system. So I redid everything and this took me lot's of lot's of time ;(
But now I hope it works as I want. We will see :)

First enemy

I thought, before I animate the punching animation of my character I must draw the first enemy to have something which I can use for practical tests ^^
Unfortunately I didn't finish the color and I must redraw the black line, because they are too thin if I resize the picture to the right ingame size.
I didn't really know how the enemy should look like. As a result I just started drawing and more and more I knew what it will look like. It looks like an old, fragile man and it will move like one... but suddenly... if it attacks you it shows the real monster!

First Enemy

As I said! It's not done yet!

Concept

Yesterday I said that I would give you new information about the concept. I think justice is actually always a fight between good and evil. The player is exactly in the middle between good and evil and he has to choose his way. Although the aim is to reach the heaven the player can also decide to go to hell.
Now I want to show your personal fight between good and evil in form of a spawn of hell, which demonstrates the evil side of you and the tests, which stay for your good side. Maybe you must protect a little baby against the spawn of hell.
If you safe the baby, you get extra strength or a new weapon BUT your evil side sees that you choose the way to heaven and spawns more and more creatures. If you let the baby die, you don't get any upgrade but there won't be so much enemies.

I hope it's a bit clear what I want to create. As you can see, it is not easy to implement but I'll do my best to finish it one day :D


Zwer99
Zwer99
 

Re: Justice Pageant - The Purgatory

Postby Zwer99 » Sat Jul 09, 2011 6:57 pm

Day 4:

Little Grandpa

It's done! I colored the guy and made thicker lines. Now the enemy fits with the rest of the style :)

Enemy

He looks a bit helpless, but don't be friendly to him... Appearances are deceiving :D

Editor-Changes

In the past I wrote an editor for another game and it's so nice that I can use it for this project. The only problem was that I used smaller Tiles (32x32) and now I'm using 64x64 to get more details. I created the first testlevel with the old editor and realized that it'll be impossible to make big levels. It takes too much time if you must place 4 parts for only one tile into the map.

I didn't wanted to change everything. That's why I just added a new feature. Now you can select multiple tiles of your tileset while pressing the CTRL-button and they can be placed as one big block.

Editor changes

Damn, this makes it much easier!

First Testlevel

As I siad, I created the first testlevel. It's possible to run around the scrollable map. I didn't took a screenshot, 'cause it's not very interesting. I just have to include collision and I think I can concentrate on fighting against the ugly guy above :)



Tomorrow I'm not at home. On Monday I'll make the fight animation of the main character and will try to include that you can fight against the enemy. We will see... Maybe on Tuesday or Wednesday I'll upload a first demo, where you can try the fighting mechanism. But it depends on if it works correctly.

See you on Monday!

Zwer99
Zwer99
 

Re: Justice Pageant - The Purgatory

Postby allesrebel1 » Mon Jul 11, 2011 6:48 am

Wow, I love that manly man! XD
So this guy is gonna kill that friendly goblin?

Just kidding, but it's looking good! The animations look pretty nice on my end.
What's the target platform? Is it going to be a flash game?

W00t School's over! *Cyber-Five*
allesrebel1
 

Re: Justice Pageant - The Purgatory

Postby Zwer99 » Mon Jul 11, 2011 5:48 pm

Thank you very, very much!

allesrebel1 wrote:So this guy is gonna kill that friendly goblin?


Not yet, but soon! Muahahah :)

allesrebel1 wrote:What's the target platform? Is it going to be a flash game?


It is going to be a stand alone executable for Windows.
It won't be playable online...

allesrebel1 wrote:W00t School's over! *Cyber-Five*


Yeah! *Cyber-Five back*
Zwer99
 

Re: Justice Pageant - The Purgatory

Postby Zwer99 » Mon Jul 11, 2011 10:27 pm

I had not so much time I thought today. So there's not many new stuff

Day 5:

Punching animation

I made the punching animation of my character. Hopefully tomorrow I can implement it. I already prepared everything for it!

Punching animation

I also did some important, but not interesting changes on the editor :D

Y-Sorting

I must sort the objects on the screen to draw the one in the back earlier than the one nearer to the screen.
I haven't implemented this yet, but I have an idea and I want to ask you if it's good or not :)
The idea is letting them sort themselves.

That's the pseudocode of it:

Code: Select all
var REF_PREV //Previous Object
var REF_NEXT //Next Object

function update()
   if THIS.Y > REF_NEXT.Y then
      changeObjects()
   else if THIS.Y < REF_PREV.Y then
      changeObjects()


Just in the beginning of the game it will need more program cycles to get sorted completely. But after a while I think I'll have constantly sorted objects, won't I?
Are there other possibilities, which I don't know?


Thank you,
Zwer99
Zwer99
 

Re: Justice Pageant - The Purgatory

Postby allesrebel1 » Tue Jul 12, 2011 1:02 am

Umm...
That may be one way of doing it. I think it would work, (I would need to know exactly how it's implemented.)

One method I would use is having container objects for layers. Like have a object fill of the things in the background, an object filled with things in the front... etc. Then a function to get the total amount of objects in the containers. Then an while loop until it's finished.
Like:
Code: Select all
container background;
container foreground;
//function
int totalObjects(){return foreground.size() + background.size();};

//add to containers
background.add(tree);
foreground.add(manlyman);

bool complete = false;
while(complete){
//draw code here
}


Try your method first though! If it works, it works.

That would be my way of doing things. Since I really could care less about program cycles. We have computers with epic processors. I'm sure there would be next to no difference in speed. (It is just a prototype after all)
You know what they say right? Make first, then optimize.

Then again, I'm a total newb xD

PS. Love the animation, you should make his other arm do something though, it seems lonely!
allesrebel1
 

Re: Justice Pageant - The Purgatory

Postby Jonathan Whiting » Tue Jul 12, 2011 9:53 am

Zwer99 wrote:Y-Sorting

That's the pseudocode of it:

Just in the beginning of the game it will need more program cycles to get sorted completely. But after a while I think I'll have constantly sorted objects, won't I?


This is a plausible approach. It is essentially a bubble sort spread over multiple frames. As you must run this check on every element you do not need to look both forwards and backwards, just one direction will cover it. The main difficulty with this approach will be implementing changeObjects() in a way that prevents items being updated twice, or not at all. If you don't understand what I mean then ask, and I'll try and explain myself better.

Typically though, unless you've determined that you have definite bottleneck it's much better to simply use someone elses sorting algorithm. You may be surprised by how little time they take! A quick search for "blitzmax sort" through this up, http://www.blitzbasic.com/Community/pos ... opic=42230 which seems like you might be able to use for this purpose?
User avatar
Jonathan Whiting
 
Location: Oxford, UK

Re: Justice Pageant - The Purgatory

Postby Zwer99 » Tue Jul 12, 2011 11:56 am

Thank you for answering!

Then again, I'm a total newb xD


I don't think so ;)

Love the animation, you should make his other arm do something though, it seems lonely!


Thank you very much. Oh yes, now I see it :D
I'll try to do it better!

you do not need to look both forwards and backwards


I know, but I wanted to use it to simultaneously check the collision between the object above and under the one object. Do you get me?
Then I realized that it won't work. For example we have an enemy and two buildings.
The first building has Y=100 and X=100.
The second one has Y=101 and X=600.
The enemy has Y=102 and X=120. SpeedY = 4 pixels
What will happen? The enemy has a reference to the second building and moves with it's speed directly through the first building... I have not tried it but I think I'm right.
Hui, hard to explain it in English :D

items being updated twice, or not at all.


I understand what you mean. I already thought about and had a solution for it. It was also a reason why I canceled this idea :)

A quick search for "blitzmax sort" through this up, http://www.blitzbasic.com/Community/pos ... opic=42230 which seems like you might be able to use for this purpose?


Now I cut my map into imaginary containers, which have just a short amount of objects each (up to 20-30). In this single areas I do the sorting and I use the included sorting function of BlitzMax (The link you showed me).
I don't know if it increases the speed of sorting but I'm sure I'll get a better performance when I check the collision just with the objects inside the areas.

I already included the idea with the areas and it works! Yeah!!!


Again thank you for answering! It's always very helpful ;)
Zwer99
 

Re: Justice Pageant - The Purgatory

Postby Zwer99 » Tue Jul 12, 2011 9:58 pm

Day 6:

Y-Sorting

Today I implemented the Y-Sorting. My idea was to cut the map into areas and sort the objects inside each area separately. I stored the areas in a spacial way that I don't have to search the correct area if an object leaves one and joins the other.

I calculated the worst cases of bubble sort:

Code: Select all
We have 100 elements, which must be sorted
Worst case of bubble sort: ~ O(n^2/2)

Without areas:
100^2 / 2 = 5000

With 5 areas:
1 area: 20^2 / 2 = 200
5 areas: 200 * 5 = 1000


Remember, with this method I also must allocate additional memory, go through the areas and copy the objects from one area to the other. And what happens if all the objects are just in one area? I showed you the best case. Maybe sometimes I won't get that or maybe NO speed up!

After including the collision I'm sure that my work will pay off :)

Animation update

I tried to let the left arm not looking useless:

Punching animation

It's hard to make it looking "useful" because it IS "useless"! :D

Damn Flash!

Today I noticed that Adobe Flash destroys your drawings if you rotate them! It was always strange for me why the things are looking so nice in Photoshop and why not in Flash? I nearly finished the walking animation of my first enemy when I decided to make it again ;(
Now I won't scale my images to the game size, I will let it 10 times bigger, animate it and THEN scale it in photoshop. With this solution I nearly have the same quality...


;(((

Zwer99
Zwer99
 

Re: Justice Pageant - The Purgatory

Postby Jasper » Tue Jul 12, 2011 10:30 pm

I do this in my BMax 2D games, and I've never noticed it slow, even when I had a G4

Here graphicList is a TList holding all the sprites (Sort is an in-built method):

Code: Select all
graphicList.Sort(True)


And then I have this method on my sprite (Graphic) class ...

Code: Select all
Method Compare(Obj:Object)
      If Graphic( Obj ).y < y Return 1 Else Return -1
EndMethod
User avatar
Jasper
 
Location: UK

Re: Justice Pageant - The Purgatory

Postby Zwer99 » Wed Jul 13, 2011 8:37 am

One time I had a problem with checking the collision. It was a space invaders game with up to 1000 enemies. Always when you shot an enemy itself also shot 5 other missiles. You got a chain reaction and it went very, very slow. Sometimes under 10 FPS if I can remember correctly because each missile had been checked with each enemy. But why should I check the enemies, which are impossible to collide with the missile? This is the main idea :)

Well, maybe it doesn't help in this current game, but it made a lot of fun to implement.

By the way I do it like you with the built in sorting function and the Compare-Method, just piece for piece ;)
Zwer99
 

Next

Return to Justice Pageant [July 2011]

Who is online

Users browsing this forum: No registered users and 2 guests

cron