Author Topic: VVVVVV  (Read 71291 times)

0 Members and 1 Guest are viewing this topic.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: VVVVVV
« Reply #90 on: March 06, 2013, 03:52:57 pm »
Ah ok. Will you still add an outline or something around walls? It might make the graphics look less repetitive in overall and less generic (like most old calc games).

EDIT: Here's what I mean below:
« Last Edit: March 06, 2013, 03:57:00 pm by DJ_O »
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline pimathbrainiac

  • Occasionally I make projects
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1731
  • Rating: +136/-23
  • dagaem
    • View Profile
Re: VVVVVV
« Reply #91 on: March 06, 2013, 05:02:24 pm »
I'll work on the algorithm, but no promises...
I am Bach.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: VVVVVV
« Reply #92 on: March 07, 2013, 02:43:24 pm »
Actually, for the example above, I tried without the inside corners and it doesn't necessarily look bad, so you could just not use them and you would need even fewer tiles (I think about 15 fewer tiles)
« Last Edit: March 07, 2013, 02:54:50 pm by DJ_O »
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline pimathbrainiac

  • Occasionally I make projects
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1731
  • Rating: +136/-23
  • dagaem
    • View Profile
Re: VVVVVV
« Reply #93 on: March 07, 2013, 02:48:33 pm »
Actually, for the example above, I tried without the inside corners and it doesn't necessarily look bad, so you could just not use them and you would need even fewer tiles (I think about 15 fewer tiles)

I don't get where you're going...

But if it is about size/speed:

That won't make a difference in the size/speed of the map/game because the map is a set # of bytes... 0 still is a tile, just a blank one...
I am Bach.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: VVVVVV
« Reply #94 on: March 07, 2013, 02:56:33 pm »
I was talking about the tile data. There's no way your entire sprite data takes 0 bytes of space.

For example, in the following tileset:



There is 160 bytes worth of data, rather than 8 if you use no border. If you add inside borders too, you end up with 280 bytes of sprite data I think.
« Last Edit: March 07, 2013, 02:57:31 pm by DJ_O »
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline pimathbrainiac

  • Occasionally I make projects
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1731
  • Rating: +136/-23
  • dagaem
    • View Profile
Re: VVVVVV
« Reply #95 on: March 07, 2013, 02:59:02 pm »
I meant that the byte WAS 0, not 0 bytes...

I misunderstood your point... I think I'll use a line-drawing command instead of making a bunch of different sprites, though...
I am Bach.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: VVVVVV
« Reply #96 on: March 07, 2013, 03:01:52 pm »
First of all, stop being rude to people who try to help by giving suggestions. Secondly, you have even less reasons to be rude if you do no effort on reading people's post prior responding to them. I have downrated all of your rude posts. From now on I am boycotting all your projects until you change your attitude. Be careful because it's easy to get banned from Omni for being unnecessarily rude.

Don't wonder why at one point nobody will reply to any of your projects anymore: People will just be too scared of doing it, fearing you'll snap at them for idiotic reasons.
« Last Edit: March 07, 2013, 03:07:50 pm by DJ_O »
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline pimathbrainiac

  • Occasionally I make projects
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1731
  • Rating: +136/-23
  • dagaem
    • View Profile
Re: VVVVVV
« Reply #97 on: March 07, 2013, 03:06:47 pm »
Dude, I'm sorry and I wasn't trying to be rude!

I misunderstood your comments and you misunderstood mine! That's all...

And I think your plan is great (I actually thought about it beforehand), but I thought using a line-drawing routine would be faster and smaller than using a different sprite for every possible outline drawing.

* pimathbrainiac needs to work on his people skills

please forgive me!
I am Bach.

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: VVVVVV
« Reply #98 on: March 07, 2013, 03:24:46 pm »
It is not really hard to make an outline routine using several sprites. I have one just below (where 0 is nothing and 1 is wall) :)
On the contrary, I have no idea how to do it without sprites ???

So, here is for example a rendering of a map with only 0s and 1s, first without borders, then with borders
Spoiler For Spoiler:

.AA
. . .
 8
2 4
 1
. . .
[]->°Sprites
[0000000000000000]
[FF81B9B5AD9D81FF]
[FF81B9B5AD9DB9B5]
[FF01B975EDDD01FF]
[FF01B975EDDDB975]
[FF80BBB7AE9D80FF]
[FF80BBB7AE9DBBB7]
[FF00BB77EEDD00FF]
[FF00BB77EEDDBB77]
[AD9DB9B5AD9D81FF]
[AD9DB9B5AD9DB9B5]
[EDDDB975EDDD01FF]
[EDDDB975EDDDB975]
[AE9DBBB7AE9D80FF]
[AE9DBBB7AE9DBBB7]
[EEDDBB77EEDD00FF]
[EEDDBB77EEDDBB77]

.create a random map in L1 with only 0s and 1s
~1->r1
For(96)
 rand^2->{r1+++L1}
End

Draw()
Fill(L5,128,0)
Copy(L1,L5,96)
For(X,0,11)
 For(Y,0,7)
  If {Y*12+X+L5}
   {Y-1*12+X+L5}*2+{Y*12+X+1+L5}*2+{Y*12+X-1+L5}*2+{Y+1*12+X+L5}+1->{Y*12+X+L1}
  End
 End
