Jump to content


New Members
  • Content Count

  • Joined

  • Last visited

Community Reputation

7 Neutral

About fued

  • Rank
    Space Invader
  1. @moycon I want the no-clue as with the old arcades (80s), learning as one plays is a must. 34 as a clean boot is great, you got the 2nd ending! Second run got to the boss, which is neat, as beating them requires mastering the bounce back dark avocados and more work done on the first part, like understanding the power ups. At the end, power ups you summon and don´t get, the broken ones, are scored 5 each. It may sound as a penalty for picking them up (as you loose points to gain later) but they make the game a lot easier so that is a balance between high score / power ups. Yep it is a little confusing, my mind was on the arcade thing, might not be as welcomed now a days. Thanks for sharing!
  2. Great! Let me know your very first score, it was hard to fine tune this game´s difficult level and a person´s first score helps a bunch.
  3. All fixed now I hope! Here are some steam keys, let me know what you think of it. H4KM4-YPHT8-5NYR2 P6BLK-574EK-738CJ GV29K-KTX34-W070B
  4. Hello chaps, I´d like to edit this post here as some of the images are broken. tks!
  5. I can´t seem to edit my last post to fix the broken links, how can one do that?
  6. 4.5 billion years have passed since this game´s creation, now a new remake begins... Originally a TRS-80 Color Computer II game where I wanted to test high resolution color graphic movements similar to sprites. Prior to this, my games were strictly character or block based. I think there was a couple made with lines in high res though. Here is the powerhouse! Brazilian clone called CP-400 II Using a resolution of 128x96 and 4 colors, I managed to get the players moving, some avocados falling and being collected, tree barks and bats, with the latter falling leaning towards you. There was some intro and final score screens and at that point, I ran out of memory and was too young to figure out how to go around, also, the AMIGA was quite around the corner Here is more or less how it looked like Update game play, graphics and sound, bring it to modern computers with the looks of an AMIGA styled game, is the object desired. A bit about the original idea. At a time I lived close to a huge avocado tree and we kids used to play under it(mostly marbles), when avocado season, billions would fall and we would still keep dangerously playing under it. I recall we developed some sort of kid technology/behavior to detect and avoid avocados falling and the original game was intended to praise that. The tree is no more since around later 2k16, this is also in her memory. The first quick re-designed layout So, there is the layout, it has the basics from the original game plus a bit more, you have the kids, avocado, barks and a trunk. You score points and have heart like energy, should be enough to boot. Being a lover of old school 320x240 resolution and also an owner of a Caanoo handheld, I thought to keep the game at that res and scale it a few times for modern PC gaming, so I could run it on both comfortably. So let's sketch it up, Some outlines mainly for proportion and whatnot, some shades, later adding up some textures after studying a bunch of avocado trees references. After the trunk , background and ground got more or less done, and it took quite some time, I thought to speed up the layout and use placeholders for the leaves and cheesy players until I get to the minimum game playing in code. Here some background GFX evolution, the latter already has a bit of the AMIGA style Game already running on the Caanoo, moves nicely with the analog control Desktop version, clouds move smoothly on the background It's alive! Yes, always a wonderful feeling when such milestone gets reached! Players are 2 sprites animated for movement and 2 for when hit, avocados and barks are 2 frames each, normal and exploded, there is also a frame for the defeated players. Player ́s movement has a small drag as to simulate real life and they can be controlled with either a joypad or an analog stick, keyboard too! I tried using the accelerometer on the Caanoo for control but it didn't work on such a fast and precision kind of game. I added clouds with different speeds to add some parallax to the BKG. With the game already flowing, better look at our heroes, I dug a bunch of references to help improve their look and, most importantly, fix its proportion as it is quite weird against the tree, like gnomes. Better line art heroes and look at that Cooper fx styled degradee! Dash and catch animations added, kids a bit super deformed style, ye with big heads. The dash is a fast movement that can also instantly change direction, its drawback is that the heroes almost halt when done. Dashes can be timed to avoid hazards or stretch to get that avocado or power up, but remember, if not raining, walking around is faster. The base game is really complete and looks okayish, time to feature creep it till it explodes! Better start some game design bible just to keep track. So there is going to be 100 avocados falling and they will randomly do so as time goes by and it can get to a few falling simultaneously. As the number of avocados that felt gets closer to 100, extra hazards should also be possible to randomly kick in, therefore I want it to start smooth and to end chaotic but with so much randomicity that each gameplay gets unique...I hope. These white physical thin slices of trees kind of serve as a third and fourth monitor Let's add weather FX, winds! Their occurrence could happen more often as time passes and it will randomly choose between a set of speeds of winds as well as directions left or right. The winds move falling objects a bit differently and they also push the heroes around. Considering that, let's create the tree's leaves. This poses a challenge as if I'd do it by hand it would take ages. The solution was to hand draw a few leaves and create 500 instances of it on a 3d application, make 2 frames and slightly transform their rotation. It works great but, as usual, requires a bit of clean up on the pixel art level. 3d render apps struggles with ultra low resolutions. Spreading those leaves around Final cleaned up image, wind leaf animation is also great Just before those leaves got done, the game's resolution went through changes, mostly to better fit mobiles and full screen desktop resolutions while still supporting the Caanoo´s old school set. It is now at 428x240. While on the 3d set, better model a background topography and objects, crude render it to get some light shade, photoshop textures and pixel art the result. I'd like to keep a small level of antialiase as with the old arcades, to mimic a little level of depth of field, considering the main sprites are all sharp nearest neighbor. I ́d also like the background to be able to darken up, at which point, thunder would start to flash. Might as well add rain weather FX too. So darkening up is just aesthetics while thundering will scare the kids into an involuntary shiver and rain will slowly drag players as it pours down. Rain can be on or off and happens on its own through the game ́s timeline, ye the 100 avocados to fall. Whenever there is rain and winds of at least a certain speed, there can be thunders. Some castle and rocks Final light and dark backgrounds I also have leaves falling down the tree so to confuse players, their amount increases if winds are blowing higher, together with rain, it should pose a nice distraction. When the storm is really strong, splashes of water will also fall down and halt player ́s movement if hit. That covers for the weather FXs. Let's look into the hazards. So far we have avocados to catch and tree barks to avoid, but we are soon get introduced to tree trunks. They are big tree parts that once fallen on the ground, stays around for a while before disintegrating. Heroes move at half speed while traversing it but it makes it disappears faster. The tree is inhabited by monkeys, of course, and they will try to catch some of the avocados mid-air before you get the chance to. Later, some might slip off the tree and fall down, as they recover from the crash, they will enragelly return and climb up. A set of hand draw monkeys Old and new monkey thieves sprite sets Monkey thieves won ́t do you any harm, barks will cost half a heart, trunks will double hit, half a heart and a full one, you want to avoid this at all cost. Finally, the fallen monkey, if over your head, will take a heart, and, as it runs back to the tree, if over you, can multiple hit up to another heart or so. To cut a break, a yellow avocado will fall occasionally and it will restore one of you hearts as well as score as a normal avocado. These, with all the weather FXs, composes the first part of the game, where those 100 collectible avocados fall, then, our heroes have to face a set of bosses. Throughout both stages, darker avocados will fall. Those can't be collected for score, instead, you bounce them back up as a cracked dark avocado. If you try to catch it, it will hurt you for a heart, but on the other hand, that is your weapon and with it you fight the bosses. Cracked avocados will bounce back according to your movement direction and speed, including dashing, so use it to aim. You can also hit other objects with it and it will cause both to shatter, do it a certain amount of times and a power up will materialize. There are 4 ancient artifacts that, if caught, gives you certain powers through both stages of the game. It works as follows: Gold Power: A higher number of yellow heart restoring avocados will fall through the first stage of the game, on the bosses, one will fall between each fight. Cloud Power: Storms are eased up for the rest of the game, no thunders and no high speed winds. Banana Power: No more monkey thieves and the fallen monkeys won't hurt you when rushing back to the tree. Beware though you still get hit if it falls over your head. Lunete Power: During rains, all avocados naturally get dark making it impossible to distinguish between those you have to catch and those to bounce, with this power, you can see them. It will also make you see the last boss for a way higher amount of time. Objects and Icons Without getting into the bosses part, we already have a very challenging and hard to tune game. There are a lot of variables to deal but I ultimately want a progressively difficult game where power ups can make life very easy. Don't ́t get me wrong, it is to be a VERY HARD casual game and multiple endings based on score should give the players a will boast to try again. The first stage timeline got changed a million times The first boss, of course, has to be the bat. Its first attack is a surprise one, you have to be weary. While flying about, it can choose to dive attack, side attack or hide inside the tree top. You can bounce a dark avocado into him anytime except when he is on the tree top. His attack is a set of multiple bites that take half a heart after a few bites. It can be very dangerous if you get caught against the wind or over the scene´s corners. Nothing fancy graphic wise, I wanted him very flat almost evil face only. As he gets beaten, his flying animation changes to an ever more deteriorated aspect. A bat full of himself For the second boss, a monkey leader! A huge bike raider monkey that raids the screen left to right and performs super immortal jumps that destroy every object in its path when he is riding towards you. He will occasionally traverse the background, giving you some time to breath. Very difficult to hit as one has to count on either well done ballistics or a close encounter dash avocado bounce. Visually, drawing the bike performing a rotation turn on screen would be quite some trouble to pixel, so better put some 3d on it. Simple object, bonus for who can tell the reference Work in progress Third boss is about the tree becoming alive and letting hell break loose. It's shaking roots will get our heroes of balance and she will hunt them. She can either spit a powerful directed gish that will double hit for 2 hearts or vomit one of many patterns of smaller blobs that will also lose heroe´s control. Hit her face to win. Together with the weather FXs, this fight gets very intense and its balance can shift within seconds. Tree animation started as a black outline attempting to mix its 2 parts Hammer time Time to fill up those forms, create the transformation animation and spits and vomits. There was to be an extra root attack by the tree, but it got cut off at the end, would make it impossible to beat. A lot of frames, big sprites Tree ́s transformation and movements - Guest Music: Basement Ingame [PUFFY64] Final boss is the ghost that has possessed the tree, as you break it free, hit it to push it back to the castle ruins. Ghost stays very little on screen and the heroes have a very small window of chance to hit him, but if you study his movements, it can be predicted even as he fades away. If with the lunete power, he is visible for quite longer. Final score table sketch, monkey boss, HUD and falling monkey The final score is calculated by adding the number of collected avocados to 5 points for each full heart, 5 points for each destroyed power up, 5 points for each boss but 20 for the ghost. Here is a full game test play with all of its elements in action. It took me a while to beat the monkey...proper conditions were not favorable and I took no power ups. So even on the 8 minutes mark, the game fits around the 5-10 minutes experience for full run, less when beginner. With the main game done, least some fine tunings, let's look into the intro. A FUED card followed by a short visual story showing the kids discovering the Avocado Tree and then dreaming about making a treehouse. They can't agree on which kind of house but a falling avocado wakes them to the threat it is to make any at all. An attempt of tree background where dream houses will pop up Each time the intro is played, a set of dream tree houses from a poll comes into their argument, always random. Wanted to bring more value to the intro and possibly influence first time players differently by what they first experience and judge. Different dream houses And a title screen! Typography inspired by the Demo Scene we all love. Sketch by hand, cel photo and line art draw, extruded each letter into a 3d object and deformed, textured and photographed a scene. The output is used to create the final pixel art title. Title work in progress, a bit street in shape and surf colored Trying to find a good spot for both title and subtitle Intro and title on the way, time to think about the outros, or endings. The game is over if you either lose all hearts or pass the last boss with at least half one, this last case being considered a beated-the-game condition but, whichever case, you get one of the 10 different score based endings. The game can also end if you take too long to hit the monkey or the bat bosses. Each ending depicts the house our heroes were score worth, with the idea that no themes are any of the introduction dreams and that they tell a story with all the characters of the game. The house structures were 3d rendered after assembling a bunch of pre created parts. Some of the low poly objects that make the basics of each tree house While coughing up the endings, I added an attract mode and its android version, so if left alone one actually sees how to play. Here is some draft video with the intro animation, without music, taking half of the video. Title animation and dithered transitions added. Back to the endings, from the base tree house render, compose everything else! This is the base render the 3d app outputs Two stages of ending image ́s tests This project was possible by the hands and will of a lot of people specially The GLBasic community and tool for being the best! Musician GMChanfle, who made more than 10 unique tunes for the game and many more work in progress samples, is to be praised to no end! You can catch up with some of his stuff here: https://soundcloud.com/user-732324439 If you haven't seen already, here is the final teaser and game play videos: The game can be purchased over the following stores: https://store.steampowered.com/app/1127520/TREE_HOUSE__AVOCADO_MAYHEM/ https://ericomont.itch.io/tree-house-the-avocado-mayhem Thanks for playing! Let me know what you guys think of it. Will come around soon with some steam keys too.
  7. All fine @imstarryeyed , just don´t look too close on the code itself as it was a quick bashed one. edit: forgot to mention the control WASD for moving, QE for rotation and RF for going up/down.
  8. Not the GW but GLbasic. It exists for somewhat 15-20 years. We just pushed it to STEAM a while ago and I think a promotion is going on, check here: https://store.steampowered.com/app/819510/GLBasic_SDK/ In sum, it is a BASIC geared towards games/media, like Amos/BlitzBasic/Stos in the old days. I came from trs 80-color basic and went to Amos and then to GLbasic, so if you know any flavor of Basic you are pretty much home. Add to it speed, as everything is converted to C++ and one can also inline it. There are functions and types, no line numbers and a lot of modern stuff I almost don´t use. As of that debugging info on the GIF, while GLB has an awesome debugger (specially if you want to find places in code that are taking too much time), I like placing my debug info on screen so I usually code it myself. Here on the final game, it is turned off. If you enjoy coding(ye no visual coding), give the tool a try, it is super fast to prototype stuff with it and easy to take it further. Here is some code I did a while ago while thinking about creating a dungeon crawler game similar to Hired Guns, it is a proof of concept I did not push further but shared on the Forum. I only created control for the top left player and there is no collision, I just wanted to mess with a 3d array. Attached it the EXE to give it a try and an image of how it looks. Code to create that is this here: // --------------------------------- // // Project: HG // Start: Thursday, November 12, 2015 // IDE Version: 14.006 // --- BOOT SETSCREEN 680,400,0 ;// final resolution CREATESCREEN 0,0,170,100 ;// player view set to sprite 0 SMOOTHSHADING FALSE // --- VARIABLES GLOBAL ft ;// for/next timer/player set (1-4) GLOBAL world[] ;// world 3d array DIM world[61][61][61] GLOBAL fov[] ;// fov 3d array DIM fov[5][5][5] GLOBAL wx,wy,wz ;// for/next world scanner DIM px[5]; DIM py[5]; DIM pz[5] ;// players position DIM pf[5] ;// players face direction (1-4) 1 north GLOBAL px[], py[], pz[], pf[] // --- LOAD ASSETS SETCURRENTDIR("Media") ;// go to media files LOADSPRITE "GUIDE BKG.png",1 ;// load background guide LOADANIM "BLK004.png",2,170,100 ;// load block sprites LOADANIM "FOG.png",3,170,100 ;// load depth fog // --- WORLD GENERATION FOR wx=5 TO 55 FOR wy=5 TO 55 FOR wz=5 TO 55 IF RND(4)=1 THEN world[wx][wy][wz]=1 ;// ramdom plot block NEXT NEXT NEXT // --- HARDCODE PLAYER POSITION px[1]=25 ; py[1]=25 ; pz[1]=55 ;// set player 1 coord pf[1]=1 ;// set player 1 orientation px[2]=24 ; py[2]=25 ; pz[2]=55 ;// set player 2 coord pf[2]=1 ;// set player 2 orientation px[3]=23 ; py[3]=25 ; pz[3]=55 ;// set player 3 coord pf[3]=1 ;// set player 3 orientation px[4]=26 ; py[4]=25 ; pz[4]=55 ;// set player 4 coord pf[4]=1 ;// set player 4 orientation FOR wx=22 TO 27 ;// clear players start room FOR wy=25 TO 27 FOR wz=52 TO 55 world[wx][wy][wz]=0 NEXT NEXT NEXT FOR wx=22 TO 27 FOR wz=52 TO 55 world[wx][24][wz]=1 NEXT NEXT // ------------------------------------------------------------------------- MAIN LOOP WHILE TRUE // --- DISPLAY FOR ft=1 TO 4 ;// loop through players USESCREEN 0 ;// use virtual screen DRAWSPRITE 1,0,0 ;// draw bkg guide // --- DUMP FOV ARRAY IF pf[ft]=1 ;// check orientation north FOR wx=0 TO 4 ;// dump FOR wy=0 TO 4 FOR wz=0 TO 4 fov[wx][wy][wz]=world[px[ft]+wx-2][py[ft]+wy-2][pz[ft]-wz] NEXT NEXT NEXT ENDIF IF pf[ft]=2 ;// check orientation east FOR wx=0 TO 4 ;// dump FOR wy=0 TO 4 FOR wz=0 TO 4 fov[wx][wy][wz]=world[px[ft]+wz][py[ft]+wy-2][pz[ft]+wx-2] NEXT NEXT NEXT ENDIF // IF pf[ft]=3 ;// check orientation south FOR wx=0 TO 4 ;// dump FOR wy=0 TO 4 FOR wz=0 TO 4 fov[wx][wy][wz]=world[px[ft]-wx+2][py[ft]+wy-2][pz[ft]+wz] NEXT NEXT NEXT ENDIF IF pf[ft]=4 ;// check orientation west FOR wx=0 TO 4 ;// dump FOR wy=0 TO 4 FOR wz=0 TO 4 fov[wx][wy][wz]=world[px[ft]-wz][py[ft]+wy-2][pz[ft]-wx+2] NEXT NEXT NEXT ENDIF // --- DRAW FOV [layer4] IF fov[0][4][4]=1 THEN STRETCHANIM 2,0,0,0,170,100 IF fov[1][4][4]=1 THEN STRETCHANIM 2,1,0,0,170,100 IF fov[4][4][4]=1 THEN STRETCHANIM 2,0,170,0,-170,100 IF fov[3][4][4]=1 THEN STRETCHANIM 2,1,170,0,-170,100 IF fov[2][4][4]=1 THEN STRETCHANIM 2,2,0,0,170,100 IF fov[0][3][4]=1 THEN STRETCHANIM 2,3,0,0,170,100 IF fov[1][3][4]=1 THEN STRETCHANIM 2,4,0,0,170,100 IF fov[4][3][4]=1 THEN STRETCHANIM 2,3,170,0,-170,100 IF fov[3][3][4]=1 THEN STRETCHANIM 2,4,170,0,-170,100 IF fov[2][3][4]=1 THEN STRETCHANIM 2,5,0,0,170,100 IF fov[0][0][4]=1 THEN STRETCHANIM 2,0,0,100,170,-100 ;// mirror down IF fov[1][0][4]=1 THEN STRETCHANIM 2,1,0,100,170,-100 IF fov[4][0][4]=1 THEN STRETCHANIM 2,0,170,100,-170,-100 IF fov[3][0][4]=1 THEN STRETCHANIM 2,1,170,100,-170,-100 IF fov[2][0][4]=1 THEN STRETCHANIM 2,2,0,100,170,-100 IF fov[0][1][4]=1 THEN STRETCHANIM 2,3,0,100,170,-100 IF fov[1][1][4]=1 THEN STRETCHANIM 2,4,0,100,170,-100 IF fov[4][1][4]=1 THEN STRETCHANIM 2,3,170,100,-170,-100 IF fov[3][1][4]=1 THEN STRETCHANIM 2,4,170,100,-170,-100 IF fov[2][1][4]=1 THEN STRETCHANIM 2,5,0,100,170,-100 IF fov[0][2][4]=1 THEN STRETCHANIM 2,6,0,0,170,100 ;// in the midium!! IF fov[1][2][4]=1 THEN STRETCHANIM 2,7,0,0,170,100 IF fov[4][2][4]=1 THEN STRETCHANIM 2,6,170,0,-170,100 IF fov[3][2][4]=1 THEN STRETCHANIM 2,7,170,0,-170,100 IF fov[2][2][4]=1 THEN STRETCHANIM 2,8,0,0,170,100 DRAWANIM 3,3,0,0 ;// hardfog // --- DRAW FOV [layer3] IF fov[0][4][3]=1 THEN STRETCHANIM 2,9,0,0,170,100 IF fov[1][4][3]=1 THEN STRETCHANIM 2,10,0,0,170,100 IF fov[4][4][3]=1 THEN STRETCHANIM 2,9,170,0,-170,100 IF fov[3][4][3]=1 THEN STRETCHANIM 2,10,170,0,-170,100 IF fov[2][4][3]=1 THEN STRETCHANIM 2,11,0,0,170,100 IF fov[0][3][3]=1 THEN STRETCHANIM 2,12,0,0,170,100 IF fov[1][3][3]=1 THEN STRETCHANIM 2,13,0,0,170,100 IF fov[4][3][3]=1 THEN STRETCHANIM 2,12,170,0,-170,100 IF fov[3][3][3]=1 THEN STRETCHANIM 2,13,170,0,-170,100 IF fov[2][3][3]=1 THEN STRETCHANIM 2,14,0,0,170,100 IF fov[0][0][3]=1 THEN STRETCHANIM 2,9,0,100,170,-100 ;// mirror down IF fov[1][0][3]=1 THEN STRETCHANIM 2,10,0,100,170,-100 IF fov[4][0][3]=1 THEN STRETCHANIM 2,9,170,100,-170,-100 IF fov[3][0][3]=1 THEN STRETCHANIM 2,10,170,100,-170,-100 IF fov[2][0][3]=1 THEN STRETCHANIM 2,11,0,100,170,-100 IF fov[0][1][3]=1 THEN STRETCHANIM 2,12,0,100,170,-100 IF fov[1][1][3]=1 THEN STRETCHANIM 2,13,0,100,170,-100 IF fov[4][1][3]=1 THEN STRETCHANIM 2,12,170,100,-170,-100 IF fov[3][1][3]=1 THEN STRETCHANIM 2,13,170,100,-170,-100 IF fov[2][1][3]=1 THEN STRETCHANIM 2,14,0,100,170,-100 IF fov[0][2][3]=1 THEN STRETCHANIM 2,15,0,0,170,100 ;// in the midium!! IF fov[1][2][3]=1 THEN STRETCHANIM 2,16,0,0,170,100 IF fov[4][2][3]=1 THEN STRETCHANIM 2,15,170,0,-170,100 IF fov[3][2][3]=1 THEN STRETCHANIM 2,16,170,0,-170,100 IF fov[2][2][3]=1 THEN STRETCHANIM 2,17,0,0,170,100 DRAWANIM 3,2,0,0 ;// midfog // --- DRAW FOV [layer2] IF fov[0][4][2]=1 THEN STRETCHANIM 2,18,0,0,170,100 IF fov[1][4][2]=1 THEN STRETCHANIM 2,19,0,0,170,100 IF fov[4][4][2]=1 THEN STRETCHANIM 2,18,170,0,-170,100 IF fov[3][4][2]=1 THEN STRETCHANIM 2,19,170,0,-170,100 IF fov[2][4][2]=1 THEN STRETCHANIM 2,20,0,0,170,100 IF fov[0][3][2]=1 THEN STRETCHANIM 2,21,0,0,170,100 IF fov[1][3][2]=1 THEN STRETCHANIM 2,22,0,0,170,100 IF fov[4][3][2]=1 THEN STRETCHANIM 2,21,170,0,-170,100 IF fov[3][3][2]=1 THEN STRETCHANIM 2,22,170,0,-170,100 IF fov[2][3][2]=1 THEN STRETCHANIM 2,23,0,0,170,100 IF fov[0][0][2]=1 THEN STRETCHANIM 2,18,0,100,170,-100 ;// mirror down IF fov[1][0][2]=1 THEN STRETCHANIM 2,19,0,100,170,-100 IF fov[4][0][2]=1 THEN STRETCHANIM 2,18,170,100,-170,-100 IF fov[3][0][2]=1 THEN STRETCHANIM 2,19,170,100,-170,-100 IF fov[2][0][2]=1 THEN STRETCHANIM 2,20,0,100,170,-100 IF fov[0][1][2]=1 THEN STRETCHANIM 2,21,0,100,170,-100 IF fov[1][1][2]=1 THEN STRETCHANIM 2,22,0,100,170,-100 IF fov[4][1][2]=1 THEN STRETCHANIM 2,21,170,100,-170,-100 IF fov[3][1][2]=1 THEN STRETCHANIM 2,22,170,100,-170,-100 IF fov[2][1][2]=1 THEN STRETCHANIM 2,23,0,100,170,-100 IF fov[0][2][2]=1 THEN STRETCHANIM 2,24,0,0,170,100 ;// in the midium!! IF fov[1][2][2]=1 THEN STRETCHANIM 2,25,0,0,170,100 IF fov[4][2][2]=1 THEN STRETCHANIM 2,24,170,0,-170,100 IF fov[3][2][2]=1 THEN STRETCHANIM 2,25,170,0,-170,100 IF fov[2][2][2]=1 THEN STRETCHANIM 2,26,0,0,170,100 DRAWANIM 3,1,0,0 ;// lightfog // --- DRAW FOV [layer1] IF fov[0][3][1]=1 THEN STRETCHANIM 2,27,0,0,170,100 IF fov[1][3][1]=1 THEN STRETCHANIM 2,28,0,0,170,100 IF fov[4][3][1]=1 THEN STRETCHANIM 2,27,170,0,-170,100 IF fov[3][3][1]=1 THEN STRETCHANIM 2,28,170,0,-170,100 IF fov[2][3][1]=1 THEN STRETCHANIM 2,29,0,0,170,100 IF fov[0][1][1]=1 THEN STRETCHANIM 2,27,0,100,170,-100 ;// mirror down IF fov[1][1][1]=1 THEN STRETCHANIM 2,28,0,100,170,-100 IF fov[4][1][1]=1 THEN STRETCHANIM 2,27,170,100,-170,-100 IF fov[3][1][1]=1 THEN STRETCHANIM 2,28,170,100,-170,-100 IF fov[2][1][1]=1 THEN STRETCHANIM 2,29,0,100,170,-100 IF fov[0][2][1]=1 THEN STRETCHANIM 2,30,0,0,170,100 ;// in the midium!! IF fov[1][2][1]=1 THEN STRETCHANIM 2,31,0,0,170,100 IF fov[4][2][1]=1 THEN STRETCHANIM 2,30,170,0,-170,100 IF fov[3][2][1]=1 THEN STRETCHANIM 2,31,170,0,-170,100 DRAWANIM 3,0,0,0 ;// super lightfog IF fov[2][2][1]=1 THEN STRETCHANIM 2,32,0,0,170,100 // --- DRAW FOV [layer0] IF fov[1][3][0]=1 THEN STRETCHANIM 2,33,0,0,170,100 IF fov[3][3][0]=1 THEN STRETCHANIM 2,33,170,0,-170,100 IF fov[2][3][0]=1 THEN STRETCHANIM 2,34,170,0,-170,100 IF fov[1][1][0]=1 THEN STRETCHANIM 2,33,0,100,170,-100 ;// mirror down IF fov[3][1][0]=1 THEN STRETCHANIM 2,33,170,100,-170,-100 IF fov[2][1][0]=1 THEN STRETCHANIM 2,34,170,100,-170,-100 IF fov[1][2][0]=1 THEN STRETCHANIM 2,35,0,0,170,100 ;// in the midium!! IF fov[3][2][0]=1 THEN STRETCHANIM 2,35,170,0,-170,100 PRINT "X="+px[ft],2,2 ;// player info PRINT "Y="+py[ft],2,10 PRINT "Z="+pz[ft],2,18 PRINT "F="+pf[ft],2,26 // PRINT "2BA="+world[px[1]][py[1]][pz[1]-2],2,34 // PRINT "FOV="+fov[2][2][2],2,42 // --- USESCREEN -1 ;// use backbuffer IF ft=1 THEN ZOOMSPRITE 0,84,50,2,2 ;// scale output pl1 IF ft=2 THEN ZOOMSPRITE 0,424,50,2,2 ;// scale output pl2 IF ft=3 THEN ZOOMSPRITE 0,84,250,2,2 ;// scale output pl3 IF ft=4 THEN ZOOMSPRITE 0,424,250,2,2 ;// scale output pl4 IF ft=4 THEN DRAWRECT 338,0,3,400,RGB(126,126,126) ;// hud IF ft=4 THEN DRAWRECT 0,198,680,3,RGB(126,126,126) ;// hud NEXT // --- CONTROLS IF KEY(17)=1 ;// advance IF pf[1]=1 THEN pz[1]=pz[1]-1 IF pf[1]=2 THEN px[1]=px[1]+1 IF pf[1]=3 THEN pz[1]=pz[1]+1 IF pf[1]=4 THEN px[1]=px[1]-1 SLEEP 200 ENDIF IF KEY(31)=1 ;// retreat IF pf[1]=1 THEN pz[1]=pz[1]+1 IF pf[1]=2 THEN px[1]=px[1]-1 IF pf[1]=3 THEN pz[1]=pz[1]-1 IF pf[1]=4 THEN px[1]=px[1]+1 SLEEP 200 ENDIF IF KEY(32)=1 ;// strife right IF pf[1]=1 THEN px[1]=px[1]+1 IF pf[1]=2 THEN pz[1]=pz[1]+1 IF pf[1]=3 THEN px[1]=px[1]-1 IF pf[1]=4 THEN pz[1]=pz[1]-1 SLEEP 200 ENDIF IF KEY(30)=1 ;// strife left IF pf[1]=1 THEN px[1]=px[1]-1 IF pf[1]=2 THEN pz[1]=pz[1]-1 IF pf[1]=3 THEN px[1]=px[1]+1 IF pf[1]=4 THEN pz[1]=pz[1]+1 SLEEP 200 ENDIF IF KEY(18)=1 ;// rotate right pf[1]=pf[1]+1 IF pf[1]=5 THEN pf[1]=1 SLEEP 200 ENDIF IF KEY(16)=1 ;// rotate left pf[1]=pf[1]-1 IF pf[1]=0 THEN pf[1]=4 SLEEP 200 ENDIF IF KEY(19)=1 ;// up py[1]=py[1]+1 SLEEP 200 ENDIF IF KEY(33)=1 ;// down py[1]=py[1]-1 SLEEP 200 ENDIF // --- POSITION LIMITS IF px[1]<5 THEN px[1]=5 IF px[1]>55 THEN px[1]=55 IF py[1]<5 THEN py[1]=5 IF py[1]>55 THEN py[1]=55 IF pz[1]<5 THEN pz[1]=5 IF pz[1]>55 THEN pz[1]=55 // --- DEBUG HUD SHOWSCREEN WEND // ------------------------------------------------------------------------- MAIN LOOP [END] HG.zip
  9. Great, thanks chaps! Play with 3 players if possible! Let me know what you guys think, I truly enjoy re envisioning old classics but it is hard to keep its original spirit, I hope I did well on that.
  10. Hello again chaps! I´m truly sorry it took so long for me to come back and share some STEAM keys. I spent most of the time finishing the next game, I´m not too good on marketing, but hopefully I get to share the new one with you guys soon! Anyways, here are some STEAM keys. If you use it, let me know what you think of it, I´d like to extend the game and all ideas are welcome! Game is also priced at $2.99 now. CTCCJ-NDEG0-75Q0G 448B5-89K2Q-ZIMTX MWV3H-47ICM-B4XLB 23EWI-BXI5Y-ND3CB
  11. Thanks Machine, the original idea of that moon patrol I´m still going to remake (add guns and whatnot) but I made that quick one just for a JAM and to try coding a proper destructible terrain. There was a short devlog here: https://itch.io/jam/gbjam-5/topic/41619/mrulv-426-patrol Some images are broken but the videos are fine, it should give a good idea. edit: I will go fix those images, might as well move it to a proper dev log later but probably only when I remake it.
  12. Yep, Basic for gamers. For me it´s perfect because I used to write games on Trs-80 color 2 with a basic compiler and later with AMOS during the AMIGA days.
  13. Thanks, I´m a long time user of BASIC languages. I have been using GLBasic for the past 10 years and love it deeply. http://glbasic.com/ While Glbasic has a very good profiler to debug your code, I still prefer to visually code things like on that gif to help iron out stuff. A couple curious notes about the gif: -you can see I tricked the eggs into jumping overboard. -There is backtrack system to figure out which player is responsible for an enemie´s death (score points), you can see chefs are labeled 0,1,2 and everything else is -1. You can see these number changing during the gif, I find it very cool since I have never coded a system like that.
  14. Thanks, I don´t know much about developing for the Switch. Will take a look at it.
  • Create New...