First project
-
Can’t wait to play it!
-
Unfortunately a pretty large spanner has been thrown in the works in the form of an intermittent Fuze crash bug.
I'm releasing the game as is. The game engine is complete and there are four levels. I'd hoped to do more than that but after spending the last 5 hours trying (and failing) to find the cause of the crash my enthusiasm has pretty much gone for now.
If you play the game it works fine. The crash seems to happen when you're not moving for a minute or two. I've done all I can to find the cause but every time I think I've tracked it down, it appears to manifest somewhere else, then again back where I first thought it was. I believe it to be an issue with Fuze, possibly connected with arrays as I've had Fuze crashes caused by those before.
Maybe one of the Fuze team could use some of their development tools to see what's going on, but I'm completely out of ideas since Fuze just crashes completely and gives no feedback. I can usually reproduce the problem by setting DEBUG to true then running the game and standing still on the first level for 1 to 2 minutes (the time varies).
Hopefully you can enjoy the game in its current state. I'll possibly look at continuing it after the next couple of Fuze updates if the crash gets resolved by them or if one of the dev team can shed any light on it.
The game ID is QBP63MNDHW though it won't have been approved at the time of posting this.
Edit: It is now live.
-
This post is deleted! -
@chiizujin I have a theory about this but I need to try something first to confirm it
-
fingers crossed
-
This is just awesome work! Shame it had to be released with this sentiment, but it's great fun and again with some nice game mechanics.
Thanks for sharing! :-)
-
I think that I have a work around for you. The problem is to do with saving the control state. This is a known issue that is (hopefully) fixed in the next patch. Thw work around is to use the following code:
last_controls = [ .l = 0, .r = 0, .a = 0, .b = 0, .x = 0, .y = 0, .left = 0, .right = 0, .up = 0, .down = 0, .lx = 0, .ly = 0, .rx = 0, .ry = 0, .zl = 0, .zr = 0 ] function saveControlState( c ) last_controls.r = c.l last_controls.r = c.r last_controls.a = c.a last_controls.b = c.b last_controls.x = c.x last_controls.x = c.y last_controls.left = c.left last_controls.right = c.right last_controls.up = c.up last_controls.down = c.down last_controls.lx = c.lx last_controls.ly = c.ly last_controls.rx = c.rx last_controls.ry = c.ry last_controls.zl = c.zl last_controls.zr = c.zr return void saveControlState( controls( 0 ) )
You will also need to change all occurrences of last_controls = c to saveControlState( c )
-
Can I just express appreciation for the fact that that the music fades to a slightly lower volume when you open the in-game menu?
-
@pianofire That does indeed fix the crash, I owe you a [insert intoxicating beverage of your choice]!
This looks like the same thing as something I encountered once before but then I believed it to be the array that was the problem (putting a struct back into an array unchanged). When you are standing still the controls state struct is repeatedly being put back into the variable unchanged. If I'd just made that mental leap I would've saved myself a lot of grief.
Apologies if I came across negative in my last post (I was trying not to) but I was feeling pretty burned out chasing this one around. Thank you very much for looking into this!
As a side note, I was initialising last_controls with
last_controls = controls(0)
but that seems to result in a reference to controls(0) rather than a copy which meant controls(0) and last_controls were always the same so buttons never triggered. This is a bit odd because that's how I was initialising it before and they were triggering fine. Still, it's all working now and I don't want to put any more brain power into working out exactly what's going on there. :pAnyway, I've submitted the fixed version which also includes the finished version of the level I was working on before my brain exploded. If anyone has played all the levels I'd be interested to know how you are finding it difficulty-wise. The first level is just meant to introduce mechanics without necessarily being challenging.
Thanks again, pianofire!
-
This is a great game and a major nostalgia trip for those of us remember Repton. I am struggling a bit with the end of the fourth level. Excellent work and with huge potential for adding more levels.
-
I've resumed work on the levels so more will be coming.
I've also got some documentation to put in for anyone who wants to create their own set of levels and re-release it. That's why there's a credit for level design on the intro screen.
-
I've just realised that (I think) the file used to store the high score also gets shared with the project. If you want to reset the high score, change the constant RESET_HIGH_SCORE to true and run the game once, then set it back to false. In future I'll reset it before sharing.
Edit: The previous version hadn't yet been approved so I've submitted a new one with a reset high score and a new level.
It also fixes a bug that prevented the high score resetting correctly :p.
The new is version 1.2.
-
Played it now! Great game, and some really great (and hard) levels.
-
Version 1.3 is now live with another new level, for a total of 6 so far.
I think I'm going to aim for 10 levels for the final version, though I'll probably continue to release each one as I complete it.
-
Repton. very good game ZX Spectrum !
-
You should add it to The Great List of Game Codes!
-
@chiizujin said in First project:
I've just realised that (I think) the file used to store the high score also gets shared with the project.
As far as I know this is correct, yes. It's something that I've never been keen on but it's the choice that was made so it's what we have.
-
Is that a thing that’s going to stay? It would make my level creation a lot easier if so...
-
@toxibunny said in First project:
Is that a thing that’s going to stay? It would make my level creation a lot easier if so...
I'm not aware of any plans to change the current behavior