I'm very happy with my 'biggest' homebrew project 'BlutEngel', but it's very incomplete. I used SNASM, this is no longer running with Win7+, on the other side, the code is very stange and high optimized, it's hard to read and to expand... many things are hardcoded. Last Friday (3 days ago) I started a new project: Blutengel II
First I switched from Context (it's great but abandoned) to NotePad+:
+ Codefolding
+ FunctionList
+ special neogeo-lexer (like context)
+ run batch using F9 key (like context)
with this new setup (it takes some time and needs some workarounds) it's easier to handle bigger projects.
Here is my first test-video - no sound and level-design is not that great but I can show you the engine. It's a complete rewrite (pure ASM).. it's not optimized yet but already faster than before. I enabled the powermeter ... it's close to real hardware!
what's done:
- 3 different upgradable weapons (starsoldier like) but no lazer or megabomb yet
- level heigh is up to 2048 tiles (25min playtime) ~200 used in this video
- 2 layers of enemies (ground = no collision) & flying enemies.
- 3 different enemies with different aimed(!) shots
- 3 different enemy-shots
- some animations (explosions, coins)
- binary size (only code) ~16kb
- gfx is not 'art'... just placeholder!
- 2nd bg-layer (colorfade) is done with IRQ2 (scanline), this saves sprites (remeber: only 96 sprites per scanline)
kuk Le 23/01/2017 à 22:03 Cool to have some news of yours projects
thanks for feedback, I will keep this thread updated.
@NeoHomeBrew: nice (and quick) pixelart... I'm not an artist! :-(
@NeoHomeBrew: fixed!
here is a short vid with the first set of bullet-pattern. I will add a special pattern (or set) to every enemy to avoid oldschool-single-shots. boss-pattern will be more complex!
I changed the gfx (a bit) because it was not that easy to see and check the different sprite-layers.
test-level with changed gfx and new bullet-pattern... everything enabled. easier, less chaos but still challenging!
sometimes the player jumps to position 0/0, this is because of hit-detection (the small red 8x8 square).
Its coming on very nicely!
for most games accurate collision is not needed, I use a simple and fast box-collide routine with variable box-sizes, no optimizations yet - works great. I check all collisions every frame, no problems so far - there are more critical parts than this, moving 100 enemy-bullets takes more raster-time than 100 checks vs. player!
test for slower objects (most enemy-bullets or upgrades) you can split onto 2 frames
Apart from the bullet collision optimisations you already mentioned (not checking every frame, taking bullet speed into account), You can also allocate enemy buttets a counter based on how close to your ship the bullet is when it is first drawn and the expected bullet speed. You count down the bullets timer every frame, only after it's hits 0 do you start proper hitbox detection for that bullet. This is helpfull when there are bullets fired in set patterns but its an optimisation not really needed until you see your starting to run out of cycles in a single frame. It would be good pratice to allow for a byte (or word) var for each bullet (or bullet pattern) now in case you need it later.
hmm, may not work in this type of game (may work with others) because of slow shooting-rate you can go very close to an enemy.
calculating the distance from enemy (start of enemy-bullets) to player will also take some time and do not forget the extra check for this counter.
there are some free words in my structures, I will try this when I run out of raster-time.
Yes it may not work for all bullets but can work for set bullet patterns.
Very nice game, esp for 4k. You certainly got a lot of bullets on screen there! I like the gfx style and the industrial music.
I quite liked Blitzmax because you could add modules. I wrote a couple of games that used Box2D/Chipmunk for their physics and you could add mp3 player support etc. It was limited in graphical effects I think though and reading pixels on the screen was difficult etc. I haven't used it for a while now though. I keep meaning to make a Neo Geo game!
EDIT you've added Mario. I will try him out next
this is coming along great! the movement and bullets are very good, are you doing the sprite work yourself or teaming up with people? I feel this game could be great if the sprite work is good, makes an amateur game into a professional one.
No updates since Feb, any news on this Blastar?
Thanks for the update Blastar.
Why did you change from level to wave, was it purely taking longer to create levels?
Look forward to seeing some new footage in the not too distant future!
Edit:
Off topic from this game.
I have burned CDs your previous NG homebrew games, Blut Engel, Ngem2k, Neo Puzzle League but none of them boot on my CDZ, is this a known issue or do they only work in emulators?