| Posted By
 Csabo on 2025-04-07 05:22:25
| City Grill!
Big surprise: another just-before-the-deadline game (the 15th!) made it to the game programming compo! Newcomers BadCode64 and CopAss bring you City Grill! The name will be familiar to Hungarians: it was a fast-food restaurant chain that operated in Hungary from '84 to '94.
In the game, you assemble hamburgers or combos as quickly as possible. You can see the order on the right, and you must assemble it piece-by-piece by pressing the button for the correct ingredients. In career mode, you start with simple burgers, and go from city to city, slowly increasing the complexity. In time mode, you create random orders (using all possible ingredients), and gain extra money and time for successfully completed orders.
Check it out! 2 3 |
|
Posted By
 Unreal on 2025-04-08 05:22:25
| Re: City Grill!
Congrat CopASs! |
|
Posted By
 Verona on 2025-04-08 08:49:14
| Re: City Grill!
Why BASIC? |
|
Posted By
 Csabo on 2025-04-08 13:39:35
| Re: City Grill!
Really like the graphics on this one. For a first game, this is excellent! The type is "Papa's pizzeria", but I couldn't find if this genre has an actual name.
All the loading in the beginning is a bit painful and seems unnecessary - it appears that all those tiny (less than one block files) are loaded continuously. Therefore, loading them only once would have been much faster. (Or avoid loading them altogether, the data could have been placed after the BASIC code.) This is a minor technical gripe.
My complaint after playing one round in career mode and quitting after 10 minutes is that my score was "lost". Is there no scoring for this one (only for time mode)? Too bad...
Anyway, nice game, congrats guys! |
|
Posted By
 Haegar on 2025-04-08 14:44:28
| Re: City Grill!
Very nice game, but I have a question. A flamingo appears in some demos or games. What does that mean? It seem I had missed something in my almost 25 years of absence  1 |
|
Posted By
 Csabo on 2025-04-10 16:05:32
| Re: City Grill!
Asked and answered in the Plus/4 XL thread here. In short: "fellegekben szárnyaló flamingó" -> "flamingo soaring in the clouds" is an old nickname for the Plussy. (Flamingos were heavily featured in Plus/4 XL, and literally spelled out in the invitro.) 1 |
|
Posted By
 BadCode64 on 2025-04-08 16:33:14
| Re: City Grill!
Thanks so much for the feedback! 
Yeah, the loading is a bit clunky – it had to be like that because of the compo rules. We couldn’t put the graphics after the BASIC code, and doing it with DATA lines would've taken forever (and probably wouldn't even fit). There is a version that loads everything in one go, and another that splits things up nicely – but since almost everyone plays on emulator, a quick ALT+W and you're in within seconds. 
Career mode is more like a little tutorial – the real deal is time mode! That’s where the scoring is and the actual challenge.
Really happy you liked the graphics – it’s our first game, so that means a lot! Thanks for giving it a go!
The thing I’m most bummed about is that there’s no music – I couldn’t find anyone to do a quick tune, and I didn’t manage to rip the City Grill music myself.  |
|
Posted By
 Luca on 2025-04-08 16:45:39
 | Re: City Grill!
Booh booh! Shame on you, @Haegar ! That's a note which is part of our history! 
@BadCode64 before casting a vote and write about the game (congrats!) I would know more about that historical mood around the early '90ies in Hungary and the incoming of City Grill, my sense of Plussier decodes an interesting novel there! 1 |
|
Posted By
 Verona on 2025-04-08 20:15:33
| Re: City Grill!
@Csabo: "All the loading in the beginning is a bit painful and seems unnecessary" No, it's necessary! It's like the Sims 2 loading to me, some funny lines, I really liked that texts! And I understand that jokes. You didn't?
Great work, for a little time, I thought that this is a great idea, but now I know that this is a conversion. But a great one! |
|
Posted By
 Csabo on 2025-04-08 21:12:40
| Re: City Grill!
Yeah, the loading is a bit clunky – it had to be like that because of the compo rules. We couldn’t put the graphics after the BASIC code [...] Umm, this game me pause. So much so that I went back and re-read the rules. This is what I found:
"Ebbe a csoportba azok az játékok tartoznak, amelyekben tisztán csak BASIC utasításokat tartalmaznak. Természetesen lehet SYS utasításokkal KERNAL/BASIC területre hívni.
Amennyiben van DATA sorokban POKE-al bevitt gépi kódú adat, annak maximális hossza nem haladhatja meg az 1024 bájtot." | "This group includes games that contain only pure BASIC instructions. Of course, you can call KERNAL/BASIC area with SYS instructions.
If there is machine code data entered with POKE in DATA lines, its maximum length cannot exceed 1024 bytes." |
This is clearly talking about code, not data. You can save your BASIC program (pure BASIC), plus the data. Use a couple of POKEs to adjust the variable start pointers. No machine code. No loading. Maybe I'm overlooking something, but are you guys saying that this is somehow excluded by the rules? |
|
Posted By
 BadCode64 on 2025-04-09 02:20:31
