Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs

How's your game progressing?

A topic by No Time To Play created Jun 08, 2017 Views: 541 Replies: 50
Viewing posts 1 to 21
Submitted

This keeps happening to me. Having finished my first entry much sooner than expected, I fished around for another game idea. After a bit of flailing, the idea presented itself... and it was also done much sooner than expected. There are several reasons for that: I'm getting used to coding in Sinclair Basic again, my schedule just happened to be very convenient, and my habit of trimming features early kicked in as usual.

Anyway, with two entries in the jam it's time to stop (though suggestions for improving them are welcome). How's everyone else doing? Because it's been kind of quiet for the past few days, and there's less than a week left.

Submitted (2 edits) (+2)

I understimated the complexity of my project, and overstimated the resources of Spectrum BASIC :-). Although I've tried to stay low on features, I've had problems in terms of optimizing BASIC code. I've forgotten how low on resources the Spectrum was.

Fitting 8 galaxies with over 200 diferent planets per galaxy is a complex task on such low resources. Also trying to make the gameplay cool giving a sense of freedom to the player, letting him to move between planets (and galaxies), trade and fight and, at the same time, maintain a not so ugly visual aspect is complicated on the limits that ZX BASIC imposes.

In fact, I've been the last two nights thinking on how to optimize the damn keyboard input. To make it as responsive as can be in a BASIC game.

That said, I think I can finish it near the time limit. Ah! and hope not to break the 500 lines limit imposed! OMG!!! o_o

HostSubmitted

HI jsj

For keyboard responsiveness you could look to use IN ports for grouping keyboard keys (multi-pressing)

Or even IN 31 for Joystick :)

Submitted(+1)

Sure! I've done it via INs. That way I can check many key pressed at once. But I've made some nasty tricks to check "bits" because ZX BASIC doesn't have binary operators to work at bit level.

Submitted

Yeah, I had that happen to me a few years ago while making a couple of roguelikes in ZXBasic. Almost ran out of memory, not to mention how slow they ended up. And that was in a compiled language! Whereas it sounds like you're trying to remake Elite in Sinclair Basic. o_o

Well, good luck. That was one of my favorite games at the time. Can't wait to play your version. Don't worry too much about the line count limit, I think it's a soft limit, and your ambitious project definitely justifies going over it.

Submitted (1 edit)

Yes. It's a version of Elite. Trimmed down, of course. But all planets are there. Travel between systems. Trying to fit also economy. Docking and space combat but with no fancy 3D graphics. I've tryed 3D but it's slooooow on a 3.5 Mhz original machine. So 2D (or 2.5D) simplified should do the trick. Nothing overcomplicated.

Too much work on weekend. Hopefully I'm alone those days and can code from day to night. :-D

Submitted

First game came out pretty quickly because I'd kind of started when the jam was first posted to wos as something else hence I changed it to what it is and much happier with it. I'm still struggling with the second one in trying to get it to run fast enough to be reasonably playable.

Submitted(+1)

I *think* mine is going pretty good actually.  I've even been working on some 'bells and whistles' (front end, and the like).  It's now a case of level designing I think.  It doesn't help than I am massively enjoying playing through it - which is slowing me down.  Having had a few people play test - I've added instructions (as it's not self evident how to play).  The level designing (which is me fiddling with Data statements) is now taking the time (and nothing like as good fun).

Happy to take feedback if anyone cares to have a go: (dropbox)  Physiced

RUN (obviously) and on the menu press '1' to cheat and start at a different level.  (1-11; though 11 is far too hard).

Submitted

Ok I'm pretty flummoxed how do you do that bouncing ball thing on the intro screen ? It's not tile based movement and there is no trail or flickering mighty impressive :)

Submitted

Thank you.  It's an OVER 1, PLOT statement to draw and erase it.

The (horrible, uncommented) code that is doing that bit is -

66 OVER 1:LET e=48: LET f=138:LET ea=1:LET fa=2:FOR x=1 to 156:PLOT e,f:LET eo=e:LET fo=f:LET e=e+ea:LET f=f+fa:LET fa=fa-0.1
67 IF f<16 THEN LET fa=-fa*0.8:LET f=16
68 LET i$=INKEY$: if i$="" THEN PLOT eo,fo: NEXT x:GOTO 66

e,f are the co-ordinates it's PLOTted at, and in each step of the loop ea and fa are the acceleration added to e and f respectively.  Each step fa is reduced (due to 'gravity).

if the height is less than 16, fa (vertical acceleration) is reversed, and reduced to 80% of it's previous value.

