Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Vapourware Codexian Game Development Thread

zwanzig_zwoelf

Graverobber Foundation
Developer
Joined
Nov 21, 2015
Messages
3,084
Location
デゼニランド
So, the movement is done, currently went back to the combat system. Let's hope that it won't fuck shit up like the last time...

Also added SMAA just for shits and giggles. I still need to tweak it, though, but it makes the dungeon lines look less jagged, which is not bad, really. Since it qualifies as expensive IPP (~20% fps drop), it will be an optional effect.

Comparison:

SMAA on:
fmmACb4.png
SMAA off:
1LuYHQP.png

[shamelessplug]
Also released the BGM sketches here: https://surt-r.bandcamp.com/album/das-geisterschiff-sketches
[/shamelessplug]
 

barker_s

Cipher
Patron
Joined
Mar 1, 2007
Messages
806
Location
Poland
Codex 2016 - The Age of Grimoire Grab the Codex by the pussy RPG Wokedex Strap Yourselves In Codex Year of the Donut
Some more progress on my hex terrain:



I had a hard time figuring out how to handle multiple textures on a single mesh. After lots of unfruitful research I decided that I need a custom shader. Good thing I bought Shader Forge on a sale some time ago. Even though I'm shader-illiterate, I managed to cook up a triplanar shader with splatmap support, which allows me to have 5 different texture sets per chunk. I'll have to work on it a lot more to include some other functionalities I need, but as a proof of concept it works fine. Next I'll work on better/smoother transitions between textures.

The editor is rather slow at the moment (epsecially while placing bigger terrain features), but I'll get it optimized eventually.
 
Unwanted

jcd

