Jump to content
Fadest

CyberPunk experiment 2037 - a new project

Recommended Posts

This game is intended to compete for the 2020 Lynx programming competition.

 

It is rather ambitious (at least, it is very ambitious for me, probably too much), so I guess some external point of view will be usefull during the development.

Details and alpha (nearly) playable ROMs can be found here :

https://fadest.itch.io/cyberpunk-2037

 

 

  • Like 10
  • Thanks 1

Share this post


Link to post
Share on other sites

It looks great so far! :thumbsup:

Here's a couple of details that popped into my head from a self proclaimed graphics artist / designer point of view:

I think the first splash screen should be hand pixeled instead of scaled down (if possible), to be more consistent with the rest of the gfx that seem to be hand pixeled/drawn.

Another small graphical thing is that the Datatracking looks so impressive with the parallax scrolling, that the city part could use some details for a parallax illusion too. Perhaps just some one pixel stars that move behind buildings.

Edited by Turbo Laser Lynx

Share this post


Link to post
Share on other sites

Looks great.  I LOVE what you've got so far.  I'd suggest to not worry about keeping it within 256KB though... since Karri's boards hold 512KB.  :)

 

Share this post


Link to post
Share on other sites

Incredible start, I love everything about this! (although, I wouldn't use a similar intro/title graphic to that of 2077, or at least if you want to keep it similar, change the font and make it your own while keeping the yellow background).

 

The DataTracker is super cool, graphics work out just right for this style and the character animation is great. Agree that you should definitely push for 512KB as KevinMos3 pointed out.

 

Would be really cool to experiment with making some music tunes for this/for you to possibly use, but I don't know where to start when it comes to the Lynx side of music.

 

cpunk2037.thumb.jpeg.107a7cf70388b548a7d405179b912e07.jpeg

Share this post


Link to post
Share on other sites

So a quick search and I found that Duranik has a mod player for the Lynx that you can convert 4ch mods into lynx music, though I'm unsure how you implement the player or where you would find that. Has anyone used their tracker before?

Share this post


Link to post
Share on other sites
26 minutes ago, Clint Thompson said:

So a quick search and I found that Duranik has a mod player for the Lynx that you can convert 4ch mods into lynx music, though I'm unsure how you implement the player or where you would find that. Has anyone used their tracker before?

yes sure, you find the source code for asm and cc if you look for it. but it is very limited in terms of cpu, memory and supports no effects. But this was discussed already 17 years ago...

Share this post


Link to post
Share on other sites

@Clint Thompson Damn, the game looks super nice on a real Lynx!

I don't know what "music driver" Fadest wants to use, but when it comes to Lynx music there's actually a few alternatives at this point in addition to the mod player. More info about them can be found in this thread under Creating music for Lynx games:


- There's Karri's abc-music that is really easy to use, with abc/ascii notation.

 

- Chipper is a tracker that will give you fast results after the initial learning curve, also you can use your gained tracker knowledge on other trackers for all the other old computers and consoles. Here's a getting started guide for chipper:

 

- Then there's HandyMusic too, Karri's got a really interesting launchpad project going on for that:


 

Edited by Turbo Laser Lynx
  • Like 1

Share this post


Link to post
Share on other sites

Thanks guys for the feedback.

 

Don't worry about the splash screen, it is just a placeholder joke. I will do something different.

I guess graphics looks great on Handy and LCD screen (the starting points were very good) but probably quite unreadable on real Lynx screen, so I will have to tweak the palets (maybe keep 2 versions : 1 for LCD, 1 for older Lynx...) but this is something I will handle later (when all graphs will be ready).

 

About music, right now, I'm mostly using Chipper routines (should still have ABC routines somewhere - remember I'm still using the old newcc65 with BLL Librairies), but I guess I will be very tough on RAM, so the musical assets will have to be very tiny (especially it will be hard to have "big" songs). I know music and SFX are important (at least for people that do not put the sound to level level like me) but this is not in my priority list yet, but it should come very soon.

I'm already cheating a lot with graphics - mostly using full pre-defined background loaded from ROM instead of building it via standard routines. It uses more ROM, but less RAM and code.

 

@sage : is there a limit to the number of files lynxdir and LoadFileTo can handle ?

128, 256, int range (never experimented over 100 but I guess I should do so very soon) ?

 

I will try to put a new version tonight or tomorrow with some new routines : text display (with tiny font and multi-page support) and choice pop-up support and probably a new mission layout (more vertical).

 

 

 

 

  • Like 2

Share this post


Link to post
Share on other sites
1 hour ago, Fadest said:

I know music and SFX are important (at least for people that do not put the sound to level level like me) but this is not in my priority list yet, but it should come very soon.

 

I will try to put a new version tonight or tomorrow with some new routines : text display (with tiny font and multi-page support) and choice pop-up support and probably a new mission layout (more vertical).

 

Super awesome! Looking forward to the next build already 😃 and yeah, I'm one that feels the music is important as it gives the game an atmospheric feel, especially for this type of game.

Share this post


Link to post
Share on other sites

I know that the directory math wraps around when you exceed 4095 files. On Duty had 164 files only.

 

The Handy Music takes much less space than Chipper. I swapped the engine in On Duty because of this.

 

There is some other cool things that I use as standard that also saves RAM.

 

1) Separate loader segment that is called in when you swap content in RAM. It will just tell you the location of the next executable routine and it does the loading of the files (and bg music).

 

2) Separate loader and keyboard handler share the same memory area at top ram. There is no need to decode keypresses of joysticks while you are loading next level.

 

All SFX, music, joypad + kbg, loader code fits in above A000. The HM = Handy Music, SFX = sound effects, BALTI, BOSSA, MUSIC, TEQUILA are different BG tunes in the game. PCM samples are streamed out directly from the cart.

 

HM_CODE               00A000  00A604  000605  00001
HM_RODATA             00A605  00A62C  000028  00001
HM_DATA               00A62D  00A634  000008  00001
HM_BSS                00A635  00A719  0000E5  00001
SFX_RODATA            00A74A  00A842  0000F9  00001
KEYHANDLER_CODE       00A91D  00AB2D  000211  00001
LOADER_CODE           00A91D  00AD52  000436  00001
KEYHANDLER_RODATA     00AB2E  00AFB2  000485  00001
LOADER_RODATA         00AD53  00AD53  000001  00001
LOADER_DATA           00AD54  00AD56  000003  00001
KEYHANDLER_DATA       00AFB3  00AFB4  000002  00001
KEYHANDLER_BSS        00AFB5  00AFF9  000045  00001
BALTI_RODATA          00B000  00B9E9  0009EA  00001
BOSSA_RODATA          00B000  00B4C8  0004C9  00001
MUSIC_RODATA          00B000  00B51A  00051B  00001
TEQUILA_RODATA        00B000  00BC9D  000C9E  00001


The loader is like:

typedef unsigned char (*fptr)();