if nothing is pressed then the the old position of ball is erased (eo, fa) and the we loop around.


This is (essentially) the same 'physics' done in game, but with some fixed parameters.

Submitted

The gravity part I understand no problem (physics teacher), the trick is the OVER 1 but how do you not leave a trail on the intro screen I don't see in the code below where you erase the trail.

Submitted

It's my PLOT eo,fo in line 68 which is at the same co-ordinates as the PLOT e,f was a couple of lines earlier.  Because of OVER 1 it's removing that pixel (OVER 1 meaning plotting is toggling the state of the pixel when it PLOTs).

P.S. Physic degree here.  (High five for gravity).

Submitted

F=mg ftw :)

Submitted

i just gave it a go, love it ! I love the physics. It's quite speedy and totally playable definitely add this to the jam :)

Submitted(+1)

I started quickly last weekend, thinking I could even make one more entry, then run out of free time... hopefully in the coming weekend I will publish something.

I am also looking forward to playing your games, they look very interesting!

Submitted (1 edit) (+1)

My text adventure is about 90% complete. I just need to program the last door and add in some more cutscenes (including the endings - there's more than one!). If I have time I'll spice it up a bit 😊

One thing I learned from making this game is that writing text adventures in basic isn't hard, but it requires a hell of a lot of time and planning!

Submitted

Line-number BASIC requires good planning in general. Too bad nobody taught me that little secret as a kid.

HostSubmitted

Remember to breakup your sections or routines  ... If my code is extra long I usually keep data and UDG stuff at the end of the code around line 6000 or 8000. Data statements can usually be placed sequentially so incrementing line numbers by 1 or 2 is usually okay here.

GOSUB 1000

1000 REM --- Describe and add comments

rest of code

2000 RETURN

Submitted(+1)

Oh, I know that now. But that's after nearly two decades of professional programming. :P

(+1)

Mine is progressing very well, when i'm working on it. Last few days i didn't touched it, altought i was working on it in my mind. Now i just have to implement what i tought of and that's such a bore ^_^. I love starting new projects, but finishing them is so hard ^_^

What's left is finishing the AI, putting in end state and some polishing and bug fixing. Should be one or two day's work, just to get to it.

(+1)

Heyyyyy, my first ever AI is working and doing what i want it to do ^_^ It can not plan for the future at all atm but for purposes of this game that doesnt matter that much. Now i have to watch it play against itself few dozen times so i can iron out some kinks and then i'll put end game into the program so you can actually win ^_^

It's still making some strange moves and sometimes it's outright broken, but in essence it works ^_^

https://drive.google.com/file/...

Submitted(+1)

I've been waaaaay too ambitious :/ I'm working on a angband-esque rogue like, which despite being glacially slow to play I'm finding quite entertaining to test. Map generation, player code and items/entity code are all in the bag. I'm just about to start work on the combat system and then its just a case of a win condition and I'm done.  Hopefully I'll manage to finish before the deadline.

Submitted

Good luck! I made a couple of roguelikes for the Spectrum, except in ZXBasic, and they're still slow. Obviously the genre it a lot more processor intensive than one would expect. Now I'm curious to see what comes out.

Submitted

 Curiosity is fine, just as long as expectations are low ;)

Submitted

Well, it's too slow. Even ignoring all the initialisation and level builds the time between turns is best measured in eons. I'm sure there's a couple of optimisations I could do but nothing that's going to make this playable within the rules and time frame of the Jam.  If anyone is interested I've put the code on github, only as a warning for what not to do :)

https://github.com/Spoozilla/S...

Submitted

Huh. BASin freezes trying to run it, and Fuse complains about a missing ROM. Were you going for the traditional format?

Submitted

Yeah, that's really odd. Although the .bas file when raw from github works fine for me... github and BASin not getting along for some reason? Anyway, https://raw.githubusercontent.... seems to work.

As for the snapshot, I have no idea what's occurring there. I just saved the .z80 from BASin and it seems fine here. Unless github is breaking binary files now too :/ 

Here's a .sna directly from Fuse. http://www.int13h.com/download...

Submitted

The .sna file works fine. Level generation isn't bad. But the moment I'm next to a monster, I have to mash the direction keys a whole lot before landing a single hit, and then it doesn't seem to do much. It would be more responsive if it was turn-based, in my opinion.

Submitted

It is turn based. There's a little indicator in the bottom right of the screen that rotates to show the machine is "thinking". The main loop waits on a key input before progressing. This should be handled by the pause 0 at line 530.  Mashing the keys probably wouldn't result in a good experience.

For me the issue is with the amount of entities that can be on a level and the amount of time it takes to process their moves. With a packed level it can be between 20 to 30 seconds between turns.

Submitted (1 edit)

Oh, huh. I misunderstood then. As for processing moves, that also takes the most time in Escape From Cnossus. But because it's written in (compiled) ZXBasic, it's just noticeably slow, not unplayably slow. :P

(+1)

Testing my own games is my bane, i tend to spend waaaay too much time on it ^_^

HostSubmitted

Sounds great! I look forward to trying it :)

Submitted(+2)

I've added a crude level designer to my effort, which allows me to place elements on the screen then gives me the figures I need to pop into my DATA statements.  I wish I'd done this earlier - so much easier than trying to just write the DATA statements 'by hand'.

Using the designer means I'm having to copy out meaningless strings of numbers into my program - it's like the olden days of copying pages of them out of Sinclair Programs Magazine.

Submitted(+2)

Things progressing... this weekend I've had time to code the galaxy map, the local system map, the space-combat module, the UDGs for "enemy" ships, debug some errors in the planet-name generator algorithm, start to polish the interface, add some beeps here and there... that's the good news.

The bad news are that I must finish the market logic and procedural generation algorithms, the market interface, the logic to travel from planet to planet, the docking "mini-game", and the advancement system (levels).

¡¡¡And I've only around 15Kbs free!!!

(+1)

i feel your pain 😀 off the jam i'm working on space version of oregon trail lite (aka startrail) and i have similar problems 😀 I've also relearned a lot of spectrum basic by writing it and now i feel it woul be better to start fron skretch then to fix mistakes i've made 😀

HostSubmitted

Wow! That sounds like some game for BASIC :D

Submitted(+1)

Haven't touched it for 4 days, with politics and various commitments getting in the way...  And for some reason I thought we had til friday. Got a few hours in today though, cutting some planned features and hopefully be ready in time. 

I fear i will not be able to submit it in time as well. 15 hours left and 12 hours long working shift in front of me... yeah...

Couldn't work on it for few days as well, due to massive toothache... T_T

Submitted(+1)

Drawn a line under it, and submitted.  Decided that I'd designed enough levels - 20 was good enough for Miner Willy, 20 is enough for me!  (Some of them are HAAARRRDD to beat).

Submitted (1 edit)

20 levels are a good number. The same number as Manic Minner has. :D (if I remember well)

Submitted(+2)

I raced off another entry, having been inspired by all the 'Snake' games on there - I wanted to have a go at a minimal snake - and see how fast I could get it going.  (not super fast, is the answer).  Thought I'd try an against the clock type thing to make you snake about less efficiently.

Submitted(+1)

I uploaded this, and then replaced it!  It's had a graphical overhaul (i.e. it's got three UDGs).

I'm actually really pleased with the graphical health bar in the game - and it might be a shade faster than was.

Submitted

Last minute update to this - bugfixed a scenario where the random placement of food meant that if it landed on the 'head' of the snake, it'd be not eaten.  I think I've bugfixed it anyway!

Submitted(+1)

Spent the day fixing hideous bugs and putting in some sound. Just about finished it. That was fun. The map loads really slowly. I've been yanking up the cpu speed for testing and kind of forgot. I put some beeps in though to make it a bit more of a interesting wait.

Submitted(+1)

Finally can't finish in time. Sad. :-(

Anyway has been a great experience to return to the old days.

I will try to publish  a version playable here in itch.io.

HostSubmitted

Hi jsj,

I am thinking of extending it for late submissions if others are fine with that :)

Submitted

Nice!!!

I only need some time to finish things. Promise to release a playable version today.

I others don't complain about late submissions, of course.

Submitted

Nah, game jam deadlines get extended all the time around here. It's all in good fun.

Submitted(+1)

Finally! Finished!

Due to memory restrictions has been imposible to fit the combat mini-game I've had created. Perhaps I will see if I can optimize some things to fit it. So finally the game is about exploration and trading around the Galaxy.

As I said has been funny to program in an environment so restricted that, each line you type, you must think in terms of optimization. I've been doing tricky things to fit all this in memory and also to make things as faster as I can. Using string arrays to store byte numbers instead of declaring number arrays that waste memory. Unwraping loops to make things faster. Caching and precalculating data to speed up local map redraw.

Thanks all for this nice jam!!!

Submitted

Oh, yay! Now we have two space trading games in the jam! Can't wait to try it out.