Sep 21, 2013, 01:40 PM | ||
Quote:
|
Sep 21, 2013, 05:13 PM | |
I've been working on it on and off for the last year, especially when the new JJ2+ was released, but it won't be done any time soon, unfortunately. One day, though, I hope to finish it. If everything goes well, I may even post an update soon.
__________________
so we will shut our mouth when
we are trying to be bastards and speak loudly when we see injustice because everybody plays the game this way saints especially |
Oct 27, 2013, 02:05 AM | |
Finally, something worthy of page 100.
__________________
Mystic Legends http://www.mysticlegends.org/ The Price of Admission - Hoarfrost Hollow - Sacrosanct - other - stuff |
Oct 28, 2013, 12:13 AM | |
I think the "???" is supposed to read something like "GroundForce with settings"! Do I get a cookie now?
__________________
|
Jan 2, 2014, 04:30 AM | |
It's a remake of Labrat that I'm working on. I'm using pencil, sheets and a scanner. |
Jan 2, 2014, 06:54 AM | |
Wow, that looks pretty cool, Gus, especially the sketchy background! I'd make the saturation for the purple ground tiles slightly darker for the final tileset, but that's just my opinon, it's your set!
__________________
Add SlazRabbit on Xbox Live if you want to play some GoW1/2/3/J or Destiny1/2. Jazz Jackrabbit 2 Forever!! Civilian Defence Force - Jazz2 Visual Fantasers |
Jan 2, 2014, 09:56 AM | |
It would be nice to see a high-res version of that when it's finished. (It would be kinda useless in JJ2 unless the devs do some black magic, but it would be nice to look at)
Also, [Insert generic praise related to the epic background]. |
Jan 2, 2014, 05:24 PM | |
That's a nice Labrat remake by Gus, haha. Gus, don't forget about the Labrat robot boss, if that's something you want to draw XD
|
Jan 3, 2014, 05:39 AM | |
background - very yes
event layer - hope it's a work in progress
__________________
"So unless I overwrote my heart with yours, I think not. But I might have." - Violet CLM Two Games Joined releases: Control / Splinter (twin singles) || Ballistic Bunny (EP) || Beyond (maxi-single) || Beyond: Remixed (remix EP) || Inner Monsters OST (mini-album) || Shadows (album) |
Jan 3, 2014, 06:01 AM | |
IMO, apart from some(Mostly minor) tilebugs, the event layer looks quite nice.
Also, this redesign(?) makes it look less like New Junk City, and more like some kind of weird alien laboratory of some kind, so that's a plus. I think. |
Jan 9, 2014, 11:36 AM | |
I'm working on a new levelpack called Another Tomb Rabbit Adventure.
I'm not allowed to upload previews on J2O downloads, so I'm showing you the script: Code:
uint isjumping = 0; uint isfalling = 0; uint issliding = 0; uint fallbad = 0; uint realhealth = 100; uint jumplock = 0; uint zone = 0; uint reload = 0; uint skelekill = 0; uint ghoulkill = 0; uint mode = 0; uint deathtype = 0; uint kills = 0; uint redkeyGET = 0; uint bullshot = 0; void onLevelLoad() { jjObjectPresets[OBJECT::SKELETON].scriptedCollisions = true; jjObjectPresets[OBJECT::SKELETON].behavior = TheSkeleton; jjObjectPresets[OBJECT::SKELETON].energy = 5; jjObjectPresets[OBJECT::RAPIER].scriptedCollisions = true; jjObjectPresets[OBJECT::RAPIER].behavior = TheGhoul; jjObjectPresets[OBJECT::RAPIER].energy = 9; jjObjectPresets[OBJECT::TOASTERBULLETPU].ySpeed = -2; jjObjectPresets[OBJECT::TOASTERBULLETPU].xSpeed = 0; jjObjectPresets[OBJECT::APPLE].determineCurAnim(ANIM::MENU, 5); jjObjectPresets[OBJECT::APPLE].behavior = RedKey; jjObjectPresets[OBJECT::APPLE].scriptedCollisions = true; } void onLevelBegin() { jjPalette.gradient(255, 176, 0, 192, 64, 0, 208, 10, 1.0); jjPalette.gradient(255, 192, 64, 0, 0, 0, 96, 24, 1.0); jjPalette.gradient(176, 64, 0, 0, 0, 0, 195, 13, 1.0); jjPalette.gradient(255, 160, 0, 32, 16, 0, 160, 16, 1.0); jjPalette.gradient(255, 176, 0, 32, 16, 0, 134, 19, 1.0); jjPalette.gradient(192, 255, 0, 0, 0, 0, 179, 11, 1.0); jjPalette.gradient(224, 144, 0, 224, 128, 0, 222, 2, 1.0); jjPalette.apply(); } void onMain() { if (p.charCurr != CHAR::LORI) { p.morphTo(CHAR::LORI, false); } if (p.yPos > 4*480) { mode = 1; deathtype = 1; } p.food = 0; if (redkeyGET == 1 && mode == 2) { jjDrawSprite(p.cameraX+608, p.cameraY+16, ANIM::MENU, 5, 0, 0, SPRITE::PALSHIFT, 80); } if (redkeyGET == 2) { jjSamplePriority(SOUND::COMMON_COIN); redkeyGET = 1; } if (skelekill == 1) { jjSamplePriority(SOUND::AMMO_BOEM1); skelekill = 0; kills = kills + 1; } if (ghoulkill == 1) { jjSamplePriority(SOUND::BILSBOSS_SCARY3); ghoulkill = 0; kills = kills + 1; } if (p.yPos > 0 && p.yPos < 480) { jjMusicLoad("camel.xm", false); } if (p.yPos > 480 && p.yPos < 2*480) { jjMusicLoad("midnight.s3m", false); } if (p.yPos > 2*480 && p.yPos < 3*480) { jjMusicLoad("digsh.s3m", false); } if (p.yPos > 3*480 && p.yPos < 4*480) { jjMusicLoad("voice_of.j2b", false); } p.invincibility = 0; p.blink = 0; if (p.health > 2) { p.health = 2; } if (p.health == 1) { p.xPos = 16; p.yPos = 16; mode = 1; deathtype = 2; jjSamplePriority(SOUND::LORISOUNDS_DIE1); p.health = 2; } if (realhealth < 0 || realhealth > 80000000) { mode = 1; realhealth = 100; jjSamplePriority(SOUND::LORISOUNDS_DIE1); p.xPos = 16; p.yPos = 16; } if (mode == 0) { p.cameraFreeze(p.xPos, (p.yPos - p.yPos%480)+240, true, true); jjDrawSprite(p.cameraX+5, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+10, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+15, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+20, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+25, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+30, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+35, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+40, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+45, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+50, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+55, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+60, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+65, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+70, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+75, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+80, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+85, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+90, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+95, p.cameraY+16, ANIM::PICKUPS, 21, 0, 0, SPRITE::SINGLECOLOR, 0); jjDrawSprite(p.cameraX+626, p.cameraY+464, ANIM::PICKUPS, 29, jjGameTicks/7, 1, SPRITE::TINTED, 44); jjDrawSprite(p.cameraX+622, p.cameraY+464, ANIM::PICKUPS, 29, (jjGameTicks/7)+5, -1, SPRITE::TINTED, 44); } if (mode == 1) { p.cameraFreeze(320, 4.5*480, true, true); p.xPos = 16; p.yPos = 16; jjMusicStop(); } if (mode == 2 && jjKey[09]) { p.cameraFreeze(320, 5.5*480, true, true); } if (mode == 2 && !jjKey[09]) { mode = 0; } p.jumpStrength = -12; if (jumplock > 0) { jumplock --; } if (reload > 0) { reload --; } if (p.ySpeed > 0 && !jjMaskedHLine(p.xPos-12,24,p.yPos+24)) { isjumping = 1; isfalling = 1; } if (jjMaskedPixel(p.xPos-12, p.yPos+24) && !jjMaskedPixel(p.xPos-4, p.yPos+24) && jjMaskedPixel(p.xPos-4, p.yPos+48)) { issliding = 1; } if (jjMaskedPixel(p.xPos+12, p.yPos+24) && !jjMaskedPixel(p.xPos+4, p.yPos+24) && jjMaskedPixel(p.xPos-4, p.yPos+48)) { issliding = -1; } if (jjMaskedPixel(p.xPos-12, p.yPos+24) && jjMaskedPixel(p.xPos+12, p.yPos+24) || isjumping == 1) { issliding = 0; } if (p.ySpeed == 0 && isfalling == 1) { isjumping = 0; isfalling = 0; jumplock = 10; } if (p.ySpeed < -9.75) { isjumping = 1; } if (isjumping == 1 && p.ySpeed > 0) { isfalling = 1; } if (isfalling == 1) { fallbad = p.ySpeed; } if (fallbad > 5 && p.ySpeed == 0) { realhealth = realhealth - ((fallbad - 5)*25); if (realhealth < 0 || realhealth > 80000000) { deathtype = 1; } fallbad = 0; } } bool onDrawHealth(jjPLAYER@p, jjCANVAS@ canvas) { if (mode == 0) { canvas.drawString(608, 472, "PISTOLS", STRING::SMALL, STRING::RIGHTALIGN); canvas.drawString(624, 16, "PRESS TAB FOR STATISTICS AND INVENTORY", STRING::SMALL, STRING::RIGHTALIGN); } if (mode == 1 && deathtype == 0) { canvas.drawString(112, 32, "LORI WILL AIM AT ENEMIES", STRING::MEDIUM, STRING::NORMAL); canvas.drawString(192, 64, "AUTOMATICALLY", STRING::MEDIUM, STRING::NORMAL); } if (mode == 1 && deathtype == 1) { canvas.drawString(128, 32, "YOU FELL FROM TOO HIGH", STRING::MEDIUM, STRING::NORMAL); canvas.drawString(224, 64, "AND DIED", STRING::MEDIUM, STRING::NORMAL); } if (mode == 1 && deathtype == 2) { canvas.drawString(112, 32, "SOME TRAPS CAN KILL YOU", STRING::MEDIUM, STRING::NORMAL); canvas.drawString(224, 64, "INSTANTLY", STRING::MEDIUM, STRING::NORMAL); } if (mode == 2) { canvas.drawString(0, 16, "KILLS: "+(kills/2), STRING::MEDIUM, STRING::NORMAL); canvas.drawString(0, 40, "BULLETS SHOT: "+bullshot, STRING::MEDIUM, STRING::NORMAL); canvas.drawString(0, 48, "", STRING::MEDIUM, STRING::NORMAL); } return true; } bool onDrawLives(jjPLAYER@p, jjCANVAS@ canvas) { return true; } bool onDrawAmmo(jjPLAYER@p, jjCANVAS@ canvas) { return true; } bool onDrawScore(jjPLAYER@p, jjCANVAS@ canvas) { if (mode == 0) { if (realhealth > 5) { canvas.drawSprite(5, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 10) { canvas.drawSprite(10, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 15) { canvas.drawSprite(15, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 20) { canvas.drawSprite(20, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 25) { canvas.drawSprite(25, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 30) { canvas.drawSprite(30, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 35) { canvas.drawSprite(35, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 40) { canvas.drawSprite(40, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 45) { canvas.drawSprite(45, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 50) { canvas.drawSprite(50, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 55) { canvas.drawSprite(55, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 60) { canvas.drawSprite(60, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 65) { canvas.drawSprite(65, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 70) { canvas.drawSprite(70, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 75) { canvas.drawSprite(75, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 80) { canvas.drawSprite(80, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 85) { canvas.drawSprite(85, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 90) { canvas.drawSprite(90, 16, ANIM::PICKUPS, 21, 0); } if (realhealth > 95) { canvas.drawSprite(95, 16, ANIM::PICKUPS, 21, 0); } } return true; } void onPlayerInput(jjPLAYER@ p) { if (mode == 0 && jjKey[09]) { mode = 2; } if (mode != 0) { p.keyJump = false; p.keyRun = false; p.keyFire = false; p.keySelect = false; } if (reload != 0) { p.keyFire = false; } if (p.keyFire == true && reload == 0) { bullshot ++; } for (int i = 1; i < jjObjectCount; i++) { jjOBJ@ obj = jjObjects[i]; if (obj.eventID == OBJECT::SKELETON && p.keyFire == true) { if (p.xPos - obj.xPos > -128 && -obj.xPos + p.xPos < 128 && p.yPos - obj.yPos > -128 && -obj.yPos + p.yPos < 128) { obj.energy --; jjSamplePriority(SOUND::RAPIER_GOSTOOOH); if (p.xPos < obj.xPos) { obj.xPos = obj.xPos+8; } if (p.xPos > obj.xPos) { obj.xPos = obj.xPos-8; } } } if (obj.eventID == OBJECT::RAPIER && p.keyFire == true) { if (p.xPos - obj.xPos > -128 && -obj.xPos + p.xPos < 128 && p.yPos - obj.yPos > -128 && -obj.yPos + p.yPos < 128) { obj.energy --; jjSamplePriority(SOUND::HATTER_PTOEI); if (p.xPos < obj.xPos) { obj.xPos = obj.xPos+8; } if (p.xPos > obj.xPos) { obj.xPos = obj.xPos-8; } if (p.yPos < obj.yPos) { obj.yPos = obj.yPos+8; } if (p.yPos > obj.yPos) { obj.yPos = obj.yPos-8; } } } if (p.keyFire == true) { reload = 30; } if (obj.eventID == OBJECT::BLASTERBULLET) { if (p.direction > 0) { obj.xPos = p.xPos + 22; } if (p.direction < 0) { obj.xPos = p.xPos - 22; } obj.yPos = p.yPos - 8; obj.state = STATE::EXPLODE; } } p.keyDown = false; p.keyUp = false; p.keyRun = false; if (isjumping == 1) { p.keyJump = false; if (p.xSpeed < -3 && isfalling == 0) { p.keyLeft = true; p.keyRight = false; } if (p.xSpeed > 3 && isfalling == 0) { p.keyRight = true; p.keyLeft = false; } if (isfalling == 1) { p.keyRight = false; p.keyLeft = false; } p.keyDown = false; } if (issliding == 1) { p.keyRight = true; p.keyLeft = false; } if (issliding == -1) { p.keyLeft = true; p.keyRight = false; } if (jumplock > 0 || issliding == 1 && p.xSpeed < 3.125 || issliding == -1 && p.xSpeed > -3.125) { p.keyJump = false; } } void onObjectHit(jjOBJ@ obj, jjOBJ@ bullet, jjPLAYER@ player, int force) { if (obj.eventID == OBJECT::APPLE) { redkeyGET = 2; } if (obj.eventID == OBJECT::SKELETON) { p.xSpeed = (p.xPos - obj.xPos)/8; if (!jjMaskedHLine(p.xPos-12,24,p.yPos+24)) { p.ySpeed = (p.yPos - obj.yPos)/8; } realhealth = realhealth - 5; } if (obj.eventID == OBJECT::RAPIER) { p.xSpeed = (p.xPos - obj.xPos)/8; if (!jjMaskedHLine(p.xPos-12,24,p.yPos+24)) { p.ySpeed = (p.yPos - obj.yPos)/8; } realhealth = realhealth - 5; } } void TheSkeleton(jjOBJ@ skele) { skele.behave(BEHAVIOR::SKELETON, false); { if (jjMaskedHLine(skele.xPos-6, 12, skele.yPos+32)) { skele.putOnGround(true); } skele.direction = (p.xPos - skele.xPos)%32; if (jjGameTicks%15+jjRandom()%15+skele.curFrame%15 == 0) { jjObjects[jjAddObject(OBJECT::RAPIER, skele.xPos, skele.yPos)]; } jjDrawSprite(skele.xPos, skele.yPos, ANIM::SKELETON, 2, (jjGameTicks/5)+(skele.xPos/8), skele.direction, SPRITE::NORMAL); jjDrawSprite(skele.xPos-12, skele.yPos-12, ANIM::AMMO, 55, (jjGameTicks/7)+(skele.xPos/32), skele.direction, SPRITE::NORMAL); jjDrawSprite(skele.xPos, skele.yPos-16, ANIM::AMMO, 55, (jjGameTicks/7)+6+(skele.xPos/32), skele.direction, SPRITE::NORMAL); jjDrawSprite(skele.xPos+12, skele.yPos-4, ANIM::AMMO, 55, (jjGameTicks/7)+3+(skele.xPos/32), skele.direction, SPRITE::NORMAL); jjDrawSprite(skele.xPos, skele.yPos, ANIM::AMMO, 2, (jjGameTicks/7)+(skele.xPos/32), skele.direction, SPRITE::NORMAL); jjDrawSprite(skele.xPos, skele.yPos+16, ANIM::AMMO, 2, (jjGameTicks/7)+5+(skele.xPos/32), skele.direction, SPRITE::NORMAL); jjDrawSprite(skele.xPos, skele.yPos-16, ANIM::AMMO, 2, (jjGameTicks/7)+3+(skele.xPos/32), skele.direction, SPRITE::NORMAL); if (!jjMaskedPixel(skele.xPos-24, skele.yPos) && !jjMaskedPixel(skele.xPos+24, skele.yPos) && jjMaskedPixel(skele.xPos- 16,skele.yPos+32) && jjMaskedPixel(skele.xPos+16,skele.yPos+32)) { skele.xPos = skele.xPos - ((skele.xPos - p.xPos)/64); } if (skele.energy < 0) { jjObjects[jjAddObject(OBJECT::THING, skele.xPos, skele.yPos)]; skele.state = STATE::KILL; skelekill = 1; } } } void TheGhoul(jjOBJ@ ghoul) { ghoul.direction = (p.xPos - ghoul.xPos)%32; ghoul.behave(BEHAVIOR::RAPIER, false); ghoul.playerHandling = HANDLING::PICKUP; ghoul.state = STATE::START; jjDrawSprite(ghoul.xPos, ghoul.yPos, ANIM::RAPIER, 1, (jjGameTicks/5)+((ghoul.xPos+ghoul.yPos)/64), ghoul.direction, SPRITE::TINTED, 44); if ((p.yPos - p.yPos%480)+240 == (ghoul.yPos - ghoul.yPos%480)+240) { ghoul.xPos = ghoul.xPos - ((ghoul.xPos - p.xPos)/128); ghoul.yPos = ghoul.yPos - ((ghoul.yPos - p.yPos)/128); } if (ghoul.energy < 0) { ghoul.state = STATE::KILL; ghoulkill = 1; jjObjects[jjAddObject(OBJECT::TOASTERBULLETPU, ghoul.xPos, ghoul.yPos)]; } } void RedKey(jjOBJ@ redkey) { redkey.yPos = redkey.yPos + (jjSin(jjGameTicks*16)); jjDrawSprite(redkey.xPos, redkey.yPos, ANIM::MENU, 5, 0, 0, SPRITE::PALSHIFT, 80); if (redkeyGET != 0) { redkey.xPos = 0; } } If you think the code can be improved and fixed, I will be more than glad to have it improved and fixed, and ofcourse include you in the credits! Last edited by DennisKainz; Jan 9, 2014 at 12:39 PM. |
Jan 9, 2014, 12:21 PM | |
Looks like a lot of good work!
But please, indent your code so it's readable for others
__________________
Mystic Legends http://www.mysticlegends.org/ The Price of Admission - Hoarfrost Hollow - Sacrosanct - other - stuff |
Jan 9, 2014, 12:40 PM | |
Here, I sealed it into a window, so it does no longer flood the page.
|
Jan 9, 2014, 12:43 PM | ||
Quote:
Looking forward to seeing more! |
Jan 9, 2014, 12:45 PM | ||
Quote:
Code:
void onMain() { if (p.charCurr != CHAR::LORI) { p.morphTo(CHAR::LORI, false); } if (p.yPos > 4*480) { mode = 1; deathtype = 1; } }
__________________
Mystic Legends http://www.mysticlegends.org/ The Price of Admission - Hoarfrost Hollow - Sacrosanct - other - stuff |
Jan 9, 2014, 04:57 PM | |
I'm doing the code all over again. Tidier, simpler, and with NotePad++.
How do I prevent the annoying "BUST A MOVE" text from even appearing? Is there a code line for that? |
Jan 12, 2014, 12:00 AM | |
I was bored and started making something new. Theme of this set is a snowy forest/mountain wasteland with a ruined fortress, and lava ocean beneath the surface. EDIT: I just realised how stupid and lonely that single brick looks. oh well, I'd appreciate some good feedback and suggestions.
__________________
Last edited by snzspeed; Jan 12, 2014 at 01:40 AM. |
Jan 12, 2014, 02:38 PM | |
snz: One thing that stands out is that the shading on the brick, or at least its edges, is much harsher than anything else in the screenshot. Putting a little buildup of snow in front of it might also help it fit in. The snow looks lovely, btw, very untiled.
Been working on this game, very sporadically, for the last five and a half years. Time to get it done. |
Jan 12, 2014, 04:12 PM | |
spikes coming out of falling lava...?
the whole screenshot looks great but this is bothering me
__________________
"So unless I overwrote my heart with yours, I think not. But I might have." - Violet CLM Two Games Joined releases: Control / Splinter (twin singles) || Ballistic Bunny (EP) || Beyond (maxi-single) || Beyond: Remixed (remix EP) || Inner Monsters OST (mini-album) || Shadows (album) |
Jan 12, 2014, 05:38 PM | |
|
Jan 12, 2014, 05:39 PM | ||
Progress. Its quite tilebuggy atm but I will ofcourse fix it. It will also be quite hard to use. Quote:
__________________
|
Jan 12, 2014, 05:46 PM | |
You say it's a tilebuggy atm, but I don't see any ATM. lol
Jokes apart, here are my suggestions for your tileset to look the best possible: Some blue diamonds and gold nuggets nudged in the rocks. Some medieval element such as weapon shacks, chests, herb shacks, armors, thrones and banners upon those bricks. And ofcourse, a back wall made from draker, bluer bricks. Some warped oaks, willows and birches, and ofcourse, pines or spruces. Some of these are composable like the spruces in Diamondus. Some iron fence with barbed wire and some alarm light on the top, and some turret and radar. Some modern military elements, such as hangars, training camps, runways and whatever comes in your mind. Water pools, not like the water in the Beach levels, but like the ones in the Jungle level. And a variant to have ice upon the water pools. Gigantic mesas (very steep mountains) with waterfalls on layer 7. Some vertical 1 pixel stripes with a random color from 176 to 208 to simulate the giant sun's light rays. Some giant statues of turtles, rhynos and lizards. Some crystals coming out of the ground. Last edited by DennisKainz; Jan 12, 2014 at 06:00 PM. |
Jan 13, 2014, 02:35 AM | |
Did you read my suggestions for your tileset? Maybe you didn't because I edited the message later on. If you didn't, please read them.
Now, since you can use the drawTile operation with uint16 tile set as eg. 64+obj.curFrame%7 if tiles 64 to 71 contain a pretty animation, I'd suggest you to use it to create customized enemy sprites, such as a wolf, a bear or a snake. |
Jan 13, 2014, 03:22 AM | |
(You can do both those from within JCS without any AS, actually)
__________________
Mystic Legends http://www.mysticlegends.org/ The Price of Admission - Hoarfrost Hollow - Sacrosanct - other - stuff |
Jan 13, 2014, 04:45 AM | ||
Quote:
__________________
|
Jan 13, 2014, 10:10 AM | |
Hmm, the snow looks very flat and scratchy. I also think the stones inside the walls should pop out more when there's snow on it. If you can put the tileset table here I will see what I can do with it.
Save as png next time because Jpegs are awful for JJ2, especially if I'm trying to get a good look at the tileset. I guess you saved by it as accident. The reason the lone brick looks so awkward is due to how flat it looks, considering the tileset seems to be going for a somewhat isometric look. Also, the outlines are too thick compared to the rest of the tileset. But since that screenshot is a bit older, it may have been changed since then.
__________________
|
Jan 13, 2014, 04:45 PM | |
For my new level, it would be useful to find a good tileset sheet ripped from some other game. I've been searching for one for like 2 hours, and I couldn't find a decent one.
Can you please help me find a good source of ripped tilesets? I found nothing but 2 level images with a good tileset: And I couldn't even find the stand alone tileset! Can somebody please help me? Don't suggest me opengameart.org because I tried it already, and I didn't find a thing in there. |
Jan 14, 2014, 12:16 AM | |
If either of them are console games, most emulators let you rip any sprites and tilesets in any level you are in.
|
Jan 14, 2014, 07:36 AM | |
That "yet" leaves to intend that there IS going to be AngelScript eventually, doesn't it?
Don't feel forced to use it, though. Do it if you feel like. |
Jan 14, 2014, 07:39 AM | |
I will use it for many things. I have some great ideas in my head, esp. what I can do with gameplay.
__________________
|
Jan 16, 2014, 09:09 AM | |
I started working on a new tileset.
This time, it's going to be a mashup. Any suggestions? Something you think it is important to include? Last edited by DennisKainz; Jan 16, 2014 at 06:28 PM. |
Jan 16, 2014, 02:36 PM | |
Looks like Jazz is on something, and I'm not referring to the ground.
Anyway, I suggest adding more grass tiles from Carrotus with mushrooms from Psych coming out of them. |
Jan 16, 2014, 06:29 PM | ||
Quote:
How about this? Last edited by DennisKainz; Jan 17, 2014 at 05:44 AM. Reason: The mountain background looked awful! |
Jan 19, 2014, 10:05 AM | |
So this is a level select screen? Am I looking at it the right way?
__________________
"So unless I overwrote my heart with yours, I think not. But I might have." - Violet CLM Two Games Joined releases: Control / Splinter (twin singles) || Ballistic Bunny (EP) || Beyond (maxi-single) || Beyond: Remixed (remix EP) || Inner Monsters OST (mini-album) || Shadows (album) |
Jan 19, 2014, 10:12 AM | ||
Quote:
EDIT: So far it leads you to this:
__________________
|
Jan 19, 2014, 10:35 AM | |
Well, the tilesets are a little raw. I suggest you request your pictures in some specialized forum.
Other than that, the level and the intro look AWESOME!!! I'm eager to see the finished game, or even a demonstration of it. |
«
Previous Thread
|
Next Thread
»
Thread Tools | |
|
|
All times are GMT -8. The time now is 03:28 PM.
Jazz2Online © 1999-INFINITY (Site Credits). Jazz Jackrabbit, Jazz Jackrabbit 2, Jazz Jackrabbit Advance and all related trademarks and media are ™ and © Epic Games. Lori Jackrabbit is © Dean Dodrill. J2O development powered by Loops of Fury and Chemical Beats. Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Original site design by Ovi Demetrian. DrJones is the puppet master. Eat your lima beans, Johnny.