Page 1 of 1

Re: Game Engine Ideas

Posted: Fri Nov 08, 2019 3:31 pm
by Juan F. Ramirez
Not a developer, I've always thought about a game with the same Skool Daze concept (a building with that 'sideways' perspective) but using with different plots. For instance, a sort of 'stealth' game: enemy guards patrolling on every floor, a safe to broke to steal the plans etc

I presume it's not very difficult for the code guys here to 'disembowel' the game and partially change it.

Re: Game Engine Ideas

Posted: Fri Feb 28, 2020 1:40 am
by presh
Joefish wrote: Mon Nov 04, 2019 5:55 pm Or although BASIC is fairly slow, some graphics engine that can be set up from BASIC then have the whole screen rendered in a single operation. This would have to be something simple, maybe static screens or a small number of moving objects.
All of the games I finished making were written in BASIC and compiled using ZIP compiler (after it appeared on the Your Sinclair covertape, Christmas 1993 - best Christmas EVER!!!)

This was fine for single-screen games, but ultimately I ended up creating Z80 routines for screen drawing, scrolling, and drawing bitmasked sprites for later projects... all sadly unfinished and lost on cassettes in an attic somewhere.

Nevertheless, even in BASIC these were playable to some extent - and the compiled versions require pointless "do nothing" loops inserted into them to lower the frame rate (particularly as I didn't know about interrupts back then!)

So, I'm new here & delving back into the Z80 after a long haitus... I know I'm nowhere near competent enough to write a game in pure Z80 code, but I'm currently working on ideas for a collision map, and sprite printing routines with screen edge cropping (rather than "only show it if it's fully on screen"). It's all gonna be 8x8 block based at the moment because... baby steps! I can work my way towards pixel-based stuff later... ;)

Long story short - the collision engine I'm designing can have a map of arbitrary size (up to 256 x 256), so could be useful for multiple game formats. One of the first milestones will be testing it on a fixed-height horizontal scroller, with the collision map being twice the width of the screen - the idea being that enemy sprites who've disappeared off screen can still interact with their surroundings, even though you can't see them; so they could still bounce off a wall and re-enter the screen, or if you are following them you could catch them up again. It also solves the issue of sprites suddenly appearing when they're in full view, rather than scrolling into view gracefully (hence the need for the sprite cropping routine!)

So there you go - this thread piqued my interest because my proposed routines sound like something that would fit your "graphics engine run from BASIC" scenario. Let me know if you want to know further info on what I've planned for its internal workings :D

Re: Game Engine Ideas

Posted: Fri Feb 28, 2020 10:07 am
by Ralf
So, I'm new here & delving back into the Z80 after a long haitus... I know I'm nowhere near competent enough to write a game in pure Z80 code, but I'm currently working on ideas for a collision map, and sprite printing routines with screen edge cropping
Making a scrolling game in Basic is close to impossible.

If you succeeed at making your game engine in Z80 what else would be left to do? Game menu, some intro? Of course there will be a lot of graphics and level design to do but it's not strictly programming.

Everyone was afraid once to move from Basic to assembler. But once when you do it, you will never want to go back to Basic :)

Re: Game Engine Ideas

Posted: Fri Feb 28, 2020 3:18 pm
by presh
Ralf wrote: Fri Feb 28, 2020 10:07 am Making a scrolling game in Basic is close to impossible.
Indeed, I'd still be using a compiler (e.g. HiSoft BASIC) - this was always the plan.
If you succeeed at making your game engine in Z80 what else would be left to do? Game menu, some intro? Of course there will be a lot of graphics and level design to do but it's not strictly programming.

Everyone was afraid once to move from Basic to assembler. But once when you do it, you will never want to go back to Basic :)
Well as it's been years since I touched Z80, I'm taking an incremental approach. There's plenty I've forgotten, so taking care of some of the higher-level routines in compiled BASIC seems sensible - at least in the beginning. Once my confidence grows, I can gradually convert more of it into pure Z80.

Also I'm far less likely to bail on a project which consists of a few relatively small, manageable chunks, as opposed to contemplating a seemingly monolithic task such as "make a game!" - that's just too daunting, vague... where to even start? Much better to get a simple proof-of-concept working, then build it up from there... "mighty oaks from little acorns grow!"

I'd also stress that this definitely isn't a "game engine" - merely tools to print the map & sprites, and provide info for preventing/handling collisions. None of these are particularly difficult in themselves, particularly when restricted to 8x8 level rendering / collision. There's no built-in enemy logic, player movement, etc. (although the collision map can provide the info to help build such logic)

I'm aware it's nothing that hasn't been done before... but it is something I have never done before :)

Re: Game Engine Ideas

Posted: Sun Mar 01, 2020 10:37 am
by Dr beep
Still have my unfinished cardgame engine somewhere....

An engine where you define the deck and places where you place cards and define rules per positions thus making the game.
Additional idea is to define playing rules thes combined in orders make you define a game with AI.

A.C.E.S
All Cardgames Emulated (on) Spectrum

So far deck defined, all cards can be placed, selecred and moved.
https://www.youtube.com/watch?v=uFAN4XwU-vg