Would you play this game?
yes, every day
 27%  [ 5 ]
yes
 33%  [ 6 ]
maybe
 33%  [ 6 ]
no
 5%  [ 1 ]
Total Votes : 18

Hello everyone,
A year ago I made this game:



Now I would like to remake it, using the data in a better way and also improve the game speed.
What do you think about?

(Do you have any Idea how to display rotated sprites in ICE faster than with "scaled_rotated_Sprite_Noclip"?)
No one can see those images. Use a normal site like imgur
MateoConLechuga wrote:
No one can see those images. Use a normal site like imgur
Oh, thank you!
Frederik wrote:
(Do you have any Idea how to display rotated sprites in ICE faster than with "scaled_rotated_Sprite_Noclip"?)

There's no real good way to speed it up. You can potentially store the rotated sprite to a buffer and then render the buffer later. Or just have a bunch of sprites with steps in rotation amounts. This starts to hit the memory limit though; so you should use compressed or rlet sprites in this case.
Ok I will try this, thank you. Very Happy
The project looks very neat, I like the artwork too Razz. I look forward to seeing progress!
Hello, I have thought a lot about the structure of the game until now, and noticed that unfortunately it is not possible to create sprites that have been rotated in advance:
Until now, I have 5 monkeys, each with 7 different sprites (35 sprites). A sprite takes up 20 * 20 + 2 bytes, so a total of 14070 bytes.
There are also about 20 darts, each with 13 * 13 + 2 bytes (3420 bytes). So 17490 bytes for monkeys and darts.
If I rotate the sprites for 8 different angles (45°), I need 139920 bytes (without everything else) and unfortunately that is too much memory (even with RLET spites).

So I will try to speed up other things, like how the monkeys choose on which balloon to shoot next or how the darts check, if they hit any balloon.
Iīve also thought about to draw only every second frame (also for skipping), but I think thatīs enough for now.
So far the map exist and balloons which can already be popped. Smile

Iīve also found out that "getkey→KEY" takes a long time, so I wrote a short script:
Code:
0→KEY
If getkey(9):9→KEY:End
If getkey(1):1→KEY:End
If getkey(4):4→KEY:End
If KEY=OLDKEY:0→KEY:Else:KEY→OLDKEY:End


I've now added monkeys, and I'm also trying to add the darts, but there is a strange bug, so I have to search a bit...
This is a cool project! Like alvajoy said, the artwork is really good. I really loved bloons td. It was such a good game and its cool to see someone port it to th CE! Smile

However, I'd like to add that if you already know C (or any object oriented programming language for that matter) you should write this game in C. As good as ICE is, C is more capable and you could use it to make the game better. But ICE is a good language if you want to stick with that.

Hope this project goes far!
Thank you, I havenīt programmed something in C yet, so I think I will do it in ICE. Wink
I use an array for the variables like x, y, rotation, type, ... and then each object has a few digits:
*{Array + Object_num * 5 + Var}
If you're using C and you want to keep stuff organized, you can use structs to hold stuff.

Code:

struct balloon{
  unsigned short x;
  unsigned short y;
  /*Other stuff*/
}* balloons;
Hello, I think I fixed the bug, so I can go on optimizing my loops before adding upgrade functions...
I think itīs a bug in ICE, but I found a way to fix it:
Code:
...
i which balloon?

0→NUM
For(B,1,BALLOONS)
Call GET DIST
If DIST<60:B→NUM:End
End

If NUM≠0
Call SHOOT
End
...

That donīt work, but this is ok:

Code:
...
i which balloon?

0→NUM
For(B,1,BALLOONS)
Call GET DIST
If DIST<60:B→NUM:End
End
det(2,0) // The next command after the for loop sometimes donīt work, so I added a short useless line

If NUM≠0
Call SHOOT
End
...


I also found a second way:

Code:
...
i which balloon?

0→NUM→B
While B+1→B≤BALLOONS
Call GET DIST
If DIST<60:B→NUM:End
End

If NUM≠0
Call SHOOT
End
...


I know itīs not the best way, but I searched for a solution over a week and I will try to optimate it, using other loops... Smile
Frederik wrote:
Hello, I think I fixed the bug, so I can go on optimizing my loops before adding upgrade functions...
I think itīs a bug in ICE, but I found a way to fix it:
Code:
...
i which balloon?

0→NUM
For(B,1,BALLOONS)
Call GET DIST
If DIST<60:B→NUM:End
End

If NUM≠0
Call SHOOT
End
...

That donīt work, but this is ok:

Code:
...
i which balloon?

0→NUM
For(B,1,BALLOONS)
Call GET DIST
If DIST<60:B→NUM:End
End
det(2,0) // The next command after the for loop sometimes donīt work, so I added a short useless line

If NUM≠0
Call SHOOT
End
...


I also found a second way:

Code:
...
i which balloon?

0→NUM→B
While B+1→B≤BALLOONS
Call GET DIST
If DIST<60:B→NUM:End
End

If NUM≠0
Call SHOOT
End
...


I know itīs not the best way, but I searched for a solution over a week and I will try to optimate it, using other loops... Smile


Pretty sure It's an ICE bug, lol
Instead of using the det(2, do this instead:

Code:

Asm(0000

It's probably the issue with jump offsets that's hard to pin down.
Okay, thank you verry much Very Happy. I had also some problems when calling labels (I think itīs the bug) so I will try it this way.
Everything works now Very Happy, so I can implement upgrade possibilities...
(the bug in ICE is a bit annoying)
Hello, I would like to upload a pre version of my project and was wondering what I have to do in order to do nothing illegal: I have drawn the spites by myself, but the game idea and the upgrade possibilities are (almost) the same ...
I also don't know how similar the sprites are allowed to be to the original.
Would it be ok if I name the company in the readme file?
Frederik wrote:
Hello, I would like to upload a pre version of my project and was wondering what I have to do in order to do nothing illegal: I have drawn the spites by myself, but the game idea and the upgrade possibilities are (almost) the same ...
I also don't know how similar the sprites are allowed to be to the original.
Would it be ok if I name the company in the readme file?

For this it really depends on what you think. Naming the company is always a good idea, and there isn't that much to worry about, as people make clones of popular games all the time (Oiram CE, Jetpack Joyride CE, TITOL). This is only my opinion though, so if someone else knows better you should listen to them. Razz
Thanks TIny_Hacker, I searched a bit more about how legal it is to clone a game. As far as I know it would be ok if it is not too close to the original, but I think it can't make any disadvantages to the company because it's on the CE and I wouldn't earn any money with it.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement