Implement tiled multiplayer city simulation and scaling stages
This commit is contained in:
1 parent
3d4b29fedf
commit
3b1fcd996a
53 files changed
+7354
-13
No files matched your search
@@ -0,0 +1,15 @@
|
||||
import { readFile,access } from 'node:fs/promises';
|
||||
import { resolve } from 'node:path';
|
||||
import { generateWorldSync } from '../src/gen/generate';
|
||||
import { exportCity } from './export/index';
|
||||
const output=resolve(process.argv[2] || 'public/cities/balzers-demo');
|
||||
let ready=false;
|
||||
try {await access(resolve(output,'manifest.json'));ready=true;} catch(error) {if ((error as NodeJS.ErrnoException).code!=='ENOENT') throw error;}
|
||||
if (ready) console.log(`Prepared city already exists: ${output}`);
|
||||
else {
|
||||
const data=JSON.parse(await readFile('samples/balzers-2013.json','utf8'));
|
||||
const world=generateWorldSync(data.elements,[47.058,9.492,47.074,9.518],'Бальцерс',1);
|
||||
world.id='balzers-0-2-0';
|
||||
const manifest=await exportCity(world,output);
|
||||
console.log(`${manifest.city.name}: ${manifest.counts.buildings} buildings, ${manifest.tiles.length} tiles → ${output}`);
|
||||
}
|
||||
Reference in new issue
Block a user