Jump to content

AndyMt

Members
  • Posts

    208
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by AndyMt

  1. Version 0.3 is online now . ATTENTION: requires emulator R38. Uses hardware sprite collisions now. I started implementing multiple levels. Each level has kind of an intro message, to give the game a background story. Also experimented with fade in/out of background images, which looks already quite nice. The enemy formations now behave slightly different per level, at the moment they basically speed up, and move closer. Future versions will improve this. The enemy sprites are still placeholders. Next version will should improve there. I hope you have as much fun playing it, as I have with implementing!
  2. I've started using HW sprite collisions for my current project the last few days. To answer the first question: yes collisions are detected among the same group of sprites. So for example I assigned the same group to enemy sprites and the laser shots of my ship. VERA reliably detects collisions. Which brings me to HW vs SW collision detection: until now I can't see a real disadvantage using HW detection. I mean you have to combine the 2 anyway. HW detection just tells you that there was a collection in a group of sprites. You then have to figure out which sprites were involved. At least in my current project (see "Invaderz" demo) it really helped to reduce lag and improve performance a lot.
  3. I'm not sure if @DoubleA refers to the CLR or the .Net (or .Net Core) framework itself. The CLR itself is considered very stable in the industry and is extremely compact. But then - without the .Net framework is not of much use. But I personally never experienced the .Net Framework as bloated, especially since .Net Core.
  4. No, you don't need assembler at all if you don't want to with cc65. It will for sure offer more performance than Basic. But if you just want to get going right away - Basic is the right choice. No installation needed, except for the emulator.
  5. Oh nice! I can already see something like "Elite" coming...
  6. I'm also one of those using cc65 and implement my games for the X16 in C. Sometimes there is a need of implementing some optimized parts in assembler (interrupt handlers, sound effects player, etc.). cc65 has the advantage that combining C and assembler is easy. I sometimes check the generated assembly code, to see what the C compiler does and the hand-optimize some of it. Or I change the way I do my C code. I also didn't experience any case of cc65 being really broken... if so, it was possible to fix it myself as the source is on github. Basic was too limited for me and I wanted the comfort and usability of cross development tools on a PC - and then run it on the emulator. So I went for Visual Studio Code and cc65. But hey - the beauty of the X16 is that there are different ways of programming for it.
  7. Oh sorry, for me it wasn't 100% clear who does what . No, the web emulator is still on R37.
  8. @SebastianVogesAny plans to update the emulator behind the "Try Now" button with the latest r38 version ? My latest game makes use of the sprite collision interrupts which are not available in r37.
  9. You're welcome . The different backgrounds of people in this forum are indeed very refreshing and inspirational. And glad to help.
  10. I can second an lot of Matt's comments - although more on the general topics, as I haven't worked in the game industry. I can see you are looking for a change, right? Let me make another suggestion, something I did when I was around 35 (I'm 51 now). Back then I looked into different trainings/courses, study MBA whatever. I found something which required to only work 4 days a week, attend courses Friday and Saturday. Then it occured to me: wait - that's a good idea! I reduce my day job and live with less money - but the other day (and maybe in spare time) I do something I have really fun with. So I did that: I was able to reduce to 80% work time (for 80% salary of course) and first did these courses for a year (about mobile application management). After that I started some test projects to find out what to do. Over the last 15 years I've changed topics a few times - but one of my projects actually gained a lot of traction and I made very good money with it when I sold it. I kept it that way and I still only work 4 days a week. Yes - I earn less, or let's say: only 80% of my income is fixed, the rest I have to find elsewhere, and I did after a while. Right now I don't have any other side-income, but I don't mind. I enjoy a healthy 50% increase of spare time (3 instead of 2 days ) for 20% less money. A really good deal!
  11. I have some pretty nice new YM2151 audio tracks here for my next projects. They are as the composer I'm working with put it: 're-arranged to modern standards'. They sound more like what I knew from the Amiga. I assume we will get the YM plus the PSG. For my projects I'll use the YM for music and the PSG an/or PCM for sound effects. As for converting music from other formats to the PSG: that will be very hard as the capabilities are so different.
  12. Look at CJLove's libX16: https://github.com/CJLove/libX16 It is written in C, but you can see what Kernal functions it uses in vload.c and migrate it to assembler. Basically you use the flags in cbm_k_load above 2. I actually don't know where that is officially documented...
  13. Version 0.2 is online. I've Improved the collision detection and also the handling of shots. Also added some basic sound effects thanks to @DusanStrakl's example. The Web-Emulator struggles a bit with the PSG emulation. Switch off sound effects by pressing 's'.
  14. Thanks a lot for this! The interrupt handler is particularly valuable for me and also your blog post explaining how it works. I managed to adapt the code slightly and use it in my upcoming "Invaderz" game (written in C) - if that's ok?. I'm just thinking to improve it further so it would use multiple PSG channels. I have the situation that sound effects could overlap (shots + explosions). That would require the player to use a new channel every time a previous effect is still running - let's say for up to 4 channels. Right now I just hacked this by duplicating the code and the variables 4 times - with some checks which one to use in the beginning. Not the most elegant way of doing it. But my 6502 assembler skills are just not good enough (yet) for anything else (I used to code 68000 assembler, totally different). Did you consider improving the player in that direction?
  15. Yes, something in the line of this... The delay actually translates to a certain distance, so that effect is already there. But yes - I could allow a second shot as soon as the current one exploded. I'm still fiddling with all the parameters to balance the game. I might also introduce 3 difficulty levels the player can select from. From there difficulty would increase with each level, maybe in ways you have described.
  16. It's written in C using cc65. I'm quite happy with it.
  17. Yes that is correct - you can have a maximum of 2 shots on the screen and there is a waiting time of 20 frames (330ms) between shots. I didn't want allow too many shots at the same time, as the game would be over quickly. Except if the enemies could shoot as much... same effect. But it get's unplayable above 4 - I tested it. Higher levels might allow up to 4 shots (from both player and enemies). Above 5 the emulator starts to throttle, the CPU then seems to be at it's limit with collision detection. I still have potential for optimizations by using assembler for the collision detection. But already with this much on the screen I'm pretty happy. So I don't know if I will dig into assembler for this.
  18. Based on the experience with Brixx I wanted to go one step further and exploit the full power of the VERA chip. This game now has loads of sprites at the same time of which more or less all are moving. The background is 8bpp in 320x240. Right now only one level is playable, no sound etc. The plan is to have kind of a "storyline" where you defend each of our planets in the solar system. Starting from earth where the aliens suddenly appear. Then the player's task is to drive them out of our solar system. Let me know what you think .
  19. AndyMt

    Invaderz

    Version 0.7.1

    763 downloads

    This is a space invaders inspired game. Use the mouse or joystick to control the player ship. The shield segments can take 2 hits each. If enemies get too close you retreat back to the last level. You lose when all your lives are gone or you fall back to earth level again. Now with 7 playable levels Requires emulator R38! Roadmap: more diverse enemy formations enemy attack raids over the sides power ups (shields, double cannon, disruptors etc.) boss enemy joystick control done music done Different enemy sprites. done Sprite animations. done for player sprite and enemies fade in/out of palettes and backgrounds. done more levels with more backgrounds (all planets of the solar system), done sound effects basics done title screen How to use with the local emulator: Unpack ZIP file into the same directory as the emulator. Start the emulator, then enter LOAD"INVADERZ.PRG" RUN
  20. Invaderz View File This is a space invaders inspired game. Use the mouse or joystick to control the player ship. The shield segments can take 2 hits each. If enemies get too close you retreat back to the last level. You lose when all your lives are gone or you fall back to earth level again. Now with 7 playable levels Requires emulator R38! Roadmap: more diverse enemy formations enemy attack raids over the sides power ups (shields, double cannon, disruptors etc.) boss enemy joystick control done music done Different enemy sprites. done Sprite animations. done for player sprite and enemies fade in/out of palettes and backgrounds. done more levels with more backgrounds (all planets of the solar system), done sound effects basics done title screen How to use with the local emulator: Unpack ZIP file into the same directory as the emulator. Start the emulator, then enter LOAD"INVADERZ.PRG" RUN Submitter AndyMt Submitted 08/11/20 Category Games  
  21. I agree that the PSG is very capable - so much so that I fear the YM2151 might be dropped. Unfortunately for the PSG there is no music and soundfx available on the internet. For the YM2151 I can use VGM files as sources. I'm not a good music and sound composer/artist, but I know someone who provides me with that. But he won't go into learning a new tracker, unless the PSG is added to Deflemask...
  22. I have similar thoughts: YM2151 + VERA PSG. The advantage of the YM2151 is that there are trackers and also music/sounds (like VGM) ready to use (albeit not that many). The VERA PSG alone would leave me personally with no way of providing decent music. I'll probably use it for sound effects, while using the YM2151 for music.
  23. If the emulator wraps around without pushing everything down a line - then we can update just one row off-screen. That would be neat. I still have to implement my first scrolling, looking forward to that.
  24. I now learned a lot about the X16 and am almost finished with Brixx. So I'm thinking about my next project, but I have a concern here: How fast will SD card access be on "real" hardware? I'm now using the emulator and loading assets is pretty much instant. It's for example fast enough to load music in 8kB chunks into high-ram while playing. No need to load them up front. Loading into VRAM is the same. I wonder if on real hardware you could for example watch graphics to be loaded? As I understand the VERA hardware is handling the SD card access, right? What is the bandwidth we can expect for VRAM and high RAM (if different)?
  25. I agree that this will be ambitious in 640x480, especially in bitmap modes. Although - with a bit of trickery and strategically optimized tile definitions you could do this in 16x16 tile mode with 256 colors. You would only have to render the borders of the track. So instead of rendering the full lower half you could arrange the tiles just where the track is. This way memory requirements could be lowered substantially. 60-80 tiles of 16x16 in 8bpp require 15 to 20kB of VRAM for tile definitions. Let it be 100, then it's 25kB. Because the most part of the track (asphalt) and surroundings (grass etc.) would be the same tiles all the time. You would also have to update much less VRAM. Page switching would also be easier, as the pages require a lot less memory. Of course this might require slightly more CPU power (not sure actually) - but we do have that in the X16. Then you would have enough VRAM left for a nice bitmapped sky... Or use tiles, there, too.
×
×
  • Create New...

Important Information

Please review our Terms of Use