Punished JCD
Patron
Joined
Jan 4, 2012
Messages
10,681
Location
UNATCO HQ
Codex 2014 PC RPG Website of the Year, 2015 Codex 2016 - The Age of Grimoire Bubbles In Memoria
f5bd21efb0f28be06ccfe7933bfadd0e3d95083e634e451c903312bec2e425c7824c60a3d52017ce35e8ba28db14c5b28f51b988600fcab838bb2cd30b69132c81b81c58c3c4d45fe15bc6a5c12ae48e8a33a9638dca886d57432bf9c28d4ce60f61b7d7fe84ac60100df68e7dbe5621402d0dbb47f545c28ed450cf4f22d40d4335e68439d2f2a6c2832b4ca8e9616602752424c5b0f82351dafe9fffa404c578fca9dd93aa63d245c9d70f78b163b7728e3126d26e1767ca6c46c5de250aa5256eb051fcffee777290de61cf6a359e5776b8d8f3cfdfe7b4607fc6d8b9cc90dc630b22f5845063057418e6397d59c289522385f90866776802f52f3bccd67309f97cfc9bb864e99936c0aa219da7532edc1a495a8e2cdac24870fd8bb6520d481afe5f9b135c4c406c082405f7a3087dd58e3c7d0b1ba06722c6c0ab6769bbd44e0531df1bb92b1fb32cec92d6f7f8a3bd412097153c24b6c8a7139f9f82c664414d90096581065396888e8a150644594810c9c50e664a0e6948e0c94a09fff175b3f85d9037d423bdf7257b10292d4b033e53271a7dfe4b86e42a8c10e6a6269d830e9261b3b8468b85ac7d381b264764f9d897ab332814dc49eb7a8b1bb319812b97ca69a583ef26a958fe5a07214c3e98d6a9e2c76d6573ddc96f60481d1708eccb2aeea3f0fb363fcc7b58b8c85e099ae3aa9563bb50fcc444b434063b92d700fc86362819ede3f5cf32cded591771108d9f1bf900f7280e6ca0bf5a4a4557eb97a4ed97308b31181a70e3c837d581a14fdfeb6bb9601fba83e4f04b84d5042fdd2a2b48f98fc1c9eae942166ad2a31b00b3938158d246550a12e1914a07932dfa1057bb0f315a831dbc34465bfc04ee1c0f1939f581ed9945713890176d0bf8f4bf54b8e58ca6fa0b595fca1c5f8aaca4c78b0bf2b4fafab463b21383ebd4ed8262f68f2a1d45d06734397968afec3ab1d5e9c7dbcb1f51dbe52d2e7400804c3c1ca30af91d8126c39774171fcb7802b085657243a247e7799aad6c4e86596c1a40f0c323aa2ccfbbe6c13544b594e3dbb0c24f7c029b13c1f7974b3261ae8c79c55919e72d403466353be093d08ab17e803c0301c92a34edaba60c33332f4602561ec250b98f61b2d0e575f2df8b76eaf8e3e4627e1ef4a45e5fa8f8ec737ea6ceb0908d66a936666e7b5c9b4f71fafb7b6fb04117dd828931a85389539cb0c4f9ea105f9d39e00082d4a27934e6e6ef0a8cf025b28d86db503a12ad686d1acd71a079785c6b61d56f9cf685ff5616ca750532cff3ac9fcb1a84b207c1df4249adee1417080ea3df40698addcf8b8bd7e0689add08d2ab063a4e2271db008a5c5c4dc19c6081edbfb520bff960f17f314d09883c3fea99f960a928b2c1dad9dc73eb0883401493bbe04d8148b76878f69186d9657c462b5a8e104cd8f9a50fc0142a5aca642d01fa1a4bd7220eb70e4c7de9c007a81fed02187f4d85b81b3626849c48c89edb0199d29ea6879dc028eedfbff6c61872e17af677b05ea37a08524f00af67da79189d5e723b0bc9a8aba540f991e17cc81b74912b56eae1cd4c28c42bb50799727019da549a7945443334398f0643096f9c1fae1b624f2d4b03cd88dc40ced6997f46035d163f2ba888f9a3a417b9fedcb75442d10d27faf273a254ba79b5bd5082a9bc6ba57578dc99c61fb362601e86d51d1ab9ae8f103abd2a41a9e7b9a513eeaa93e60016b5f79b58ca7481db1cdf6b31ceb1845eafeefb78385264ca8fe4282beae89b9c21d894ac7a38b99ee25afc05deceb8b2b4d31cdac7b7ad91346e83c74a16099164c0bdba36e439f4da6f2cd84771e545716ea19b82f1064d5299e3f4722ece83d208bc2e15ad7f426ce05c5973830ffebaf5b8d50644ebd43223bd85c964b51698338cb3cd57e880f4efbf72e21146ea601c040505db7f197fd42f1cc8253ce6a831527fe80d0f6bbce989a1c36c02dc63da53d266032dbfe03b4c48e52e3bef256968079603680eaa556385dc830ca9791bd37a33cb19307eb09a4472e18ee577d3fdeaee81c4e728f9cd4da924758f8946e1bc24722f2d65eb9146ca19f2a5684fcd695a5242457a27903657d63227db4aa3701d9f37b36cee475b65a6a8142088b5684a57c54f2dc5c78a49afbee14751ee0d966238ed81bcbb695866a87e5fc732e8e225720f8d545936d63d4f355faf063190ea1959c50b6712c1350adb27a9b73030070667d67c2e45534ae02261ed3f93f09a5095ba6c5284f768f52d0934c075038465943640696072d88106b861042e39866df58c6155e260731b40da019ae01b3f7234281fc18f8a8fb3f7b4a987cb19a772d959f74106604b884ebde4bd1e3b30fa5478e7297d82fb5b6e9c03d812af38544ab2b9f600f4ed10df1eac49984733d08bec2de157c08e3e734dbe5ef4aa68ae50d09583cbee65d4fe547f1626a328c96faad311a44f72687e776f38edc2f521f5605b2484d24c450e27ec38f7f9225a4d7c67edce5926fd2345d538cd5986426bc789376426c9be7434ae245a9217537a3aaa421594123ecdf71b6a998afc510cff57f6d7c562d84db96e7a289d03091cdebeae0928614459d444493a90385fc8160166ffabfe00bab11e62a20e598321501e5c22be8ff7edcaecc5cc274b2d7e43805ad605e815dbdf4a80115e66e12d505673ceb590b37e22885a688e27d1d38a8a474548610e0aceb942b7b52df5b139428fd364568f5ce9035afe35685d147edf8593f1a720bad9c33a84e20af8149f8fa7514d4c5fedeb29816864c505cf51764bdbbcc98d181fd95067a813fc32c3aa369e9a1ac29ac4f206008e6d1e72fed45e742110f02db205d0ab2917ce47b99645601bbef7d5fbe33eaa3fcf82391db4861d13458d7ab25591b8eb06fb22d29fde2b2ff32e980c18c92e9d958cebcc2e573f973c162abdff287de34868fd36b16355d6fb3ae516e894207a930685a8cbe9b044b9c4f78eb1423f7d79f00bf9f018313c29dc395a1be1c1d393d2f13268e74707ca215927dafe0b8ca5f1eebeed92fe4efa467864cfd579388ba5bf8ebfa030b2b7195405c4842594f131ee38612dd88a1420a650766853f14dd2d9ccaac2e506161f76bb9e803a3628a878ad0fd5e59cb168b36f2a33a05fc1637fc566a695e8da8c47ec4080690ffd8d88552a4ea6c3ecb8a5ae0d4903c10511148c7b760c66a25885038e2a5b4e6e2dceb309f5e1a92775b377ed121910d87232f2af95eb337e0bc8a7c3c08770b4246774bc5f5baef09db8300e34f6e8bbcadf946a35cc3c2882c7d76fa900c949d336cde0b1ca1e674789e8948b802b8be1783270fb1c5f5cfeaa237ded0aabb53aabe1aa5b2eec66014bcc63e9f871e89aafe0a7521970729f0f927094f5bc8e55d568c4909913f322859bc552447f8e7cbd51220f09847e48d43cdb166a70dfdbed9456e267efa13b0c9332259ccf79962fe8feff50b17682e40e3dd0681c493029af888585cd9b5ed79f6653518655f8ed02f36e9e1c8100c89ebeeaccaf7d3e4b0a8146e5909225e416d2d24b45cf6a6a30e98829cc60b25bb66f009bc95cef00d8f5195c38fd8eea092e69224bf26465a13243ebec2aa63c857f3079a7f77c9285773ed96b2fa4a06531d1b3b7756ec734e549d21d1f3b90e0292349ad66228b2550bc08258e3adb0b2d4fc4a66f8152a3484bc76ffd7b836732b0b4e21db914ab0f8fb10a2eaf647df733fecd634f427f5799e952058452061b27137495daa3602099840c8fe0026580dcfe13ba1daa3848bc4ae371f3a6ab39a328a0afecdf0174a1f7ba434d72e66ff676dd3d60ecaa043f7e631e7a40127e92fb6114e2dccbccc24f6fd2c5b4cd2201158ceac46ab0a6a86b2da1f338480f08e2810b74c8aa30dc435c9cf5712ac5a2553a99241e7cab03b95fdfffa86af3158e338e66fcd7f145b5023fa2349236930804a65ce033eb2d1b06989ec22d6dbc34a38a2c79890025855fae922a651aefa17b16d3ba05974f8be55b98db61c0c055add6c16991f80f417b321dd989b271489bddbe715f48db611b50ada542500c236fb1947b89aaeef7fac51ed8c85d9e21f47c334b66d142317a724141d9f70eaa6b44300680ec755c5a5dd68f201db440e90a5d3cc1cb3be346a799df78889d4aae4812a091722759b0058633075bedb9dfcd283da1305f6a8504d40667a85b6db8eaa17ae665a1d94e4072a0ff9705953bfda0a5a53d2d998a44c4897643c13bf2cba896e03d4235b8d6301d8853492b808fb9f11cc80f9568bc0f28266f5afabf0c1d082932f32bff987dae7536da23beee49d7eb88d3146bfa1627a6db4b3bad7ec1c99d46bad239e427a1c172d641b68f7e17fa31542955e08fa99a08a1b1d6ba4a133393550cac54f6ef0bf1820003413cbcc32fe9431d2994b3633425fdbcbe0fc33d81dbac45c6c21b4daa2979bccc251ccba2ece60b047280e2553769beac1fcbb343b02c90189a866e5a8aedbbfad2282d49c3854de2503d99d9b2f42c3aac150f6b0a1aee2224fff8c06a7ffe235ae1ba53dd0bac36792f2db834a32ee277036839647b52d09f10918ea171562b712e08eeced3188fc83556888c51ad7e7ea46c1c0b42a819c12092dd140426bb0b3ce0e799aaea5e83622ece5679d109d52d3d4038c1d4d2f197a0187aea222424c43342fdef72004e2a8ec0d4d8b6166480fbcf0eb198871bcf79d72cabde3a6f0f4876d1ca5cf907d4675637f2f8cb83b4c8e98856e36ab9491a7893e3e1fa8626ad1c14d6f23fe423f18e43b215f09cf671be88185bb089d5c404a183c4d7a8d4fd32e3112c362e65310546b7bb3b4eadee6ad223dc48311c1c6d3b190f96c531543b46965f2ccbc99b3ac89e44d480574df9c5415a3286926810f9af4ff7b654c13afa2e2b3f6244f5a361fdfc7b7bbf38f811b1e97844d06ffb9a1e74ea55c321c87cfe8548a7c884ee308755941cbd2a816714d324deb91a14f807424499b47532526b86f068151c3771de896353abc421e9b454643e0f887ac0bd66d4c0afd4b35afb94069de9df5d553578e590780d6504adb6cd9d92741dcee9c0a41f844b44ba7bba0bd1b4f42e8b03be65d1558156f23089b0d63643f08f57abe03ff21b7b6720e24c2d642f374dc5d1e84c9adc83f2cbb4bec993c01bb2f5711382da91fe70bddc1c22d49118ddc40f2f4ca1fa0210be79ae7aebdaf9c93e39d28fa61db3339690924e6fb15ba6b55c363c5f71f70010876eb40520ad60e2a41440718845c260fe88478bc2da4a91d70282bf9f975837425a9a2fee2447f0509869eeac154f9008a2e9fb5e1996c67dbb3018e854a97a129070d27ff2974c199999cbe1265cf82c1488bb5b967b7970cc889ec4e556df925484468a05613128d9e7e70d23582e96037b8f139eb0aed7c191b25f36c1e3c5396202284532e91d8688a5adb4d350904c26ef130d4ffabd7c9fdcc4a0bb1dd34be88eed3a3f874874d040bb59f49341f90e2d07b3c94d0f57f3df20cbc098a9bc9d84b6b89e4365c8cc9fa785f3de443ab875e57436599db0423f70aa1fbba826e03dcd173ddc408290105bd5d166cbfd94c69844ca41281e64b63e7d3abdeb205e64b711d64377c099a413d4b2cbc565f8b45327eb9a8b8573230226afe566b2df06652d358fba1c2c0659c9a25a3bc6cb2ab7a9233c41f1d79b15c3c98da08db1cd021ce8e8b20ec987a16c9f7db4df1dfeff36d29580938760a613e9e450ddfb1a
 
Last edited:

Mastermind

Cognito Elite Material
Patron
Bethestard
Joined
Apr 15, 2010
Messages
21,144
Steve gets a Kidney but I don't even get a tag.
working on a metrodivania type roguelike and my character keeps getting stuck for half a second when hitting a block above him and I can't figure out why

:rage:
 

Zep Zepo

Titties and Beer
Dumbfuck Repressed Homosexual
Joined
Mar 23, 2013
Messages
5,233
working on a metrodivania type roguelike and my character keeps getting stuck for half a second when hitting a block above him and I can't figure out why

:rage:

When checking collision , height of character higher then your check for collision. Maybe character is getting stuck in wall briefly while your collision check pushes it back to a safe space?

Zep--
 

Mastermind

Cognito Elite Material
Patron
Bethestard
Joined
Apr 15, 2010
Messages
21,144
Steve gets a Kidney but I don't even get a tag.
working on a metrodivania type roguelike and my character keeps getting stuck for half a second when hitting a block above him and I can't figure out why

:rage:

When checking collision , height of character higher then your check for collision. Maybe character is getting stuck in wall briefly while your collision check pushes it back to a safe space?

Zep--

My collision never pushes it back, it checks with every pixel I move if there's gonna be a collision and stops movement before it happens.

The issue, as far as I can tell, is that my character is still trying to push as if it was trying to complete the jump even after it hits a ceiling and (should) start falling instead. Figuring out what's wrong is 80% of the battle, it's just a matter of me molesting the code so it stops doing that now.

