Jump to content

Gemintronic

+AtariAge Subscriber
  • Content Count

    9,937
  • Joined

  • Last visited

  • Days Won

    35

Blog Entries posted by Gemintronic

  1. Gemintronic
    Just to keep myself organized I'd like to make a short list of 2600 RPG topics
     
    This topic relates to using the 6 digit score as an RPG battle menu
    http://www.atariage....nt-battle-menu/
     
    Here is some work on what a 2600 password system would look like
    http://www.atariage....assword-system/
     
    This is the project page for a Rogue-like project I started
    http://www.atariage....86-destiny-wip/
     
    I tried to make a poll about 2600 RPGs here with varying enthusiasm
    http://www.atariage....00-rpg-be-like/
     
    In this topic I detailed a storage format for an RPG save game. This could easily fit in a password or SaveKey
    http://www.atariage....i/#entry2057233
  2. Gemintronic
    Some conceputalizing work done on my byte-code language idea. Although it wont be used in my platform game it ties into a couple other projeccs I've been neglecting. Basically, I'm using 0-255 to represent instructions or commands. Still have to decide how far to go. Could make, say, instruction 1 be "GOTO MAIN". I could also make 1 represent "GOTO" and the following 8-bit value represent which code block to go to. 256 possible commands sounds like alot until you try to fit in what BASIC does.
     
    Work continues on re-establishing a computer desk. I managed to cobble together a broken laptop (no screen + unstable) with a failing SATA laptop drive to write this post. Found everything but the cable connecting the AC adapter for one other computer. Found a core duo Mac Mini but no dice on the DVI to VGA adapter needed for my monitor. Sort of working is better than nothing at all though.
     
    Plans for tomorrow include grabbing those missing items for my computers and getting my compiler installed. Hunting down the old source for the platforming engine shouldn't be too big of an issue. What I forgot between lapses in programming will probably be an issue.. we'll see!
     
    Later 'yall
  3. Gemintronic
    So, with the Holiday season upon me, I've got relatively uninterrupted 3 day and 4 day weekends coming up. My programming motivation got nerfed while attempting a platform game on the Sega Genesis. I hope to get things back in gear during these coming long weekends. If progress can be made other projects may get restarted as well. I've neglected my last 2600 project "Destiny" during my programming slump.
     
    My intent is to document any progress I make towards getting the Sega Genesis platform game restarted. My main goal is to have these features implemented by January 1st:
     
    * Scrolling w/ Map Data Loading.
     
    Doesn't seem to be a biggie, but, it is. Thankfully I have the logistics written down so it's just coding and testing from here on out (I hope).
     
    More than a few external challenges have to be dealt with. For one, I have no computer set up. My main computer killed itself. My computer desk was taken apart to facilitate a new living room layout. Both issues need to be resolved before a coding weekend can take place.
     
    I've also designated the forum for my compiler read-only. Part of my programming slump was caused by unintentional trolling by one of the few active members in the compilers forum. Some people can code. Some people can teach. Not all people can code and teach. I let forum interactions get to me which is my fault. Still, avoiding that kind of stress has left me with one less resource to call upon actively.
     
    Today's progress includes writing in this blog and writing down the specific challenges to be overcome.
    Today's possible future activities includes going home and feeling out what a good new computer set up would be.
     
    See you next update!
  4. Gemintronic
    Each BASIC dialect is different and there sure are differences between batari Basic and BasiEgaXorz.
     
    For one, there's no DRAWSCREEN command where you can determine when and where the screen refresh happens.. yuck.
     
    Work on the BasiEgaXorz Command Reference continues. The developer of this Genesis BASIC compiler really DID need help with documentation. Besides trying to fill in how-to sections I've also discovered many omissions and some outright errors. Got at least one person interested in contributing but strangely he/she wasn't even from the main BasiEgaXorz forum.
     
    Today was extra hard as I'm also trying to correct my sleep schedule. Napping and staying up too late really messes with your attentiveness.
     
    My programming efforts for today were to start my own joystick handling routine. I'm used to Game Maker for the PC so I'm trying to port over their style.
     
    Anyway, I accomplished enough for today. Hopefully I'll have more progress to report soon
  5. Gemintronic
    While my last 2600 project is stalled I've revisited the BasiEgaXorz Basic Compiler for the Genesis.
     
    My current plan is to make a Genesis game using IBM ASCII graphics in low res CGA 4 color mode. The tentative title is:
     
    Cigiyay!
     
    I've also started on a batari Basic Command Refernce-like page for the BasiEgaXorz community. AtariAge and Random Terrain have done a wonderful thing with its command reference. I hope the love will spread to other video game systems and compilers such as BasiEgaXorz. http://devster.monkeeh.com/sega/basiegaxorz/
  6. Gemintronic
    After adding semi-persistent stairs to my fetch-quest-maze-game "Destiny" coding has temporarily stopped. In the past I've relied on the excitement of discovering a new tool. This worked for "Drunken Pooper" and "Uppa Creek!" as I was just figuring out Batari BASIC. I've also used contests to spur myself on. This worked for my "Candybar" game. Recently, a deadline got me to finish "Nitebear on Sleepystreet" as Neotokeo2001 needed games to sign at a horror convention.
     
    Alas, "Destiny" has very little new or contest-like or deadline-ish about it. I'm waiting for my next programming urge to come in.
     
    I've been dissatisfied with the company who makes my favorite game programming tool. While the program itself is nice they've resorted to rootkit-like copy protection, overly restrictive EULAs and now blatant censoring of customer feedback. This last bit I can't link because deleted comments via forums and YouTube are, er, deleted. Mark Overmars little learning tool has turned corporate in a bad way.
     
    All this has led me to find a new PC programming tool and I hope Unity is it. If I could just subvert it to make 2D games..
  7. Gemintronic
    QUESTION FOR YOU ALL: When should I start a topic for this Adventure/Roguelike in the Batari BASIC section? Certainly a project should be close to finished in the Homebrew section. Is it too early for the Batari BASIC section though?
     
    Tried to rest as much as possible this weekend. Not sure if I feel well rested though. 'Tis the busy season at work and that brings additional stress both expected and not.
     
    Working on items in my adventure/roguelike now. I've got a teleport ring item that will randomly appear in a given room. If you leave the items be they will still be there regardless of where you roam in the dungeon. If you pick up an item EVERY other item in the dungeon relocates. This is probably the best I can do without using coordinate and dungeon inventory variables.
     
    I may use the same seed for both item and monster locations. That also means when a monster gets killed items move around. likewise, when an item gets picked up monster locations scramble. Not sure if that's a good thing.
     
    Item frequency is also something mysterious that I'm tweaking. I haven't found the code that balances item drop rates well.
     
    Still, I fudged the rules for calculating room types and ended up with less dead-end combinations. If someone gets stuck eventually the second version of the room will appear. Does that really mean each game has 2 x 1,677,7216 screens? Yowza!
     
    This week I'll work on items and monsters. Hopefully the start of rare rooms as well. First up is your castle that you start at in level 1 of the dungeon.
  8. Gemintronic
    Solved my problems generating mix-and-match rooms. Trouble was indeed with temp vars not getting changed properly. Had to waste a real variable for calculations but things work okay now. Which means:
     
    16 basic room types (not including rare rooms)
     
    8 room structure styles
     
    16 x 8 = 128 Unique Rooms
     
    256 level dungeon consisting of 256 x 256 screens per level.
     
    All in all, my Adventure/Roguelike should have 1,677,7216 screens per gaming session. Each time the game is powered on a game seed is used so really 256 1,677,7216 screen dungeons are possible. You do the math: I'm tired
     
    Experimented with Zelda style screen sliding effect. Thought I was smart by setting screen vars for blanking scrolled sections instead of pfpixel or pfline commands. My tiny brain suspects that pfpixel commands are actually huge macros that eat up space. I dunno, always seems like they eat my banks for breakfast, lunch and dinner.
     
    The scrolling effect is okay but I realised people will be changing screens VERY often so it might get annoying. Wasted a lunch break on that experiment BUT at least I know now!
     
    The stairs are in place but I have yet to program in the actual warp to a dungeon level up or down. Since the player is using the ball I can allocate 1 sprite for objects and 1 sprite for the enemy.
  9. Gemintronic
    Implemented the three section playfields in my adventure/roguelike game. Now I'm having trouble generating mix-and-match rooms with the rand command. Seems like it's always generating the same sections for the bottom third of the playfield. I'm not sure if Batari is updating rand or temp variables when I expect them to.
     
    I'm actually taking my lunch these days so Batari and Brunch are in full swing. let's see what a relatively uninterrupted hour can do!
  10. Gemintronic
    My bank for playfield graphics is filling up too fast. I have 16 basic room types (based on exit variations). I wanted each room type to have at least 3 different styles: Full room, Tunnel and Maze. Now that I have most full room and tunnel styles done I've only got 300+ bytes free. Ouch.
     
    What I've come up with is rendering the top, middle and bottom in sections to reduce duplication of data. Check out what I mean below:

    pfscroll downdown playfield: XX.X........................X.XX XXXX........................XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end pfscroll downdown : pfscroll downdown : pfscroll downdown pfscroll downdown : pfscroll downdown : pfscroll downdown pfscroll downdown : pfscroll downdown : pfscroll downdown pfscroll downdown : pfscroll downdown : pfscroll downdown pfscroll downdown : pfscroll downdown : pfscroll downdown pfscroll downdown : pfscroll downdown : pfscroll downdown pfscroll downdown : pfscroll downdown : pfscroll downdown pfscroll downdown playfield: XX............................XX X..............................X X..............................X X..............................X XX............................XX end pfscroll downdown : pfscroll downdown : pfscroll downdown pfscroll downdown : pfscroll downdown : pfscroll downdown pfscroll downdown : pfscroll downdown : pfscroll downdown pfscroll downdown : pfscroll downdown : pfscroll downdown playfieldpos = 8 playfield: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX........................XXXX XX.X........................X.XX end
  11. Gemintronic
    Now that the first version of Nite Bear on Sleepystreet is done
    http://www.atariage.com/forums/topic/169496-nitebear-on-sleepystreet/
     
    it's time to ponder the next project.
     
    I'm thinking it'll have to be the homebrew I sorta hinted at making for a local video game shop. The owner fancied a game where you collect carts. This matches nicely with my pseudo random number generated dungeon generation code. Mix Atari Adventure with item collecting = profit!
     
    Not really profit. Everyone around me assumes I intend to make big bucks creating homebrew 2600 ROMs. I guess people forget what it's like to have a hobby just to CREATE. That's what the 9 to 5 drudge does to ya.
     
    Got the pseudo random number generated maze working but calculating values for anything but the current room seems to bork itself. My intention was to always have connecting rooms generated. Right now I "cheat" and simply create a exit in the direction that the player was last in. This could actually be seen as a feature as it leads to "trap doors" that close after the player exits the current room.
     
    I wonder how rogue-like i can make this game. I also wonder how far I can stretch this pseudo random number generation of content business. Time will tell!
  12. Gemintronic
    So far I've got:
     
    * 4 way scrolling (limited to current playfield)
    * Variable jump
    * Basic animation for player
    * Collision
     
    I think playfieldpos is the key to using playfields taller than just 1 screen but it's correct usage is an utter mystery to me. The Scroll3a.bas example doesn't work with pfscroll left or right properly. When the engine uses the playfieldpos magic it snaps right back to the default center position no matter how far pfscroll left or right you went.
     
    Batari took note of my problem dim'ing the foreground color "dim foreground_color = COLUPF" and fixed it. Can't wait to try out that fix when it becomes available!
     
    Attempted to compliment him too but I don't think it worked. The fact that he remains active and interested in a complicated project like BatariBASIC is truly rare. I've seen promising projects like DragonBASIC for the GBA fade and die. BatariBASIC keeps rockin'
     
    Go Fred! Go AtariAge! Go, er, I think I need to go to sleep!
  13. Gemintronic
    Spent a good amount of programming time going around in circles dinking with the psueodo random number generator code in my 256x256 screen 256 level test code.
     
    Helpful comments posted in this blog gave me ideas to shorten and/or better my code but everything backfired. All I got is less random output. Not a testament to the quality of advice but rather my own inexperience.
     
    Solved the infinite staircase up -> staircase down warping loop by - wait for it - repositioning the staircases. The downward staircase is now to the top right-hand side compared to upward staircases.
     
    This may turn into a game yet. I'm thinking of adding in 8 items to collect as a main goal.
     
    Side scrolling and platform physics are peaking my interest. I may spawn off another process and make a test program for them too.
  14. Gemintronic
    By mixing the worldx, worldy and dungeonlvl variables through bit shifting passes and addition passes it seems to work well enough.
     
    I now have proven to myself that 256 level 256x256 screen dungeons can happen. With the bit shifting and addition passes screen to screen variation is enough. I'm starting to add in room objects such as stairs going up or down. The only glitch so far is some levels will have a stairway up which leads to a stairway down on the next level. You can get stuck in a loop that way.
     
    The nice thing is, now that I know such large levels can be generated, I can use the same code for any game including RPGs, platformers, etc..
     
    Here be the amateur code for determining what type of room is at a particular worldx and worldy for a given dungeon level:
     

    calc_roomtype temp1{0} = worldx{7} temp1{1} = worldy{6} temp1{2} = worldx{5} temp1{3} = worldy{4} temp1{4} = worldx{3} temp1{5} = worldy{2} temp1{6} = worldx{1} temp1{7} = worldy{0} temp1 = temp1 + dungeonlvl temp2{0} = worldy{7} temp2{1} = worldx{6} temp2{2} = worldy{5} temp2{3} = worldx{4} temp2{4} = worldy{3} temp2{5} = worldx{2} temp2{6} = worldy{1} temp2{7} = worldx{0} temp2 = temp2 + worldy temp3{0} = dungeonlvl{1} temp3{1} = worldy{4} temp3{2} = temp1{6} temp3{3} = dungeonlvl{5} temp3{4} = worldx{1} temp3{5} = temp1{3} temp3{6} = temp2{2} temp3{7} = worldy{0} temp3 = temp3 + worldx temp1 = temp1 + temp2 + temp3 + dungeonlvl if temp1 = 0 then temp1 = 255 rand = temp1 room_type = rand return
  15. Gemintronic
    Almost "family vacation" time. Hopefully will be Flea Market hopping for great justice. At night I intend to open up a laptop and code. I'm still torn between starting a simple project (Knightmare clone) or striking ground on a Atari 2600 RPG.
     
    The Knightmare clone project was continuing my trend of releasing simple games to learn Batari BASIC. Maybe I should start learning BB by making the game I want in the first place.
     
    As usual the AtariAge community has been awesome. Even caught a fresh copy of the Batari manual thanks to Random Terrain.
     
    Wish me luck getting stuff done!
  16. Gemintronic
    Mulling over possibilities for an Atari 2600 RPG. I've got a basic data structure for a password system thought out. I just need to choose between styles of play.
     
    * Phantasy Star Battle layout?
    * Final Fantasy 1 Battle layout?
    * Dragon Quest battle Layout?
     
    In Dragon Quest you never see the Player sprite so they could be used elsewhere. However, seeing the character on screen like Phantasy Star and Final Fantasy does seem to connect the game player with their character better. I can have the characters exit "stage left" after their turn and a new character moves onto the screen for his.
     
    The other possibility is to create the first Nethack clone. Hmmmn..
  17. Gemintronic
    The second Candybar cart shipped out to the PANIC guys who own the box art and trademark for CandyBar. The co-founder actually wanted to pay for his cart but that's just silly. All I'd like is A. A post on their blog with a shout-out to AtariAge and B. find out where they printed those awesome Atari 2600 cart boxes.
     
    Managed to stir up jwierer (developer of VisualbB) and Grand Master Random Terrain about a more evolved music composer/notation module. Mario Paint is the dream but I'll take tones dragged-and-dropped on a timeline or MIDI file to Batari commands any day.
  18. Gemintronic
    My wish is for VisualbB to take the next evolutionary step and grow a music composer like Mario Paint. I've already bugged the VisualbB developer enough so pleading for new features is not cool. Some of by bug reports have been valid but others are just my naivete about the interface.
     
    Effort today went into trying to find a workaround music composer for Batari. The conclusion I came to was a MIDI to easy-to-convert text format was needed. After the MIDI was transformed into text even an amateur like me could write a converter to Batari data statements. Check out my findings in this post:
    http://www.atariage.com/forums/topic/166815-midi-to-batari-basic-conversion/
  19. Gemintronic
    Well, last night I made the player sprite for my Knightmare clone. Ironically the second iteration I did at lunch had a worse face and better arms and legs. This night I combined both for great justice!
     
    Made the initial title, level and boss screen. The more I delve into it the less I think bank switching is needed. 'Course, I'll eat my own words as the code fills up!
     
    Multi-sprite is still too complicated for me. Maybe next game. In the mean-time I thought of several workarounds. One is to make a car sprite using the ball as a body and 2 missiles as tires. Also, since the sprites can be pretty tall I thought of just putting several sprite graphics on one sprite. I stuffed 3 "sprites" onto one 8x24 sprite with an okay result.
     
    It's also handy to have taught myself that you can use playfield pixels as additional colors in your sprite as seen in the CandyBar Chef. The trade-off is movement becomes too quick and jerky sometimes.
     
    THINGS TO CONSIDER NEXT:
    * Start coding the initial skeleton, er, code!
    * See how pfscrolling looks.
    * See how inserting the boss screen looks after scrolling the level graphics.
    * Start mulling over AI for bullets and enemies.
  20. Gemintronic
    This is here for purely my own consumption. Others may make comments and such (please!) but, really, it's all about me.
     
    People right out to-do lists to keep themselves on track. I publicly declare things in order to convince myself to:
     
    A. Make sure things happen and
    B. Prove that something actually happened.
     
    What's the sound of a tree falling in the forest? Without a blog nothing really happened did it?
     
    Today (Sunday) I became curious about making a Knightmare clone. Some Portuguese guy apparently started to make one but who knows where that went. So far I've created an initial player sprite and Title for the game. I think I should step up and make this my first bank-switched game. Not sure if I'm ready to leap into multi-sprite or superchip.
     
    Things to think about:
    * Storyline
    * Techniques to use (programming)
    * Studying original game
×
×
  • Create New...