[LOOM] Loom - A Mystical Adventure Game
Moderator: MaxCoderz Staff
- L4E_WakaMol-King
- Maxcoderz Staff
- Posts: 342
- Joined: Tue 01 Nov, 2005 6:34 am
Thanks . I appreciate the kind words, but if I don't push myself to do this quickly, I will never get it done -_-.
- Now Under Development - [Progress]
- Madskillz
- Calc Wizard
- Posts: 745
- Joined: Fri 17 Dec, 2004 10:22 pm
- Location: Wandering around in the Jungle...
- Contact:
Well that is good too! I am the same way with projects. No rush man, but keep yourself busy be it school or coding! I suppose we will allow you to have some free time too...but not too much, coding still has to be done!
The Revolution is here...
- L4E_WakaMol-King
- Maxcoderz Staff
- Posts: 342
- Joined: Tue 01 Nov, 2005 6:34 am
Well, I was hoping to have the walking demo by tonight, but alas, still not yet.
On the bright side, I wrote the skeletons for both the map trigger engine and the scene script engine. The map trigger engine detects certain actions, and calls scene scripts accordingly. For example, there is a trigger for "If user is standing on this tile and tries to move up one tile, run the 'Enter Sanctuary' scene scipt." I put this trigger on the tile below the door to the Sanctuary. You get the idea. Developing the game like this is slow going now, but once these two engines are finished, I will be able to churn out new maps much faster.
I didn't add a lot more code in bytes, but I got a lot of important things worked out. Some of the code was pretty tricky too. Apparently you can't do indirect calls, so I had to make up my own way of doing them. Here's the code if anyone is interested:
On the bright side, I wrote the skeletons for both the map trigger engine and the scene script engine. The map trigger engine detects certain actions, and calls scene scripts accordingly. For example, there is a trigger for "If user is standing on this tile and tries to move up one tile, run the 'Enter Sanctuary' scene scipt." I put this trigger on the tile below the door to the Sanctuary. You get the idea. Developing the game like this is slow going now, but once these two engines are finished, I will be able to churn out new maps much faster.
I didn't add a lot more code in bytes, but I got a lot of important things worked out. Some of the code was pretty tricky too. Apparently you can't do indirect calls, so I had to make up my own way of doing them. Here's the code if anyone is interested:
Code: Select all
push de ; \
ld de,6 ; |
call push_pc_plus_3 ; |
push_pc_plus_3: ; |
pop hl ; | call (de)
add hl,de ; |
pop de ; |
push hl ; |
ex de,hl ; |
jp (hl) ; /
- Now Under Development - [Progress]
- kv83
- Maxcoderz Staff
- Posts: 2735
- Joined: Wed 15 Dec, 2004 7:26 pm
- Location: The Hague, Netherlands
- Contact:
you can do a "call hl" as far as i know...
you should maybe look into this:
http://nwps.ws/~dragonfire/Asmin28/lesson/day13.html
(Jump Tables) ... I guess they are the best solution for those engines
you should maybe look into this:
http://nwps.ws/~dragonfire/Asmin28/lesson/day13.html
(Jump Tables) ... I guess they are the best solution for those engines
- L4E_WakaMol-King
- Maxcoderz Staff
- Posts: 342
- Joined: Tue 01 Nov, 2005 6:34 am
That's what I'm using. I remember that page of the tutorial well.
Also, I don't think it is possible to do call hl. It's not on the command list and TIASM gives me errors when I try it.
Also, I don't think it is possible to do call hl. It's not on the command list and TIASM gives me errors when I try it.
- Now Under Development - [Progress]
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
You cannot directly "call (hl)", but can do it like this:
Or, to "call (de)",
Of course, in a RAM program, you just use SMC instead.
Code: Select all
ld de,return
push de
jp (hl)
return
Code: Select all
ld hl,return
push hl
ex de,hl
jp (hl)
return
- Jim e
- Calc King
- Posts: 2457
- Joined: Sun 26 Dec, 2004 5:27 am
- Location: SXIOPO = Infinite lives for both players
- Contact:
I like to include a routine I call cHL, but you can call to any address contained in a 16bit register.
This would be a little smaller than bens way and use 1 less register pair, but its only faster in the case of cHL.
Code: Select all
cHL:
jp (hl)
cDE:
push de
ret
cBC:
push bc
ret
cIX:
jp (ix)
cIY:
jp (iy)
- L4E_WakaMol-King
- Maxcoderz Staff
- Posts: 342
- Joined: Tue 01 Nov, 2005 6:34 am
At long last, the walking demo of Loom Island is finished!
The walking engine is a bit sluggish. I've made it slow on purpose, because I want it to feel like you are walking leasurely... but it's a bit jerky in between steps, so I will try to fix that.
The walking engine is a bit sluggish. I've made it slow on purpose, because I want it to feel like you are walking leasurely... but it's a bit jerky in between steps, so I will try to fix that.
- Now Under Development - [Progress]
-
- Regular Member
- Posts: 82
- Joined: Sat 18 Jun, 2005 9:15 pm
- Contact:
- L4E_WakaMol-King
- Maxcoderz Staff
- Posts: 342
- Joined: Tue 01 Nov, 2005 6:34 am
The next phase is going to be writing my first actual cut scene. The first cut scene of the game (and also the longest and most complicated) is the Trial of Hetchel. It's going to be a long hard piece of code, but once it is done, I will have most of the cut scene engine finished.
- Now Under Development - [Progress]
- L4E_WakaMol-King
- Maxcoderz Staff
- Posts: 342
- Joined: Tue 01 Nov, 2005 6:34 am
Well, since there are (short) periods of play, the end will actually be a series of short cut scenes that will probably feel like one big cut scene. But by that point, I will have the cut scene scripting down pretty well .
- Now Under Development - [Progress]