edit: Fixed. :smug:

Now I gotta wait a week before I can work on it again. :negative:
 

Zep Zepo

Titties and Beer
Dumbfuck Repressed Homosexual
Joined
Mar 23, 2013
Messages
5,233
The issue, as far as I can tell, is that my character is still trying to push as if it was trying to complete the jump even after it hits a ceiling and (should) start falling instead. Figuring out what's wrong is 80% of the battle, it's just a matter of me molesting the code so it stops doing that now.

Possible that even though it detects hitting the wall during the jump, the jump code is still trying to execute it's max jump height even though the wall keeps blocking it? That would cause a delay.

Zep--
 

Mastermind

Cognito Elite Material
Patron
Bethestard
Joined
Apr 15, 2010
Messages
21,144
Steve gets a Kidney but I don't even get a tag.
The issue, as far as I can tell, is that my character is still trying to push as if it was trying to complete the jump even after it hits a ceiling and (should) start falling instead. Figuring out what's wrong is 80% of the battle, it's just a matter of me molesting the code so it stops doing that now.

Possible that even though it detects hitting the wall during the jump, the jump code is still trying to execute it's max jump height even though the wall keeps blocking it? That would cause a delay.

Zep--

Yes, that's what I just said.
 

Bester

⚰️☠️⚱️
Patron
Vatnik
Joined
Sep 28, 2014
Messages
10,992
Location
USSR
http://www.defold.com/