| Re: City Grill!
That was my first thought as well when it came to loading. I used a similar method to load images in the TVC version, and it really divided opinions there too - whether it still counts as BASIC or not. So I asked Zsolt directly, and we agreed that I should handle everything I can via external loading or DATA lines.
In fact, the TVC solution was even more "BASIC-like" because it not only loaded the images but directly linked them into BASIC variables, so I could reference them using variable names. Even so, many people didn’t like it…
On the Plus/4, another possible approach would’ve been to compress the images into DATA lines at the beginning, avoiding special characters (like $00, $22, $0A, etc.) so they wouldn’t mess up the LIST view. Then I could “delete” the DATA lines using a few POKEs so the BASIC interpreter wouldn’t see them, and a small ASM routine could extract the actual image by stripping out the BASIC line overhead (line numbers, addresses, DATA and quotes) and then decompressing it. But I didn’t want to include too many ASM routines.
For example, the method below hides the DATA lines from the BASIC listing and lets you use that memory area with special bytes:
1 graphic1,0: goto 100 : rem skip the data lines 2 data "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" 100 data 101 restore 100 : read a : a = peek(65)+peek(66)*256-5 : poke 43,(a and 255) : poke 44,int(a/256) : sys 34840 : rem set the BASIC start address to line 100 and relink BASIC lines 5 rem from here the DATA lines up to 100 are no longer visible
So yeah, there were a few ways I could’ve gone about it, but in the end I tried to stick with the most BASIC-compliant method possible and keep the ASM to a minimum. |
|
Posted By
 Luca on 2025-04-09 04:41:54
 | Re: City Grill!
@BadCode64 during the last level of the Kazinbarcika city, appears a new ingredient to be applied with the key U, but I got ZERO hamburgers including that purple ingredient. Is it normal and on purpose?
EDIT: seems to happen the same at level 6 in general, despite any city. |
|
|
Posted By
 BadCode64 on 2025-04-09 05:54:51
| Re: City Grill!
@Luca
Yes, the new ingredient does appear starting from level 6 (including Kazincbarcika), but it was accidentally left out of the menus, so you can't make any burgers that include it. I've already fixed the code, and I'll send the updated version after the voting ends. Thanks a lot for spotting the issue!
By the way, the menus start around line 82 in the data section. The first string defines the list of available ingredients in order:
hzvupfsbk (= meat, greens, purple onion, cola, tomato, flamingo, cheese, bacon, fries)
After that come the menus, where each letter represents an ingredient. For example: "hzh" = meat, greens, meat. An empty string ("") marks the end of the menus for that level. |
|
Posted By
 Luca on 2025-04-09 06:35:57
 | Re: City Grill!
@BadCode64 in order to have some scores to start a Hall of Fame entry for both the game modes, I started a career game for the 2nd time. After spending a substantial time to play – the career game requires a very long time, and must be played at once – in both the games the code faced a ?BREAK error around line 235 and closer lines, which is impossible to bypass with a CONT. Dunno if it's my fault or not, it simply breaks at a certain point while waiting for the key, and all the attempts to RUN it again from that point, fall into MONITOR breaks :/ This worries me a bit, while convinving me to start a career for the 3rd time...
In the end, I adore City Grill: the game is simple but very well presented, it features a pretty well designed score system similar to the BEMANI rhythm game series, with progressive score which resets at the next failed attempt to assemble a hamburger, there's an intopic generation-driven historical scenario behind it, shows its own hiscore vanity board and lets you play two different modes.
Didn't tried the second mode, so at the moment I dunno to which mode the vanity board is referring to, have a run right now. Congratulations! |
|
Posted By
 BadCode64 on 2025-04-09 07:06:18
| Re: City Grill!
@Luca Thanks, I’ll check the bug and make sure to fix it (by the way, which city were you in when it happened?).
Currently, there’s no separate scoreboard for Career Mode — originally, I planned to allow the player to select an existing profile or create a new one at the start, which would be saved to disk so you could continue from where you left off. Unfortunately, due to lack of time, I couldn’t finish that part. For now, this mode serves more as a tutorial.
The main game mode is the Time Mode, and we’ve had some pretty solid family competitions at home with it. Of course, I don’t even come close to my daughter Nadin (see her at the top of the scoreboard) — but she’s a pianist, so she definitely has the upper hand when it comes to finger dexterity 
Thank you so much for dedicating this much time to testing the game! After the competition ends, the game will receive an upgrade that includes all the missing features, faster loading, and other goodies that weren’t allowed under the competition rules. |
|
Posted By
 Luca on 2025-04-09 11:37:22
 | Re: City Grill!
@BarCode64: the second time, I was playing in Balatonszantod, I can't remember the former one .
The saveable career would be exactly the feature I would eventually need for  |
|
Posted By
 BadCode64 on 2025-04-09 11:45:35
| Re: City Grill!
Line: 48 l9=0:m3=0
l9: start city
:D |
|
Posted By
 Luca on 2025-04-10 12:31:19
 | Re: City Grill!
@BadCode64: ok I did my one and only match at Time Mode. There are no other words to say that: it's too easy and this way it never finishes. I would dare to suggest an additional difficulty to your game to be adopted, or different levels (speed change? faster countdown bar? so many choices...).
Moreover, when I stopped at the 5th digit in the score (10089), the graphics got corrupted since ~6600 SC. I checked the variables memory and they went beyond $8000, so you know what it means: could the activated ROM represent a problem and the cause of the graphics break?

Gonna PM to you the SNAPSHOT.FRE file of that. |
|
Posted By
 BadCode64 on 2025-04-10 12:52:04
| Re: City Grill!
In line 31, t9=9 — that’s what controls how fast the time runs out. I spent quite a while tweaking it, but apparently I’m really bad at this And it seems Copass, the graphics guy, might be even worse than me 
The idea of difficulty levels is great! I might actually implement it in a way where the time decreases faster as the game progresses — so even if you get extra time, it won’t help that much later on. Balancing this part is pretty tough though, and honestly, very few people test the game as thoroughly as you do, like a pro! I’m not really that good at skill-based games myself, unfortunately 
As for the graphical glitch — I couldn’t reproduce it, but it’s totally possible that something overflowed. I’ll definitely go through that section again and check it out.
Thanks again for the testing! |
|
| |
Copyright © Plus/4 World Team, 2001-2025. Support Plus/4 World on Patreon |