fptr loader (unsigned char index)
{
  lynx_load((int)&TILE_FILENR);
  lynx_load((int)&TILEPICS_FILENR);
  set_tilespalette();
  switch (index) {
    default:
    case 1:
        lynx_load((int)&ANIMATIONS_FILENR);
        lynx_load((int)&LVL01_FILENR);
        fixmusic(0);
        return lvl01;
    case 2:
        lynx_load((int)&ANIMATIONS_FILENR);
        lynx_load((int)&VEHICLES_FILENR);
        lynx_load((int)&LVL02_FILENR);
        fixmusic(0);
        return lvl02;

Called like:

static unsigned char loadandexec(unsigned char index)
{
    fptr lvl;

    lynx_load((int)&LOADER_FILENR);
    lvl = loader(index);
    lynx_load((int)&KEYHANDLER_FILENR);
    return lvl();
}

ret = loadandexec(next_block);


 

 

Share this post


Link to post
Share on other sites

New prototype of mission uploaded : exploration + display of a text from ROM (ugly screen - it is to test the font and text routine).

See itch.io page for download

 

At this moment, the missions are hard coded (apart Hacking which can read a random level from the ROM), so next goal is to rationalize and parameterize them in order to free some RAM and be more flexible.

 

@karri : thanks for the tips, I need to look into loading code from ROM with "old" newcc65, I may need this kind of tricks.

Edited by Fadest
  • Like 1

Share this post


Link to post
Share on other sites

Feeling absolutely at home with this and digging the neon Coke sign! 
 

Page text flipping worked but I did not encounter any bullets. Highly recommend adding the ability to run with one of the buttons depressed. Imagine that jumping is in the pipeline as well? 

Great work, loving it. 🤘🏻

 

7CE5944E-A97A-4161-BFCF-73EBDBBC35CF.thumb.jpeg.790ba8782fe6b986914d4199ef34a4c6.jpeg

Share this post


Link to post
Share on other sites

No big noticeable changes for a while. Spent some time on another project and something that is called "real work" :D

I mostly worked on making the game more flexible :

Now city/hotel/underground missions share the same code and are kind of scripted, so it is quite easy to add new one. But gameplay issues are stil there, and there is work on ennemies to do.

Data Tracking and Hacking many games can nom load levels from ROM (I made an Excel level editor for Data Tracking, and use Tiled for Hacking) and still need polishing.

 

Fujinet logon screen is done but nothing is ready after it :

fujinet.thumb.png.a27de58cdd9fe8c3387858b589a16fde.png

 

This week, I started the work on inventory module cause it will be needed in mission scripting (objects like weapons or ID Cards, Skills - for example : you won't be able to data Track if you do not have the helmet and skill, and some feture of data tracking will be locked) :

inv_01.thumb.png.83687a05b0d6af3e9c242b29b1b1e7df.png   inv_02.thumb.png.2fd56fcca9dd7f812750b544c4eaa577.png   inv_03.thumb.png.6ed6c0ccb8167c5fa39d6bda3a31cfc1.png

 

I hope to have a new demo ROM soon, I need to polish some things before in gameplay.

 

Edit : on music side, I decided to go with ABCMusic because it has a smaller memory use than Chipper.

 

Edited by Fadest
  • Like 5

Share this post


Link to post
Share on other sites

New version on itch.io :

 

Nothing really fancy. I will probably add new backgrounds soon, and work on scenario will probably be under the radar for august deadline.

This release add first implementation of Fujinet (access via the Fuji computer), Inventory (press Pause), Turrets are back (and shoot - but still need to be enhanced)...

 

Some bugs are corrected, some annoying things are still there. No running or jumping yet.

  • Like 4

Share this post


Link to post
Share on other sites

Nothing really important, I may have a more advanced on my hard drive, I don't remember.

My first intention was to make a full game in a rather short time (few months), so it implied a short scenario.

But I had to complete A Bug's Trip and made Asteroids Chasers as a replacement title for the Atari Gamer coding contest.

So now, I can take my time to create a real background, a scenario and try to make a better game overall.

So no time target right now. If I learn today I become unemployed in a few months, it will probably be on of my priorities.

Otherwise, it will be a slow progressing project :D

 

Share this post


Link to post
Share on other sites

Sorry to hear that @Fadest. My wife and me have to get some new work contracts in 2021 as well. I signed a Japanese style work contract that ends next May due to "high age".😎

 

Weird... I still feel young. Here at the end of the table on a break for dance judges two weeks ago.

 

123271795_3388747034572518_1383190033269710009_n.thumb.jpg.c8eadbe132d6f7ceaeb69de04b962920.jpg

Share this post


Link to post
Share on other sites

Oh, it's bad... Hope everything will turn well for you and your wife.

My situation is a bit different, I am volunteer for a leaving plan, with a project to create my own business, some cash and 6 months paid to help me, so that would not be a bad news in the end (unless I fail in the end of course).

Decision has been taken on monday, today is the deadline to communicate to candidates. In fact, I am still not sure which answer would be the best for me.

 

Share this post


Link to post
Share on other sites
1 hour ago, karri said:

Sorry to hear that @Fadest. My wife and me have to get some new work contracts in 2021 as well. I signed a Japanese style work contract that ends next May due to "high age".😎

 

Weird... I still feel young. Here at the end of the table on a break for dance judges two weeks ago.

 

Ha really? Japanese style would put you on a pure management post for the last years already.

 

Share this post


Link to post
Share on other sites
33 minutes ago, sage said:

Ha really? Japanese style would put you on a pure management post for the last years already.

 

Yep. I am fully aware of this.

 

So what to do next? My track record of being last in every competition shows that games is not my forte.
Dancing and acting is not exactly in high demand in 2020 as there is no paying audience anymore.

I have a friend who worked as a programmer. When he was fired he decided to become a professional saxophone player. He told me that he has a much higher status being an unemployed saxophone player than an unemployed programmer ;) 

This sounds like a perfect plan for me too! Besides, playing jazz is fun!

So now I just have to start practising on my 2-5-1 progressions on the piano.

Share this post


Link to post
Share on other sites

how about your lynx sound project? I am am still looking for someone to sort out my instruments 🙂

Share this post


Link to post
Share on other sites
22 minutes ago, sage said:

how about your lynx sound project? I am am still looking for someone to sort out my instruments 🙂

As Silly Ventures was cancelled I took a break from the project.

 

Due to isolation I spend too much time at home. So I started to clean up and threw away old hard disks. From the old disks I found all kind of old games I had totally forgot about. So I was daydreaming about what to write for the Xmas this year. AtariGamer may have a 2 day competition for fun.

 

While I was going through stuff I also listened to random youtube music and one title got me to think about a silly game that was released on the Amiga.

Here is the tune. Can you guess what the "game" is?

 

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...