Son İletiler

Sayfa: 1 2 [3] 4 5 6 ... 10
21
Kodlama / Ynt: Lale Savaşçıları'nı yeniden yazalım
« Son İleti Gönderen: Ref 20 Nisan 2025, 16:41:28 »
Ahhhh müthişsin! Ben bu iki hafta çok yoğun bir takvime girdiğim için hiçbir şeye bakamadım...

Eline sağlık :) Sanırım tek unify etmemiz gereken şey C# değil JS kullanmak :P

Resimleri extract etmen çok iyi olmuş. Bunların dosya içinde siyah beyaz tutulduğunu, paletin kodun içinde olduğunu konuşmuştuk. Nasıl aldın?

Onu ben de düşündüm ama visual studio gibi bir editörü bırakabileceğimi sanmıyorum :D Eminim chatgpt C#->JS dönüşümünü gözü kapalı yapıyordur. Hatta benim yazdığım berbat koddan daha temiz bir çıktı verir :)

Renkleri, iconlar için, aslında debugger kurcalarken tesadüfen buldum denebilir :D e komutu tüm hardware registerlerini dump ediyormuş. eh renkler de registerde tutulduğu için, ekranda görüntü varken debugger'den çektim, o biraz çetrefilli oluyor. diğerleri, bazı imajların paleti vardı zaten, o imajı paletli olarak yükleyip kilitleyip, diğer imajları sanki o paleti kullanıyor gibi denedim, onlar da oldu. Yani emülatör olunca bir şekilde kolay. Paletlere ihtiyaç duyarsan form1.cs kodları içinde bulabilirsin.

Bu arada kitapçıkta yazdığını görmemiştim, efsaneymiş yahu... o zaman asıl OpenFRPOS yapmak lazım :)))

Ben bu arada oyun motorunu düşünüyorum. First-person yerine izometrik bir şey mi olsa, voxel tabanlı bir şey mi olsa, tilt shift efektli miniaturized bir şey mi olsa... bir yandan da bunları kodlamaya çalışıyorum. Henüz tatmin edici bir şey yakalayamadım ama.

OpenFRPOS gidilecek en mantıklı yol gerçekten. Hem copyright etiğine de uygun.

Oyun motoru işini sana bırakıyorum :D Ben LaleMap diye başladığım için level çözümlemeye doğru kendi kendimi itmiş oldum biraz :D Bulmaca çözer gibi boş vakitlerde bir komut bir komut derken baktım büyüdü iş.

Orjinal oyun haritaları çok küçük. Oyunun "battle" görünümü yine oyun haritasından bir arena yaratıyor, savaşın gerçekleştiği hücre merkezde oluyor ve çevre hücreleri de katarak 3x3'lük bölümden bir harita yapılıyor. Her hücre aynı şekilde küçük dilimlere bölünmüş bu şekilde harita büyütülmüş ama haritalarda detay olmuyor tabi. Bomboş zemin ve duvar, arada çukur falan random spawn olabiliyor monotolluğu kırmak amaçlı. Yani hangi tarzı seçersen seç, ana haritayı biraz daha detaylandırmak gerekecek gibi.

Ben yine baldurs gate görünümünü seviyorum, grimrock'da bunu mükemmel halletmişlerdi, 3D first person ama 2d gibi 90 derecelere kilitli. onu tercih ederim.


Ben de bir taraftan Level editöre başladım, o sırada kalan bilinmeyen frpOS komutlarını da çözerim gibi geliyor 7-8 tane kaldı zaten.


22
Kodlama / Ynt: Lale Savaşçıları'nı yeniden yazalım
« Son İleti Gönderen: dashersw 19 Nisan 2025, 23:58:31 »
Ahhhh müthişsin! Ben bu iki hafta çok yoğun bir takvime girdiğim için hiçbir şeye bakamadım...

Eline sağlık :) Sanırım tek unify etmemiz gereken şey C# değil JS kullanmak :P