End

Lbl Draw
ClrDraw
0->X
For(12)
 ~1->Y
 For(8
)
  Pt-On(X*8,Y++*8,{Y*12+X+L1}*8+°Sprites)
 End
 X++
End
DispGraph
Pause 3600
ClrHome
Return

edit of course it can be optimized, but I made that like that so I didn't optimize at all :P
« Last Edit: March 08, 2013, 02:54:39 am by Hayleia »
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: VVVVVV
« Reply #99 on: March 07, 2013, 10:46:45 pm »
The rudeness was more in the use of caps and unnecessary exclamation marks (which are often used for yelling) which seemed like you were being unnecessarily annoyed at my comments, even though I was just giving suggestions. As for the outline before I left I forgot about Hayleia's technique and thought about it. It would definitively be nice since map data might be smaller that way. Maps could take a while to render if not optimized, though. You could try with Hayleia's technique or ask Shmibs if he still got his program that did the same thing. It's similar to what Illusiat 12, Mana Force 2, ROL1 and ROL2 use, except more advanced (in my games, only the bottom tile could be different)
« Last Edit: March 07, 2013, 10:48:42 pm by DJ_O »
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: VVVVVV
« Reply #100 on: March 08, 2013, 02:21:23 am »
a routine like that wouldn't really be necessary when you have so few tiles to keep track of, unless you start using nibble values for things rather than full bytes, and you do run the risk of slowing things down (although it can be done quickly enough to be imperceptible if you only draw the map on the first frame and just store/recall from the back buffer). one thing that you could do to ease the whole process would be to make yourself a map editor that lets you place walls all as one tile and then uses this method to convert them dynamically to the values you'd need for the separate sprites that dj made.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: VVVVVV
« Reply #101 on: March 08, 2013, 02:52:34 am »
It would be nice at least if he made himself some sort of map editor/converter that can generate such map, though, so that it's much easier for him to create the actual maps.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: VVVVVV
« Reply #102 on: March 08, 2013, 03:37:58 am »
It is not really hard to make an outline routine using several sprites. I have one just below (where 0 is nothing and 1 is wall) :)
On the contrary, I have no idea how to do it without sprites ???

So, here is for example a rendering of a map with only 0s and 1s, first without borders, then with borders
Spoiler For Spoiler:

.AA
. . .
 8
2 4
 1
. . .
[]->°Sprites
[0000000000000000]
[FF81B9B5AD9D81FF]
[FF81B9B5AD9DB9B5]
[FF01B975EDDD01FF]
[FF01B975EDDDB975]
[FF80BBB7AE9D80FF]
[FF80BBB7AE9DBBB7]
[FF00BB77EEDD00FF]
[FF00BB77EEDDBB77]
[AD9DB9B5AD9D81FF]
[AD9DB9B5AD9DB9B5]
[EDDDB975EDDD01FF]
[EDDDB975EDDDB975]
[AE9DBBB7AE9D80FF]
[AE9DBBB7AE9DBBB7]
[EEDDBB77EEDD00FF]
[EEDDBB77EEDDBB77]

.create a random map in L1 with only 0s and 1s
~1->r1
For(96)
 rand^2->{r1+++L1}
End

Draw()
Fill(L5,128,0)
Copy(L1,L5,96)
For(X,0,11)
 For(Y,0,7)
  If {Y*12+X+L5}
   {Y-1*12+X+L5}*2+{Y*12+X+1+L5}*2+{Y*12+X-1+L5}*2+{Y+1*12+X+L5}+1->{Y*12+X+L1}
  End
 End
End

Lbl Draw
ClrDraw
0->X
For(12)
 ~1->Y
 For(8
)
  Pt-On(X*8,Y++*8,{Y*12+X+L1}*8+°Sprites)
 End
 X++
End
DispGraph
Pause 3600
ClrHome
Return

edit of course it can be optimized, but I made that like that so I didn't optimize at all :P
wow! Looking amazing! You will just have to run this at the start of a room and copy the buffer you wrote it to to the screen.
If you like my work: why not give me an internet?








Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: VVVVVV
« Reply #103 on: March 08, 2013, 04:52:41 am »
wow! Looking amazing! You will just have to run this at the start of a room and copy the buffer you wrote it to to the screen.
Thanks :)
But, yeah, either run it just before a room in the main program, or as Shmibs said run it in the program editor ;)
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline pimathbrainiac

  • Occasionally I make projects
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1731
  • Rating: +136/-23
  • dagaem
    • View Profile
Re: VVVVVV
« Reply #104 on: March 08, 2013, 10:02:25 am »
I think I have a solution!

In my map-creating program could do the sorting stuffs for me and I could use separate sprites!

I was trying to think of a way to use separate sprites without having to redo my maps and keep track of more tile types, and I think I got it!

In the prog that makes the map appvar (the prog is actually a HUGE app with all the data), I can make a routine that converts the stuffs to the different types of sprites needed (16 different combinations of outlines, if my calculation is right) and not slow down my main program with an algorithm. (I'm going to borrow some of Hayleia's code for this).

On a side note: I'm sorry for using the caps and stuff... I use caps as a stressor instead of italics... I don't mean yelling unless the entire sentence is in all caps.
I am Bach.