News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Devilmarkus

JavaCPC Desktop available as BETA!

Started by Devilmarkus, 22:46, 25 December 09

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Devilmarkus

It's quite simple:

That is, what my tool actually does:

First you find the tiles, and mark them. (Important: First tile needs to be in the upper left corner of the GFXViewer)

If you don't mark them, 256 tiles are used.

Then, when you start the "Map Generation", the tool copies all tiles as single bitmaps into an array.

tile[0], tile[1],.....tile[255]

256 tiles are max. possible. (8bit)

Now the GameMap Ripper opens and you can play around with the start address, width and height of the map you search.

It then simply does a for-next loop through X and Y and draws the tiles to a large bitmap.
Pseudo-Code:
address=&4600
maxtile=256
width=128
height=60
offset=0
for x=0 to width:for y=0 to height
drawTile(x,y,tile[PEEK(address+offset) % maxtile])
offset=offset+1
next y: next x
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

McKlain

This is fucking magic  ;D

TFM

Now: To make things round like a circle (don't expect me to tell you some sense here), like a dog that bites his tail - only one thing is left.... An export function for for Tiles and Maps to the CPC format (ManageDSK can put them to a DSK then, or maybe JavaCPC can do it already :-))




BTW: For developing Maps on the CPC you can use this one (German only):
[/color]http://futureos.cpc-live.com/files/GSEd_German_Release.zip
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Devilmarkus

You can export the selected tile range in GFXViewer as raw binary.

It's stored then in JavaCPC's folder with startaddress and length in filename.
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Devilmarkus

#404
I took a short video of how I ripped the map for "Into the eagles nest"

Erstellt von Camtasia Studio 8

(I already searched the tiles in the GFXViewer, they are easy to find)
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

TFM

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Devilmarkus

Little contest:
Who will be the first posting a ripped game map here?

Tip: Rip the game "Street Machine"...

Info:
TileAddress= &7D40
TilesNumber= 148
TilesWidth = 4
TilesHeight= 16
MapAddress = &3880
MapWidth   = 160
MapHeight  = 110
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Devilmarkus

#407
Working on new features:
- 16bit encoded maps
- Skippable lines for games like Cybernoid (Cybernoid has collision data between the lines)
- Mapper (To create gamemaps for games like Cybernoid)

Screenshot and video:

[attach=2]

Erstellt von Camtasia Studio 8
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

arnoldemu

I'll be copying this map export feature in the future ;)
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

TFM

Quote from: arnoldemu on 15:06, 23 August 13
I'll be copying this map export feature in the future ;)

In future? Wait ... these are my words! ;-) :-D
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Devilmarkus

Good idea to copy it ;)

Here a few more maps:

When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Devilmarkus

#411
@arnoldemu: Your first step should be an import function for such textfiles:

Example for Cybernoid 1:
TileAddress= &8323
TilesNumber= 170
TilesWidth = 4
TilesHeight= 16
MapAddress = &BA80
MapWidth   = 16
MapHeight  = 10
ScreenMode = 0
ModeLinear = 0
16BitMap   = 1
SkipLines  = 1


It feeds my GFXViewer and GameMap Ripper with required informations.

Of course the infos for the GFXViewer are compatible to WinApe's GFXViewer: (TileAddress, TileWidth and TileHeight)
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

redbox

Quote from: Devilmarkus on 16:39, 23 August 13
Of course the infos for the GFXViewer are compatible to WinApe's GFXViewer: (TileAddress, TileWidth and TileHeight)

This also tells me that a lot of good programmers didn't use exactly fast tile printing routines (back in the day).

Otherwise the tiles would have their lines in a different order...

TFM

That would work for certain screen ( x * y ) modes only anyway.


The most time consuming part is always to move sprites and not that much shifting tiles in from the side.


Further if a game has no scrolling, the difference remains in the ms region, so the user wouldn't mind.

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TFM

OK, who is the first to patch a level in such a game?
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Devilmarkus

You can't edit such a map (yet)
I did not implement writing tile indexes into ram.
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

TotO

Where are the R-Type (128K) maps!!!  ;D
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Devilmarkus

When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Devilmarkus

Added keyboard relocation from CPC window to GameMapper window.
So now you can create gamemaps on the fly, while playing:
CTRL + Arrow keys: Append new map screen to game map (at choosen direction)
Just arrow keys: move position marker around in game map
Space: Put actual screen to choosen position in game map
Delete: Erase actual choosen position in game map

Erstellt von Camtasia Studio 8
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

TFM

Quote from: Devilmarkus on 19:50, 23 August 13
You can't edit such a map (yet)
I did not implement writing tile indexes into ram.


That all can be done by hand. JavaCPC shows all needed addresses.

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Devilmarkus

#420
Quote from: TFM on 21:58, 23 August 13

That all can be done by hand. JavaCPC shows all needed addresses.

Thats true...

Well at least when you get the maps directly from ram.

Actually working on off-screen mapping...
(Capture gamemaps from CPC screen)

You can select an area on the CPC screen which will be the "Capture Area".

Then you can create a gamemap directly from screen in the same way, as the regular ram mapper already works.

Example: (No, I did not play the whole game! Just a quick & dirty test)
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Kukulcan

Hi Markus,


Very impressive  :D .


Now no excuse from user to sending map from game to cpc-power  ;D


But if you work on game not mapped by me it's more interesting LOL


Kukulcan

Devilmarkus

It's simple to find maps in ram...

I just finished coding the ScreenMapper (Capture game maps directly from CPC screen)

With this feature even every noob can create game maps.

Video:
JavaCPC GameMapper (Screen capturing)

The ScreenMapper is directly accessible from JavaCPC menu and does not need the GFXViewer or the RAM-mapper active.

Just start it, define a rectangle on CPC screen, and start mapping.

Define screen area is key controlled in CPC display:
- Arrow up -> move rectangle up about 1 pixel
- Arrow down -> move rect. down about 1 pixel
- Arrow left/right -> move rect. left/right about 1 pixel
+ SHIFT:
move rectangle about 8 pixels
- CTRL + Arrows: change rectangle width/height about 1 pixel
+ SHIFT:
change rectangle width/height about 8 pixels

Mapping is key controlled in CPC display:
- CTRL + arrow keys: Append actual screen at choosen direction
- SPACE: Put actual screen to actual position
- DELETE: Remove screen from actual position
- Just arrow keys: Change position
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Axelay

Quote from: redbox on 17:50, 23 August 13
This also tells me that a lot of good programmers didn't use exactly fast tile printing routines (back in the day).

Otherwise the tiles would have their lines in a different order...


Well I tend to think a lot of good programmers back in the day were good spectrum programmers, first and foremost.  ;)


But in this case, I can see that a number of the tiles (loot drops, missiles & the green guardians between pillars) all need to move vertically in pixel steps, so optimising tile line order to the screen characters perhaps wouldnt be practical without having an even greater number of printing routines than it already does.


Gryzor

Can't help thinking these would make awesome posters!

Powered by SMFPacks Menu Editor Mod