Resimleri extract etmen çok iyi olmuş. Bunların dosya içinde siyah beyaz tutulduğunu, paletin kodun içinde olduğunu konuşmuştuk. Nasıl aldın?

Bu arada kitapçıkta yazdığını görmemiştim, efsaneymiş yahu... o zaman asıl OpenFRPOS yapmak lazım :)))

Ben bu arada oyun motorunu düşünüyorum. First-person yerine izometrik bir şey mi olsa, voxel tabanlı bir şey mi olsa, tilt shift efektli miniaturized bir şey mi olsa... bir yandan da bunları kodlamaya çalışıyorum. Henüz tatmin edici bir şey yakalayamadım ama.
23
Kodlama / Ynt: Lale Savaşçıları'nı yeniden yazalım
« Son İleti Gönderen: Ref 18 Nisan 2025, 03:10:49 »
bugün akşam biraz daha ilerlettim senaryo okuyucuyu. otopark bölümünde tanınmayan komut yok ama belirsiz parametreler sürüyor. @dashersw kusura bakma senin seçtiğin isimleri zaman içinde keyfime göre değiştirdim, sen de benimkileri değiştirirsin ilerletirsen ödeşiriz :D

örnek: next map (0x0B) kodu 4 parametre alıyor, 2 2 tamam bunlar senaryo ve map dosya isimleridir (doğru ise bu parametre ile kendi dosyalarımızı oyuna ekleyip genişletebiliriz). 152 ve 3 nedir bilemiyorum. (edit çözüldü githubda var)

Kod: [Seç]
===== Event #3 =====
Header: 00 0D 00 7C 00 7F 00 82

0.Room Begin: (0)
1.IF isNotSet(2) Then SKIP 5 (7)
2.Print "otoparktan CIkmak istediGine emin misin? "
3.Input?  evet / hayIr
4.IF AnswerWas(1) Then SKIP 1 (6)
5.[break]
6.******* Next Map: 2, 2, 152, 3
7.Talk with face 1,"bu KapI Kilitli. anahtar gOren oldu mu ? "
8.[break]
9.End 0.

10.End.

11.Begin

12.Room End (4-0)


Gece 2 olmuş... Kaynak kodları bugün yarın github'a koyarım.
Şu anda fena gitmiyoruz, benim editör işliyor, sadece eksik komutları çözmek kaldı. gerçekten de bir OpenLale geliyor gibi...
  [ You are not allowed to view attachments ]  

Kaynak kodları github'da. Eventleri parse eden fonksiyon ViewEvent şurada:
https://github.com/ref-xx/LaleMap/blob/main/Form1.cs#L1349


bu arada overlay icon grafikler tamamdır. Sıralama executable içindeki array sıralamasına uyuyor, bir kısmını ordan almıştım ama sanırım 80 tane hepsini almam gerekecek. https://github.com/ref-xx/LaleMap/blob/main/Form1.cs#L81
  [ You are not allowed to view attachments ]  

extract ettiğim tüm imajlar github'da extracted klasöründe.
24
Kodlama / Ynt: Lale Savaşçıları'nı yeniden yazalım
« Son İleti Gönderen: Ref 15 Nisan 2025, 19:50:06 »
bugün biraz boş vaktim vardı, biraz senaryoları inceledim. burada yazdığın bilgileri alıp biraz daha öteye taşımaya çalıştım, hala birçok eksik var bu konuda:
bu senaryo 1 dökümü. %95 tamam ama hala benim kafamda bazı eksikler var.

edit: burası değişti. bir sonraki mesajda yenisi var

