Jump to content

Photo

Nonogram - game released

game assembler cartridge

128 replies to this topic

#26 InsaneMultitasker OFFLINE  

InsaneMultitasker

    Stargunner

  • 1,709 posts

Posted Sun Apr 24, 2011 12:07 PM

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!

#27 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Sat May 7, 2011 4:08 AM

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, Sun Aug 30, 2015 6:08 AM.


#28 lucien2 OFFLINE  

lucien2

    Moonsweeper

  • 283 posts
  • Location:Switzerland

Posted Sat May 7, 2011 4:48 AM

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". :?

#29 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Sat May 7, 2011 5:18 AM

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, Sat May 7, 2011 5:27 AM.


#30 lucien2 OFFLINE  

lucien2

    Moonsweeper

  • 283 posts
  • Location:Switzerland

Posted Sat May 7, 2011 5:56 AM

Sorry if was not clear enough. Maybe it's my bad english. :)

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

#31 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Sat May 7, 2011 6:09 AM


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, Sun Aug 30, 2015 6:09 AM.


#32 lucien2 OFFLINE  

lucien2

    Moonsweeper

  • 283 posts
  • Location:Switzerland

Posted Sat May 7, 2011 6:13 AM

Ok, you don't need to SHOUT.

You should make a compiler to directly generate your game from your notes. :D

#33 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Sat May 7, 2011 6:23 AM


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, Sun Aug 30, 2015 6:09 AM.


#34 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Sat May 7, 2011 10:11 AM

Okay, I used Asm994a to also output the hex object file to a TI disk. Then I used TiDir to copy the file from TI disk to PC file, which it does without asking strange questions (like type, record length and conversion option).

icon_smile.gif


Edited by sometimes99er, Sun Aug 30, 2015 6:10 AM.


#35 lucien2 OFFLINE  

lucien2

    Moonsweeper

  • 283 posts
  • Location:Switzerland

Posted Sat May 7, 2011 11:22 AM

I found what was the problem. It is a bug in TIDir, the last line was not converted. If you add a CR/LF to the end of the file before the conversion, it works.

#36 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,777 posts
  • HarmlessLion
  • Location:BUR

Posted Sat May 7, 2011 6:25 PM

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.

#37 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Sun May 8, 2011 8:06 AM

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, Sun Aug 30, 2015 6:10 AM.


#38 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Mon May 9, 2011 4:49 AM

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, Sun Aug 30, 2015 6:11 AM.


#39 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Tue May 10, 2011 1:53 AM

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, Tue May 10, 2011 2:47 AM.


#40 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Sun May 15, 2011 1:26 AM

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 ...

:)

#41 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Sun May 22, 2011 10:24 AM

The specific Flash paint and name utility done.

icon_smile.gif


Edited by sometimes99er, Sun Aug 30, 2015 6:11 AM.


#42 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Tue Jun 14, 2011 1:32 AM

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, Sun Aug 30, 2015 6:12 AM.


#43 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,777 posts
  • HarmlessLion
  • Location:BUR

Posted Tue Jun 14, 2011 2:56 PM

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! :)

#44 rocky007 OFFLINE  

rocky007

    Moonsweeper

  • 395 posts
  • Location:Belgium

Posted Tue Jun 14, 2011 3:21 PM

i'm very impatient to see final version ;) great works

#45 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Tue Jun 14, 2011 11:39 PM

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 ?

:)

#46 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Tue Jun 14, 2011 11:40 PM

i'm very impatient to see final version ;) great works

Thanks. :)

#47 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,777 posts
  • HarmlessLion
  • Location:BUR

Posted Tue Jun 14, 2011 11:51 PM

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.

#48 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Wed Jun 15, 2011 2:53 AM

Moving forward.
  • Set and display level number.
  • Reset numbers.


:)

Edited by sometimes99er, Sat Jan 7, 2012 6:57 PM.


#49 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Thu Jun 16, 2011 12:55 AM

Probably I'll implement the multiple palette choices ...

That would be great ! :)

#50 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • Topic Starter
  • 3,922 posts
  • Location:Denmark

Posted Fri Jun 17, 2011 1:15 AM

Small steps.
  • Calculate and display numbers on left.
  • Palette change (one more).
:)

Edited by sometimes99er, Sat Jan 7, 2012 6:57 PM.






Also tagged with one or more of these keywords: game, assembler, cartridge

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users