Jump to content
IGNORED

Nonogram - game released


Recommended Posts

You can move the cursors around using joystick and/or keyboard. If you hold a direction or key it will start auto repeating. Auto wrapping too (move right all the time and you will reappear on the left). Keys are E, S, D and X ... Should I change that to W, A, S and D ?

 

 

I usually like the arrow keys on the TI - seems more natural to me. I did add WASD to a game (that I didn't write) at someone's request, but even as someone who played FPS for years and met my wife online playing Q2 & Tribes, my use of WASD has been unconventional at best. ;)

 

Your game is looking great...keep up the good work!

Link to comment
Share on other sites

  • 2 weeks later...

Yes, I had some time on my own and thought it was about time to show just a little bit of progress in the Rainy Day Game Contest (RDGC) department. This isn't much, but progress none the less. Also a good deal of attention to detail as we move along.

Some Nonogram game implementations have kinda joystick input and some use the keyboard (or touchscreen). The TI version will support both (joystick and keyboard). We've already implemented movement of the cursor, now comes the action bit. Basically there's 3 states on the board.

  • The empty square (gray)
  • The square on (green)
  • The square off (cross)

Squares on and off make up a pattern of an everyday object (like a cup or a cat). As you make your way thru a puzzle, you decide whether a square is on or off. If in doubt leave it or change it to empty.

Some implementations cycle thru the above, and some have dedicated keys to select either of the 3 states. I choose to support the cycle approach, which works beautifully with a one button joystick. I guess one button is also the most TI compatible approach.

The cycle method also makes it easier or possible to hold the fire button/select key and move around, even using auto repeat, and change multiple squares in one go. See animation below for demonstration or try it out yourself. EA3 attached below. Again I will very much like people to try it out on the real deal as I haven't got anything but emulation. Any feedback is much appreciated, be it problems, ideas, suggestions, questions or just a simple nod, happy smiley or one not so happy.

So to cycle thru the states you use fire on the joystick, or, when using the keyboard (e, s, d and x for movement), you can use Space, Enter, Fctn, Shift or Ctrl on the TI keyboard. This also leaves a good many possibilities with emulation.

The auto repeat feature was using a 10 frame delay, which has now been change to a 8 frame delay. This is about a 25 percent increase in speed. That's going from 6 bps (beats/moves per second) to 7.5 with 60 Hz (fps = frames per second), and 5 bps to 6.25 with 50 Hz. Aka 60 Hz video systems (NTSC) run/move faster than 50 (PAL). NTSC runs 20 percent faster. I guess most emulation (and hardware) anywhere in the world runs at 60 Hz.

icon_smile.gif

nonogram0019.gif

Edited by sometimes99er
Link to comment
Share on other sites

Nice, it's really taking shape :)

 

I don't know how to run it on classic99. I converted it with TIDir in DF80 format, remove CR/LF, but it shows the E/A editor menu after "Load and run". :?

Thanks.

 

The Classic99 instructions should be something like this ...

 


  •  
  • Download zip file.
  • Unzip and put the NO file in the DSK1 folder.
  • Start Classic99.
  • Go to the menu of Classic99 and select Cartridge, Apps, and Editor/Assembler.
  • Press any key to begin.
  • Press 2 for Editor/Assembler.
  • Press 3 for Load and run.
  • Enter file name as DSK1.NO (case sensitive as far as I know) and press Enter.
  • Wait a second or two.
  • Press Enter again.
  • Enter program name as S.
  • Use arrowkeys, tabulator, e, s, d, x, shift, ctrl, alt, spacebar, alt gr and/or enter to manoeuvre.

I don't know too much about conversions. Were you trying it out on the real iron ? Hopefully Tursi or someone can step in and help ?

 

:)

 

Edit:

NO is short for Nonogram Object source/code. Maybe the letter O can be confused to easily with the digit 0 ? S is short for Start.