Her bir event 8 byte header ile başlıyor, 1 byte 0x00 terminator ile bitiyor.. burada 16bitlik 4 değer var. bunu amos array'inin belirteçleri olabilir, henüz onu denemeye fırsatım olmadı.
2 senaryoda haritada işaretli event sayısı ile senaryodaki event sırası birbirini tutmuyor. Örneğin, senaryo dosyasında 3.sırada olan silikon baba eventi, haritada 8 numarası ile işaretli. Aynı şekilde başlangıç noktasından geri girememe olayı haritada 6.event, senaryoda 1.event. Hmm şimdi farkettim, 1.senaryoda 5 event var, ordan devam ediyor numaralar belli ki. Bu durumda pixel palet datası 0-31 arası olmak zorunda olduğuna göre, önceki pixellerle çarparak daha büyük rakamları ifade ediyorlardır. son iki byte 1 1 olunca aslında 32 oluyor bu durumda?

[startFight: enemyId=13, count=1] aslında devamı var, her zaman devamında 4 byte daha oluyor. Bu startfight'e mi ait emin değilim ama öyle görünüyor.
yani startfight(enemy,count,var1,var2,var3,var4) şeklinde sanki ama emin de değilim.

0x0E Bu end/finish işlemi parametre alıyor gibi görünüyor. 2.senaryoda bazı bozukluklara sebep oluyor.
ileriki levellarda daha yeni komutlar ve parametreler ekleniyor. Yani biraz daha kafa yormamız lazım.

Halen haritanın entrypoint'ini bulabilmiş değiliz mesela. yani bir haritaya girildiğinde oyuncu nereden başlayacak ve ne yöne bakıyor olacak, bu bilgi nerede?