Minimal build size
2016-08-30_16-18-39-768x452.png


Looks like random engines are taking the battle to Unity's last homeworld - 2d mobile games, and Unity is getting shredded there.

If this Defold thing develops a solid UI system and network code, it may become a real alternative.
 

barker_s

Cipher
Patron
Joined
Mar 1, 2007
Messages
806
Location
Poland
Codex 2016 - The Age of Grimoire Grab the Codex by the pussy RPG Wokedex Strap Yourselves In Codex Year of the Donut
I don't really think minimal build size around 20 megabytes is going to be a hindrance in this day and age where mobile memory sizes are measured in gygabytes.

Still, competition brings progress, so it's always good to have it.
 

baturinsky

Arcane
Joined
Apr 21, 2013
Messages
5,526
Location
Russia
Glue Time 2016.09.24
Btw, it would be great if you try it and give some feedback/bug report, because it's less than a day to the GamesJam deadline



qlYiDqw.gif

wRgNoDD.jpg


New version. Change log:
  1. Sounds effects. Collisions, explosions, glue collection make noise, depending on how hard collision is etc. It was hard to make explosion right, I combined two sound effects to get acceptable result.
  2. Difficulty is adjustable.
  3. Dificulty and sound settings are persistent between sessions.
  4. Game is made faster - faster ships movement and MUСH faster primary cannon. It's damage is weakened a bit, though.
  5. Added visual effects for ball destruction (debris flying out) and glue consumption.
  6. Screen is shaking when you are damaged.
  7. Pause on P and Shift, unpause on click or keypress, pause indication
  8. GUI reworked to draw more attention to important parts (namely glue).
  9. Enemies are now bounce off top and bottom of screen.
  10. Fixes and improvements for HTML version - splash screen, heap size etc. Still is not working well on Firefox, though.
Game link is same as before - https://baturinsky.itch.io/glue-time
 
Last edited:
Self-Ejected

Davaris

Self-Ejected
Developer
Joined
Mar 7, 2005
Messages
6,547
Location
Idiocracy
I ordered myself one of these:
https://www.indiegogo.com/projects/paperlike-world-s-first-e-ink-monitor-13-3/x/15006527#/

I am excited about it. My dry eye inflammation has been crippling any serious coding efforts. I can write a utility to send Emails or copy files, but not anything real, which requires sitting down for hours of work every day. I can't imagine that I may be able to actually work on games again. Trying not to get too... optometristic