Edited by sometimes99er
Link to comment
Share on other sites

 

 


Sorry if was not clear enough. Maybe it's my bad english. icon_smile.gif

I know how to run an object file in FIAD format, but yours is a DOS text file.

No, I think your English is fine. English isn't my first language, so ... icon_smile.gif

I'm not sure how to get to FIAD format. Anyone ?!?? icon_smile.gif

Here are some of my crazy notes for the game (it's not handwriting or yes it is, but thru an editor, hardcopy and stuff)

nonogram0020.jpg

icon_smile.gif

Edited by sometimes99er
Link to comment
Share on other sites

 

 


Ok, you don't need to SHOUT.

 

Hehe, sorry, I'm only "shouting" to get the attention of people browsing the thread and maybe having just an ounce of knowledge about this DOS to FIAD stuff.

 


You should make a compiler to directly generate your game from your notes. icon_mrgreen.gif

 

Hehe, hilarious - but not impossible. Where there's a will there's a way.

icon_lol.gif

Edited by sometimes99er
Link to comment
Share on other sites

If you're using Classic99, you don't need to convert from DOS Text file to TIFILES file.

 

Which means that there's another way to convert. Load the file in Classic99, then resave it, will work with default settings. ;)

 

Assumes you're using uncompressed object files, anyway.

Link to comment
Share on other sites

Thanks. icon_smile.gif

The miniature

I know the miniature looks ridiculous small, but that's how it's going to be for now.

nonogram0022.gif

The miniature will consist of 4 background characters, making up a 10x10 white background.

Your guess work of course appears on the board, then a 20 bytes area in ScratchPad is updated, then a sprite is updated showing the puzzle in black (on the white background), and finally the 20 bytes is compared with the solution. The solution (20 bytes) stay where it is, somewhere in memory (that's RAM for the contest version and ROM for a later 8K cartridge version).

icon_shades.gif

Edited by sometimes99er
Link to comment
Share on other sites

Miniature whiteboard implemented.

  • Character patterns extended (+ 80 bytes).
  • Colors extended (+ 1 byte).
  • Background displayed (+ 32 bytes).
  • Sprites extended and pattern displayed (+ 4 bytes).
  • Sprite pattern cleared (+ 14 bytes).
  • ScratchPad cleared (+ 14 bytes).
  • One change put to ScratchPad (+ 36 bytes).
  • ScratchPad put to sprite (+ 64 bytes).

icon_smile.gif

Edited by sometimes99er
Link to comment
Share on other sites

Miniature whiteboard routine optimized

 

  • ScratchPad to sprite (- 30 bytes).

Was lazy yesterday and copied all 20 bytes (10 board lines) to VDP, hitting VDP address with 4 bytes and VDP data with 20 bytes. Now only 2 bytes (1 line) are copied (address 4 bytes and data 2 bytes). Going from 64 to 34 bytes of code.

 

Next step

 

Right now I have a good deal of more or less simple tasks at hand. The most interesting road to follow is generating the number information (left and top) based on a solution. I could store a puzzle with both solution and numbers (apart from the additional name/password). Solution is 20 bytes (only using 10 bits, I might squeeze in the name here (would be 10 characters then)), and the numbers would be 5x10x2 = 100 bytes (and perhaps squeezing it to 50 bytes). - I think I'll calculate those numbers.

 

Since there might be different approaches and a bit of logic, I'll use Console C# (simple command prompt window) to easily experiment, change, debug (using Console.Write) while not sacrificing on speed, which would be the case if I chose TI Basic. I'll write the C# code in a 9900 style, so it will be easy to convert. This method has worked well before.

 

:)

Edited by sometimes99er
Link to comment
Share on other sites

Numbers - or how to extract from solution

 

Finally got around doing the logic in C#.

 

Should have just done it with Int (32 bit) instead of pressing on about Ushort (16 bit unsigned). Shift operations on UShort return Int. Come on. No Carry or Overflow with shifts anyway. Test before shifting.

 

Integer literals (typing in values) are decimal and hexadecimal only. Surprise. So to get the bit pattern in just like that, I have to do Convert.ToUInt16("0010000100000000", 2).

 

I'll do the 9900 bit and display some other day.

 

Puzzles - or solutions

 

I think I'll do a specific Flash paint and name utility with 9900 assembler instantly on the clipboard. That's a puzzle and it's name spliced into 20 bytes. Names will be a maximum of 10 letters.

 

We'll see how many puzzles fit in, and if the contest version will have more than one file to execute. This would maybe leave room for you to do you own run of puzzles. Guess I have to make room for a "Created by" message then.

 

Passwords - or how to continue from where you left

 

Will need custom keyboard reader and input field, but I've done that in previous demos, so I guess I can do a bit of cut and paste there.

 

Music - and maybe soundeffects

 

Think I'll put that in when everything else is done. Soundeffects might just be short and sweet or simply not existing, since I really like to have some lengthy and varied piece(s) of music. I guess the 8K limit may put some limit on that. Also like the idea of live piano recording (going from recorded MIDI to sound lists) and maybe even something I'm composing myself.

 

 

All for now. One and a half month to go ...

 

:)

