Jump to content

vidak

Members
  • Content Count

    499
  • Joined

  • Last visited

Everything posted by vidak

  1. My fellow Atarians, you should do what I do and buy a laser printer and buy third-party toner cartridges. As far as I can tell, black and white laser printers don't need special toner. Come join me in the enlightened plane... *ascends into energy*
  2. masking requires several things: - a pointer to the mask - a mask which is the same size height as the sprite graphics - the mask must also be padded with zeroes to make the entire block equal to the number of scanlines on the screen (NB - 2 line kernel) - a pointer to the graphics - the graphics ROM (usually stored upside down) - a kernel, with: a structure like this: LDY SCANLINE_NUMBER LDA (GFX_PTR),Y AND (MASK_PTR),Y STA GRPX that's the basics. you can find all of this in my blog posts on stay frosty, and you can find all of this in my source code, which I think is adequately commented. If I have some time I may write up a quick tutorial. I am not using a 2 line kernel in my game, but depending on what you want to achieve, masking speeds up the kernel so much you may not need a 2 line kernel. masking should enable you to draw: GRP0, GRP1, /and/ some playfield graphics. Keep at it, I reckon. I think you'll get it eventually. Personally I think the hardest thing about kernels is the pointers. They're type-independent objects so they'll load whatever they're pointing at.
  3. One thing I'd like to do is have a seed-input menu on the title screen, which will allow users to find interesting worlds and compete for points.
  4. I've been giving it some thought, and I think I might not create a static world placed in ROM for this game, and instead randomly generate a world through which to move. I was reading what was going on in the IntyBASIC forum, and I really liked this port of Grail of the Gods: http://atariage.com/forums/topic/275233-grail-of-the-gods-rogue-like-or-mini-rpg/ I think the main problem that a randomly generated world will create is that it will be heavy on the RAM - a real premium in this context. I will do some brainstorming and thought experiments to draw up some ideas about how to randomly generate this world. I think random generation will be a better idea for this game. It will allow you to replay the game over and over and get a different environment each time.
  5. The philosophies of old computing are democratic philosophies. Linux isn't perfect on this, but at least it tries - but what happened to the philosophy that everything had to be a file? A harddrive, a song, a config file (in plain text)... A fundamental freedom is taken away from us when things are no longer distributed in files. I don't really like RMS, but he's right when he says every single piece of media we watch or listen to should be able to be possessed by us as a file or as some physical medium. Netflix and Spotify are terrible for this - they take DOWN movies and music that don't turn a profit. You're not in control of the library of media. Because the bosses give so little of a shit about actual FILES all USB sticks these days, even if they're 64GB, come formatted in FAT32. That is ridiculous. I wanted to watch the Despecialised Star Wars, so I had to spend time reformatting my USB so I could fit a file bigger than 4GB on it. I'm so done with modern tech. What happened to computer literacy? What happened to looking for more efficient ways to do things? I am right now in the process of downloading my Spotify streaming music library as MP3s so I can get off the platform. I have to wait 5-15 minutes for the program (I refuse to say "app") to authenticate itself with its magical mothership before I'm allowed to listen to any music.
  6. To be honest, older tech seems better built and better functioning than anything new I've bought. All my mobile phones have terrible bloated and buggy software, and poor battery life. I have never had a phone I really liked since smartphones became dominant. Autocorrect is terrible. Voice commands are spyware and are always listening to you and ruin conversations. Social media is a dumpster fire. The phones are physically poorly made for long term use. The web is poorly optimised for mobile devices... I can go on and on. I *loved* my old 486, where I learned to code. Hell I even loved my Dad's old Pentium 2. One really annoying example of how terrible phones are is how difficult it actually is to send people files now. You can't send MP3s or short videos anymore. They all have to be embedded in soundcloud or youtube, with all their associated IP scanning. I am very frustrated. I wish I had been born 20 or 10 years before I was.
  7. I love this project, but Nukey is right about the limitations of the Atari 2600. I agree that probably the best way forward for this project would be to have some set made kernels which beginners and drag and drop some limited customisation onto. Like you could have a Tank game, a Defender-like game, a Jungle Hunt game... I guess I'm also a lot stricter about how I like people to approach computers. I personally would like people to develop their computer literacy. I suppose this would be like a "gateway drug" for that. I think you should teach beginners about branching, indexing graphics in ROM, about variables, about loops and conditional statements... The beginner should probably also eventually come to learn about what makes the 2600 so unique (racing the beam). Like Chairman Mao said, "let a thousand flowers bloom' - in other words, we should always encourage people to finish their projects and let many diverse plans be set. I suppose I am a very smart person, but I don't see 2600 kernel writing as terribly difficult - really you're just writing to hardwired registers on a timer. I'm here if you want some help!
  8. And fuck yes about computer literacy being encouraged in supermarkets.
  9. I think in some ways the 70s and the 80s were way better in terms of computing, compared to today. Today we have loads of spyware, virtually all the major communication platforms are social media and are all designed to get you addicted and spy on you... By contrast Usenet had a big philosophy of singling out conflicts of interest and keeping information free. I feel like BASIC had a little bit to do with their democratic nature of early tech. It was simple enough for anyone to learn how to use as an operating system, and it captured a lot of people's imagination. Imagine 12K RAM games now... nobody can make a game that small now. I personally hate modern computing because it is so bloated and all the AI in everything is like robotic used car sales. I've commented in this thread before - but I think for what it was for beginners, it was pretty good. You'd just have tp graduate to something better if you were gonna get serious. Personally I'd prefer a BASIC or a bash shell over my android phone any day - at least you know what's running on your computer now. You have to root your phone in order to get access to all that, and void your warranty. Too many marketing departments and people with business degrees. Not enough collective hardware and software engineering.
  10. Yeah! My latest source code of my Sierra Maestra game! I have all the pointers set up properly, and you can read through my debugging. I'm always here to help!
  11. The StayFrosty blog posts from SpiceWare are also really useful for teaching you masking. My project codenamed Sierra Maestra copied the masking concept from StayFrosty, and has a much simpler implementation of it, currently. Using ROM as a mask is much much faster, and I highly recommend it. The SkipDraw, FlipDraw, DoDraw and SwitchDraw routines are all many times slower than masking.
  12. You should explain how you did it!
  13. Also... Send him an email! My idea about reading his post history doesn't work...
  14. This may sound creepy - but you could always look up his forum posting history. I'm also pretty sure he's in the stella mailing list too...
  15. I really appreciate the hard work everyone puts into this community. The years and years of hard work...
  16. I think I may finally have work in the next week or so - so I'll definitely donate some money soon. The work you're doing is really important, and deserves recognition.
  17. Thanks so much for your responses! Another idea I'm having is to develop some reuseable routines for people to easily copy to allow them to make games in ASM more easily. The multi-band kernel I have is very easily copied and used, and I think copying and manipulating gauauu's multi-screen overworld could also be presented in a simple way. I will certainly ask questions when I feel stuck! I agree that the graphics ROM and the kernel should be in the same bank - I think that's the fastest way. In fact I think that's the only way you can structure the bank switching - any other way would be incredibly and possibly prohibitively complex... Do you think it is worth me explaining how the multi-screen overworld is implemented in Anguna? If so, would it be better do it in this thread, or on my AtariAge blog? I wonder if I'm forgetting anything... === Anyway, I love how naughty ASM is. It has absolutely no enforced typing whatsoever, so you can, as in Yar's Revenge, make a pointer load /any/ part of the ROM for /any/ purpose. All the naughty tricks that you're able to pull off with the 2600 completely depend on the fact that you almost always program in ASM. It's such a wonderful platform - the hardware is so adaptable and really wants to help you. HMOVE rules can be broken with useful results, etc etc I knew I really liked the 2600... coming to know it more intimately gives me a lot of satisfaction and fulfillment.
  18. Okay! I am dedicating some time to the project today. The next thing I'd like to achieve in the development of the game is to create an overworld map, and have the character Che be able to move around in it. I have been looking at the source code of Anguna (link) to have some idea about how I'd be able to achieve this. Anguna has a 13x13 unit square overworld, and you are able to move from one screen to another. The rough idea behind implementing an overworld is that you have a table of data describing what the overworld is like, and as your main player character moves off one side of the screen, you manipulate a counter or a pointer so that it points to a different part of the overworld table. I think I can handle this. I think I will not have enough space in 4KB in order to implement an overworld and the main game mechanic. I will expand the game to 16KB. I think F6 bankswitching will allow me to achieve this. This is how gauauu structures his 4 banks: BANK 0 - Main Loop Logic, "Preparation" Macros - I assume this is for updating graphics pointers etc. BANK 1 - main kernel, header graphics kernel, some code related to the third boss, and the graphics ROM BANK 2 - Header pointer preparation logic and game logic crammed in between the spaces BANK 3 - password entry, and room background graphics preparation ram I take it that the banks are structured in such a way as to best fit all the data in, not necessarily for easily interpreting the structure of the game program. I have begun learning the programming language Ada for another project I want to work on, and the way gauauu has structured their code into smaller packages agrees with the way coding is meant to be done in Ada. So far I have been compiling a rather large single file. I think I will begin to break my program up into smaller files and make much more use of macros in order to reduce the amount of engineering I have to do. Making the tools do the work is the way Ada pictures the overall development process of software engineering. I will use this philosophy here on out while programming the Sierra Maestra project. For the next few weeks I will begin a description/explanation of how Anguna implements a multi-screen world that you are able to move through. The licence that gauauu has provided the Anguna source under allows me to do this.
  19. I'm of the school that programs should be transparently configurable, too. ...but I use Linux so it's not my problem hahahah
  20. Thank you so much for your hard work!! You make homebrew game development so much more logical and straightforward.
  21. I love how it's virtually impossible to use the web with non-free java script disabled. The web is terrible now

    1. roland p

      roland p

      I agree. Just imagine how much 'worse' the web would be without javascript, probably not much. I would be less annoying and more stable.

    2. vidak

      vidak

      I am going to investigate using USENET - who needs javascript!!

    3. pacman000

      pacman000

      But I leave JS off, completely off, all the time on my phone. Most sites work. Youtube, Facebook and Reddit don't, but they're not the entire web! (Gigablast, Entireweb, a few other small search engines need it. Google sometimes asks for a CATPCHA, which needs it. But this board doesn't. Neither does DuckDuckGo.)

  22. I feel like it's a collision problem... I can disassemble it and have a look at the code...
×
×
  • Create New...