MMM rebooted

Página 1/5
| 2 | 3 | 4 | 5

Por inchl

Expert (83)

Imagen del inchl

20-07-2020, 23:44

In 1996 NOP released a preview of their first game named 'The incredible micro mirror men'. The game was never finished, but its development was rebooted in 2019. Since we gained over 20 years of coding experience the bar was set at the highest level in recreating our beloved game...

Via this topic we will post relevant development progress and "funny" test game graphics. To view, test or play any of the public released concept versions via webmsx, please visit our website.

http://nopmsx.nl > development > mmm rebooted
Last update: 20200720

Login sesión o register para postear comentarios

Por Manuel

Ascended (19469)

Imagen del Manuel

20-07-2020, 23:51

Finally! Smile

Por erpirao

Paragon (1315)

Imagen del erpirao

21-07-2020, 00:11

Yes, yes, yes

Por hamlet

Scribe (4106)

Imagen del hamlet

21-07-2020, 00:21

Nice surprise!

Por NYYRIKKI

Enlighted (6067)

Imagen del NYYRIKKI

21-07-2020, 05:08

I was pretty sad when I realized that MMM was cancelled. I liked the playable demo a lot and you had the bar pretty high already back then. Now it seems I can start waiting again, great! Smile

Por Randam

Paragon (1431)

Imagen del Randam

21-07-2020, 07:59

This is amazing news. Can't wait for the game. Are you also gonna include a level editor for it?

Por gdx

Enlighted (6219)

Imagen del gdx

21-07-2020, 10:51

I doesn't know IMMM. What kind of game is it?

Por Grauw

Ascended (10772)

Imagen del Grauw

21-07-2020, 10:58

The Incredible Micro Mirror Men is Lemmings for MSX! There is a demo from the 90s that you can play.

Por meits

Scribe (6544)

Imagen del meits

21-07-2020, 11:00

How nice. Getting something brand new of which I have fond memories of a quarter century ago. That's something to look out to.
You go guys!

Por inchl

Expert (83)

Imagen del inchl

21-07-2020, 13:38

The game is not edited, but programmed.

The level editor is very different than the one used in 1996. The 2020 'editor' is a windows console app that reads a json config file containing all graphics elements, sprites, audio but it also compiles several .asm code files on demand (using the glass compiler after parsing some custom instructions) for each specific level. These .asm files are in fact small programs each running 'simultaneously' and control, monitor and manipulate the game. For example: each sprite is controlled by such program and interacts with its environment. It checks if its allowed to walk to left, right, determines if its must fall down, stand-up etc. If you would like to have a door that opens or closes, you must write a small program for it.

The 'July 20, 2020' example on our website contains such small program to control a text balloon above the mmm sprite.

Main game loop:

			
		; create mmm
		call	sprite_create_SP
		dw	sprite_lemming_walk
		ld	(ix+struct_sprite..x),240
		ld	(ix+struct_sprite..y),231
		ld	(ix+struct_sprite..mirrorBits),4
		push	hl
	
		; create text balloon
		call	sprite_create_SP
		dw	sprite_text
		pop	hl
		ld	(ix+struct_sprite..follow+0),l
		ld	(ix+struct_sprite..follow+1),h

mainLoop:
		call	game_draw
		jr	mainLoop

Text balloon program:

bios:
		jp	initialize
		jp	cleanup

initialize:				

mainLoop:	
		; get mmm to follow
		ld	e,(ix+struct_sprite..follow+0)
		ld	d,(ix+struct_sprite..follow+1)
		ld	iyl,e
		ld	iyh,d
		; use its coordinates
		ld	e,(iy+struct_sprite..x)
		ld	d,(iy+struct_sprite..y)				
			
		; check which text to draw above the mmm	
		ld	hl,textTable-5
		push	hl
.find:		pop	hl
		ld	bc,5
		add	hl,bc
		ld	a,(hl)
		cp	255
		ret	z
		push	hl
		cp	(iy+struct_sprite..mirrorBits)
		jr	nz,.find
		inc	hl
		ld	a,(iy+struct_sprite..x)
		cp	(hl)
		jr	c,.find
		inc	hl
		cp	(hl)
		jr	nc,.find
		inc	hl
		ld	a,(hl)
		inc	hl
		ld	h,(hl)
		ld	l,a
		pop	bc
		jp	(hl)			
				
drawText1:	call	sprite_draw("text.png",0,0,109,20,2,-54,false)
		jr	mainLoop
								
drawText2:	call	sprite_draw("text.png",0,25,68,35,6,-54,false)
		jr	mainLoop

textTable:	db	4,0,50
		dw	drawText1	; grass foreground (walking left)
		db	0,0,20
		dw	drawText1	; grass foreground (walking right)
		db	0,45,70
		dw	drawText2 ; cool (walking right)
		db	-1
				
cleanup:	ret

Por Manel46

Paladin (674)

Imagen del Manel46

21-07-2020, 15:11

Two questions:
How do you get 130 colors? On each split screen, on each layer, is the palette changed?
How do you get 230 lines? Perhaps with set adjust vertical, R # 18?

Página 1/5
| 2 | 3 | 4 | 5