Kod: [Seç]
+--------------------------+-----------------------------------------------+----------------------------------------------------------------------------------------------------------+
| Hex Kodu                 | Komut                                         | Açıklama                                                                                                |
+--------------------------+-----------------------------------------------+----------------------------------------------------------------------------------------------------------+
| `01`                     | IF? `conditionalJump` veya `triggerBeforeEnter| Ardından: var, equals, jumpOver                                                                           |
| `02` (1 byte) uzunluk    | Print `displayText`                           | Ardından özel karakter setiyle metin DechiperRot(byte[] data) ile açılacak.
metin içindeki 0xAC karakteri carrier return oluyor. |
| `03`                     | Show `displayImage`                           | Ardından 1 byte image id                                                                                  |
| `04`                     | `enter room` veya "Update View"               |                                                                                     |
| `05`                     | `askQuestion`                                 | Ardından 2 byte: seçenek uzunlukları; Ardından özel karakter setiyle 2 farklı
| `06` ?? seçenek metni, her biri DechiperRot(byte[] data) ile açılacak. |
| `07`                     | `setVariable`                                 | Ardından var, value                                                                                       |
| `08`                     | `startFight`                                  | Ardından: 00, enemy id, count                                                                             |
| `09` + 9byte         | `inventory/yerde para`                        | yerde esya var dolar, mark, kivrik    ...                                                                                 |
| `0a`+1 uzu               | `print random, 0xAC ile ayrılmış metinlerden rastgele biri yazılır
| 0b-0c`??
| `0d`                     | `seperator`                                   | Blok başı veya özel gösterim (takip eden byte 00 değil ise başlangıç image olabilir)                         |
| `0e 00`                  | `finalState`                                  |                                                                                                          |
| `0f` ??
| `10`                     | `break`                                       |                                                                                                          |
| `11`                     | `displayTextWithFace`                         | Ardından: yüz kodu, uzunluk, metin                                                                                |
+--------------------------+-----------------------------------------------+----------------------------------------------------------------------------------------------------------+


dediğim gibi hala soru işaretleri var, bir lamba yanarsa buraya eklerim.


Edit: Kullanma kılavuzu sayfa 57'de bu senaryo editörü hikayesini anlatıyor. Görünüşe göre kendi formatlarını yazmışlar ve bu doğru ise 30'dan fazla komut varmış, bu durumda biz henüz yarısını çözebilmişiz.


25
Kodlama / Ynt: Lale Savaşçıları'nı yeniden yazalım
« Son İleti Gönderen: Ref 14 Nisan 2025, 15:57:15 »
Bakın ne buldum :))

https://gitlab.com/amigasourcecodepreservation/ultimate-amos/-/raw/master/pdf/ultimate-amos-1994-holborn.pdf

Bizimkiler bu kitaptan etkilenmişler midir acaba? :)) sadece iki sayfa ayırmış kitap ama...
AAa süpermiş :D
Bu hiç zor birşey değil, çocukların buna ihtiyacı olduğunu sanmıyorum. Ben ortaokuldayken yapmıştım bunu kendim çocuk aklımla.
konumuzla alakalı değil ama bundan ben de yapayım diyen varsa, şu videodaki adamı izledim geçen, bence bu sistemi en güzel anlatan bu arkadaş. Hem de bu videoda biraz daha akıllı bir sistemi geliştiriyor, görünmeyen blokları basmaya gerek kalmıyor, çizim hızlanıyor tabi. https://youtu.be/7L3hlafPcAU?t=327

Alıntı
Evet... haftasonumun çoğunu buna verdim ama sonunda sanıyorum bütün opcode'ları çıkardım, state machine'in nasıl çalıştığını çözdüm...

Detaylı analizi daha sonra paylaşacağım yazdığım tool'larla beraber. Bir sürü şey (doğal olarak) sandığım gibi değilmiş.

Armağan hocam, bakın bu türk retro aleminde nadir görülen anlardan biri. Şu forumun kurucularından biriysem tek sebebi bu andır :D 10 senedir forumun açık kalmasının sebebi bu küçük anlar. Tamam o da gerekli ama sadece onu aldım bunu sattımın domine ettiği bir retro kültürü beni çok darlıyor.  Bu gibi projelerin meyve vermesi nefes aldırıyor işte.

Alıntı
Tabii sürekli "bu adamlar bu formatı kendileri mi icat ettiler" diye düşünüp durdum.
yok hayır, zaten exe dosyadaki gömülü bankar data bank olarak kullanılmış. Fakat databank kesintisiz bir bellek alanı aslında. 1D bir array'den farkı yok. Veri formatı kendi icatları büyük ihtimal, yani zaten kompleks structlar değil bunlar, kağıt üzerinde hardcoded şekilde de halledilebiliyorlar. Yani oyun haritasını iff imajda saklamayı tercih eden adamlar neler yapmaz :D Benim tahminim oyun anında array'e yüklüyorlardır, ham şekilleri databankta duruyordur. Bu sebeple databanktaki dizilim array'i yansıtıyordur. Bu bir tahmin. Bu arada aslında Amos'da @doMiNO benden daha iyidir, şu ara aklı başka yerde, uzaktan izliyor :)

neyse sonuç olarak akşam databanklı, farklı dim'lere sahip compile edilmiş bir amos denemesi yapar koyarım buraya.
26
Kodlama / Ynt: Lale Savaşçıları'nı yeniden yazalım
« Son İleti Gönderen: dashersw 14 Nisan 2025, 12:19:17 »
Tabii sürekli "bu adamlar bu formatı kendileri mi icat ettiler" diye düşünüp durdum. Bir iki mesaj önce gönderdiğim kitaba da öyle denk geldim, yani belki bir tool vardır filan common sense kullanılan diye. Bir ara yanılmıyorsam @Ref bunlar AMOS Pro ile okunur gibi bir şey demişti... Şöyle bir kaynak var: https://amospromanual.dev/14-appendix-e-memory-bank-structures.html#05-work-banks-and-data-banks-stored-on-disc, belki biliyorsunuzdur.

Belki bu kısımda @Ref yardımcı olmak ister :) ben AMOS Pro 2.0 diskini açtım ama bir DIM yazıp save ettirip dosya neye benziyor diye bakana kadar akla karayı seçtim ;D

Neyse, çok keyifli bir serüvendi... şimdi artık iş ciddiye binebilir. Elimizde teoride bütün haritalar ve bütün senaryolar programlanabilir bir şekilde var. Ben arkada kart oyunu için bir combat engine zaten yazdım, aparılabilir. Inventory management, art work, biraz güzel savaş mekaniği... karakter yaratma vs... elimizdeki işler bunlar :)

2. level'ı da yapıp Özgür'ün kapısında dayanalım diyorum :)
27
Kodlama / Ynt: Lale Savaşçıları'nı yeniden yazalım
« Son İleti Gönderen: dashersw 14 Nisan 2025, 11:26:44 »
Evet... haftasonumun çoğunu buna verdim ama sonunda sanıyorum bütün opcode'ları çıkardım, state machine'in nasıl çalıştığını çözdüm...

Detaylı analizi daha sonra paylaşacağım yazdığım tool'larla beraber. Bir sürü şey (doğal olarak) sandığım gibi değilmiş.

Şimdilik sizinle ilk bölümün ilk event'i olan köpek dövüşünün senaryosunu paylaşıyorum:

Kod: [Seç]
[
  {
    instruction: 'triggerBeforeEnter', // 0x01
    condition: {
      variable: 0x01,
      equals: 0x01,
      jumpOverIfTrue: 0x01
    }
  },
  { instruction: 'enter' }, // 0x04
  { instruction: 'displayText', text: 'disaridan garip hiriltilar geliyor... gercekten disari cikacak miyiz?' }, // 0x02
  {
    instruction: 'askQuestion', // 0x05
    question: ['Evet', 'Hayır']
  },
  {
    instruction: 'conditionalJump', // 0x01
    condition: {
      variable: 0x02,
      equals: 0x01,
      jumpOverIfTrue: 0x01
    }
  },
  { instruction: 'break' }, // no condition 0x10
  { instruction: 'enter' }, // yes condition (with jump) 0x04
  { instruction: 'finalState' }, // 0x0e00
  {
    instruction: 'conditionalJump', // 0x01
    condition: {
      variable: 0x01,
      equals: 0x01,
      jumpOverIfTrue: 0x02
    }
  },
  { instruction: 'displayText', text: 'burada olu bir kopek yatiyor...' }, // false condition 0x02
  { instruction: 'enter' }, // 0x04
  { instruction: 'displayImage', image: 0x0d }, // 0x03
  { instruction: 'displayText', text: 'hiriltilar bundan geliyormus !!!' }, // 0x02
  { instruction: 'startFight', enemies: [{ id: 0x0d, count: 1 }] }, // 0x08
  { instruction: 'displayTextWithFace', face: null, text: 'ne dellenmis ki bu hayvan yahu?' }, // 0x11
  { instruction: 'setVariable', variable: 0x01, value: 4 } // 0x07
]

Bununla senaryoların büyük bir çoğunluğu çözülebiliyor. vAmiga ile memory'deki her byte'ı anlık olarak değiştirip ne yaptığını inceledim, jump komutlarıyla senaryoların rastgele yerlerine gitmek çok keyifliydi :) Daha sonra 2. 3. bölüm senaryolarıyla çakıştırdım.

Şimdilik bu işimizi görüyor gibi. Engine tarafında her şey deterministik. Sadece içime sinmeyen tek heuristic, o da aslında doğal, bir event'te tek bir 0x04 yani "tile'a girildi" opcode'unun işlenmesi. Bir de eğer tile'a girme trigger'ı yoksa, girildi opcode'unu bulana kadar devam ediyor.

Aşağıya 1. senaryonun raw hex halini paylaşıyorum, yukarıdaki tanımlarla takip edebilirsiniz diye umuyorum. Dosyada 32 byte header var.

Kod: [Seç]
41 6d 42 6b 00 64 00 01 80 00 02 eb 44 61 74 61
20 20 20 20 00 05 00 e8 00 13 00 6a 00 e4 00 e6
0d 00 01 01 01 01 04 02 47 5a 3f 49 57 68 3f 5a
57 64 16 5d 57 68 5f 66 16 5e 3f 68 3f 62 6a 3f
62 57 68 16 5d 5b 62 5f 6f 65 68 24 24 24 ac 5d
5b 68 39 5b 61 6a 5b 64 16 5a 3f 49 57 68 3f 16
39 3f 61 57 59 57 61 16 43 3f 4f 3f 50 16 35 ac
05 04 05 5b 6c 5b 6a 5e 57 6f 3f 68 01 02 01 01
10 04 0e 00 01 01 01 02 02 1e 58 6b 68 57 5a 57
16 45 62 4b 16 58 5f 68 16 61 45 66 5b 61 16 4f
57 6a 3f 6f 65 68 24 ac 04 03 0d 02 21 5e 3f 68
3f 62 6a 3f 62 57 68 16 38 6b 64 5a 57 64 16 5d
5b 62 5f 6f 65 68 63 6b 49 16 17 17 17 ac 08 00
0d 01 00 00 00 00 11 00 20 64 5b 16 5a 5b 62 62
5b 64 63 5f 49 16 61 5f 16 58 6b 16 5e 57 6f 6c
57 64 16 6f 57 5e 6b 35 ac 07 01 04 0f 00 04 00
00 b9 00 13 00 0b 00 b5 00 b7 0d 00 04 0e 00 01
01 02 03 03 20 11 00 1d 38 6b 16 5e 5b 68 5f 5c
16 5e 57 62 57 16 57 6f 3f 62 63 57 63 3f 49 16
63 3f 16 35 ac 04 03 20 02 36 58 6b 68 57 5a 57
16 58 57 6f 5d 3f 64 16 58 5f 68 16 57 5a 57 63
16 6f 57 6a 3f 6f 65 68 24 24 24 ac 4b 69 6a 4b
64 4b 16 57 68 57 6f 57 62 3f 63 16 63 3f 35 ac
05 04 05 5b 6c 5b 6a 5e 57 6f 3f 68 01 02 01 01
04 09 05 00 01 00 03 00 00 00 00 01 01 02 01 04
11 00 21 38 3b 6f 62 5b 68 16 58 6b 68 57 5a 57
16 58 5f 68 16 57 64 57 5e 6a 57 68 16 58 6b 62
5a 6b 63 ac 07 02 04 0f 00 04 00 00 84 00 0d 00
7c 00 7f 00 82 0d 00 01 01 02 05 02 29 65 6a 65
66 57 68 61 6a 57 64 16 39 3f 61 63 57 61 16 5f
69 6a 5b 5a 5f 3d 5f 64 5b ac 5b 63 5f 64 16 63
5f 69 5f 64 35 ac 05 04 05 5b 6c 5b 6a 5e 57 6f
3f 68 01 02 01 01 10 0b 02 02 98 03 11 01 29 58
6b 16 41 57 66 3f 16 41 5f 62 5f 6a 62 5f 24 ac
57 64 57 5e 6a 57 68 16 5d 45 68 5b 64 16 65 62
5a 6b 16 63 6b 16 35 ac 10 0e 00 04 0f 00 04 04
00 00 32 00 06 00 0b 00 2e 00 30 0d 00 04 0e 00
11 03 1d 58 6b 68 57 69 3f 16 57 63 63 57 16 66
5f 69 16 61 65 61 6b 6f 65 16 58 5b 5b 16 17 ac
04 0f 00 04 00 00 80 00 10 00 5a 00 7c 00 7e 0d
00 01 01 51 01 04 02 21 39 3f 61 63 57 61 16 5f
69 6a 5b 5a 5f 3d 5f 64 5a 5b 64 16 5b 63 5f 64
16 63 5f 69 5f 64 16 35 ac 05 06 07 5b 63 5f 64
5f 63 5a 5b 3d 5f 62 5f 63 01 02 01 01 10 02 10
5f 6f 5f 16 45 6f 62 5b 16 65 62 69 6b 64 24 ac
04 0e 00 01 01 51 01 04 02 16 39 3f 61 6a 3f 61
16 5f 49 6a 5b 16 64 1d 65 62 59 5b 61 16 35 ac
07 51 04 0f 00 04 00

Bu arada en sevdiğim şey "display face with text" oldu. Konuşma sekanslarını gruptan birine yaptırmak için karakter parametresi alıyor, null verilirse random bir karaktere söyletiyor :))
28
Kodlama / Ynt: Lale Savaşçıları'nı yeniden yazalım
« Son İleti Gönderen: dashersw 14 Nisan 2025, 11:17:13 »
Bakın ne buldum :))

https://gitlab.com/amigasourcecodepreservation/ultimate-amos/-/raw/master/pdf/ultimate-amos-1994-holborn.pdf

  [ You are not allowed to view attachments ]    [ You are not allowed to view attachments ]    [ You are not allowed to view attachments ]  

Bizimkiler bu kitaptan etkilenmişler midir acaba? :)) sadece iki sayfa ayırmış kitap ama...
29
Kodlama / Ynt: Lale Savaşçıları'nı yeniden yazalım
« Son İleti Gönderen: Ref 13 Nisan 2025, 19:59:51 »
Sizlere bir sürpriz yapayım dedim ama beceremedim. :) İstanbul Efsaneleri'nin 1995 yılında çıkan mavi kutu kapağı/posterini yapan kişi arkadaşımdır. Kendisinden duruyorsa orijinal çalışmasını isteyecektim ki daha İstanbul Efsa... demeye kalmadan epey bir tepki aldım. :) Detaylara girmeyeceğim ama anlaşılan geliştiren ekiple iyi ayrılmamışlar. Paylaşmak istemedi. Preservation konusundan Unesco'ya varıncaya kadar bahsettim, "gidin yeni oyun yapın, uğraşmayın böyle şeylerle" gibi laflar etti, ben de daha çok üzerine gitmedim. :D

aah bu büyük şanssızlık, normalde gençler birlikte iş yapınca para konusu ikinci planda kalır diye düşünür insan. biraz gençlik aç gözlülüğü biraz da baştan anlaşmayı ciddi şekilde yapmayınca yani sonuçta bir "business" bu, fakat kabul etmek lazım, oyun yapıyorken pek ilerisini düşünmüyor insan. belli ki arkadaşın hakkı yenmiş, ama sözleşme (muhemelen sadece bir el sıkışmadan ibarettir) ileride yürünecek yolu kapsamadığından yapacak birşey de yok, kırık kalp ya da söylenmiş kötü sözlerle bitmiştir.

Olur öyle şeyler diyoruz (shit happens baabında) ne diyelim.
30
Kodlama / Ynt: Lale Savaşçıları'nı yeniden yazalım
« Son İleti Gönderen: Skate 13 Nisan 2025, 06:44:16 »
Sizlere bir sürpriz yapayım dedim ama beceremedim. :) İstanbul Efsaneleri'nin 1995 yılında çıkan mavi kutu kapağı/posterini yapan kişi arkadaşımdır. Kendisinden duruyorsa orijinal çalışmasını isteyecektim ki daha İstanbul Efsa... demeye kalmadan epey bir tepki aldım. :) Detaylara girmeyeceğim ama anlaşılan geliştiren ekiple iyi ayrılmamışlar. Paylaşmak istemedi. Preservation konusundan Unesco'ya varıncaya kadar bahsettim, "gidin yeni oyun yapın, uğraşmayın böyle şeylerle" gibi laflar etti, ben de daha çok üzerine gitmedim. :D
Sayfa: 1 2 [3] 4 5 6 ... 10