Link to comment
Share on other sites

  • 4 weeks later...

Deadline (RDGC)

I'm not sure I'll be able to enter anything playable. Been held off by real life. For now I'm pushing sound (music and maybe a few effects) down the list.

EA3

I've had no feedback (not that I know of) from people trying to run the demos on the real iron. Since I'm emulation only I will revert to producing cartridge binaries only - saving time on my development cycles. It's relatively easy to produce an EA3 or EA5 if/when needed anyway.

Classic99

This is of course a bit stupid. The new colors have cause me a few problems. I've actually spent time trying to find new pleasing colors - at least to my eye. I guess I'm trying to hold on to Classic99, knowing that the game will probably mostly be played (and perhaps judged) on this platform. This annoys me a bit. I might simply ignore that for a while and change my testing to MESS - or go back to Classic99 v351.

Backup

Just realized that my 3 year old son has deleted a job related project (folder deleted from desktop). I've got a backup, but a few notes made in the last few days are gone. Shit happens, but maybe a bit of a wakeup call. Backup, backup and backup !

icon_smile.gif

Edited by sometimes99er
Link to comment
Share on other sites

Sorry you don't like the colors, but they are closer to the real thing. By the end of this month I should have the "Artist-tuned" colors available. I would not waste a lot of time on palette selection before that! :)

Well, it's just that Classic99 and MESS have been pretty much the same color experience since I woke up in 2004. Old habit, and then you have to welcome changes.

 

Didn't those old tube based televisions and monitors burn like a bit yellow over time ? And as I've read, there where quite a difference between the TV modulated output when it comes to NTSC and PAL. You already got the nice TV Filter Mode. How about a choice of based colors ? One on diagram/specification and one NTSC Artist Pro mode ?

 

:)

Link to comment
Share on other sites

Didn't those old tube based televisions and monitors burn like a bit yellow over time ? And as I've read, there where quite a difference between the TV modulated output when it comes to NTSC and PAL. You already got the nice TV Filter Mode. How about a choice of based colors ? One on diagram/specification and one NTSC Artist Pro mode ?

 

Yeah, it's a point I've tried to make a few times is that in practice, no two TVs were necessarily providing the exact same colors, especially in NTSC. Probably I'll implement the multiple palette choices, but I need one that's actually correct (in at least one scenario) for my own use, the mathematically calculated ones seem to ignore many stages to me. (But, we'll see how far off they are in real life when we get there.)

 

The reason they are similar prior to this change is because we both took the datasheet and converted the values to RGB. We just used slightly different math (apparently).

 

We'll see, anyway. Not much point worrying about it just yet.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...