Paperlike: World’s First E Ink Monitor...
:bounce:
...with a full-sized (13,3") screen...
:negative:
...$995...
:argh:

Have you tried making the background black and the text grey? It made a huge difference for me. There is also something called Redshift on Linux that tones down blue colors at night. There's an equiv on Windows but I can't remember its name.

Eh you probably have. Looking forward to when e-ink is standard.
 
Last edited:

zwanzig_zwoelf

Graverobber Foundation
Developer
Joined
Nov 21, 2015
Messages
3,084
Location
デゼニランド
So, another progress report!


Sorry for the shit quality and slowdowns.

  • Combat movement works as planned, albeit with some minor issues.
  • Implementing additional settings to let dem players play around and select the rendering path/API as they see fit.
  • Retreating needs some additional work.
  • While I'm at it, moving on to the attacking and enemy AI. For now the enemy just follows the player, but I'd like to have a number of "choices" per enemy type, such as bots being one-trick ponies without any sense of fear, while human enemies would attempt to run away if their DC is low or keep their distance if PC's mech is heavier and can potentially stomp their ass without firing a single bullet.
 

shihonage

Subscribe to my OnlyFans
Patron
Joined
Jan 10, 2008
Messages
7,157
Location
location, location
Bubbles In Memoria
Have you tried making the background black and the text grey? It made a huge difference for me. There is also something called Redshift on Linux that tones down blue colors at night. There's an equiv on Windows but I can't remember its name.

Eh you probably have. Looking forward to when e-ink is standard.

I fine-tuned my Internets to be a soothing gold on dark green of just the right shade. It is mostly monochrome, really, and I have to guess some missing page elements. Same goes for desktop colors and IDE colors. And of course it's all on a CRT monitor, 1024x768x100hz. 100hz is important.
 

gaussgunner

Arcane
Joined
Jul 22, 2015
Messages
6,151
Location
ХУДШИЕ США
And of course it's all on a CRT monitor, 1024x768x100hz. 100hz is important.
CRT, holy shit. A lot of LCD monitors do 144hz now "for 3D". Good ones have wide viewing angles (170+), no polarization effect. There are a few models with wide-spectrum LED backlights; better colors and easier on the eyes. I use one of those for programming & artwork. Only 60hz though.
 

shihonage

Subscribe to my OnlyFans
Patron
Joined
Jan 10, 2008
Messages
7,157
Location
location, location
Bubbles In Memoria
And of course it's all on a CRT monitor, 1024x768x100hz. 100hz is important.
CRT, holy shit. A lot of LCD monitors do 144hz now "for 3D". Good ones have wide viewing angles (170+), no polarization effect. There are a few models with wide-spectrum LED backlights; better colors and easier on the eyes. I use one of those for programming & artwork. Only 60hz though.

Refresh rates on LED and CRT serve different purposes when it comes to eye irritation. From that angle, LEDs have an infinite refresh rate. As in, if you look at a static CRT image, it will flicker, and the static LED will not. The problem with LCD/LEDs is the lamp, it feels like rubbing sandpaper on my eyes. I've tried everything including orange goggles and blue light filters.

I also tried that weird 10" LCD-matrix display which uses only ambient light. It was too dark, and that strained my eyes just as much.
 

Bester

⚰️☠️⚱️
Patron
Vatnik
Joined
Sep 28, 2014
Messages
10,992
Location
USSR
It took me about a month to adapt from CRT to LED. You should just give it a try for a month.
 

shihonage

Subscribe to my OnlyFans
Patron
Joined
Jan 10, 2008
Messages
7,157
Location
location, location
Bubbles In Memoria
It took me about a month to adapt from CRT to LED. You should just give it a try for a month.

I have severe chronic dry eye syndrome. Over the past 10+ years I have tried multiple models of LCD and LED monitors, blue light filters, orange glasses, etc. This is not about a normal person adjusting to another screen type. Even with a CRT I have to wear swimming goggles to retain moisture in my eyes, and I can't do the normal "coding for hours" routine that I could still do in 2008.

With an LCD/LED it's much worse than that.
 

Ninjerk

Arcane
Joined
Jul 10, 2013
Messages
14,323
It took me about a month to adapt from CRT to LED. You should just give it a try for a month.

I have severe chronic dry eye syndrome. Over the past 10+ years I have tried multiple models of LCD and LED monitors, blue light filters, orange glasses, etc. This is not about a normal person adjusting to another screen type. Even with a CRT I have to wear swimming goggles to retain moisture in my eyes, and I can't do the normal "coding for hours" routine that I could still do in 2008.

With an LCD/LED it's much worse than that.
34059805.jpg
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom