- Draft -

A Net Yaroze Postmortem and gamedev lessons learnt

In 2016, I spent most of my spare time hacking away with the old playstation, Net Yaroze.
You can see all my Net Yaroze blog posts here.

My previous experience with the Net Yaroze was back in 1999.
I bought it after seeing a UK OPSM (Official PlayStation Magazine) demo disc video saying it was discounted:

At the time I was a IT student (Computer Science), I started in software development, programming C/C++, win32/MFC/OpenGL and Java.
But I majored in information systems (Enterprise), in the mid/late 1990’s business ERP products were all the rage!
It took me about a year to go through the manuals and Black Art of 3D Game Programming before actually starting anything substantial.
On my Christmas break of 2000 for 3 months, I remember being locked away in my room and crunching so hard, I was actually looking forward to the start of uni!
I learnt how to master the clunky 3D format and made a 3D side scrolling demo, with animated block people, very much like minecraft.

CAP05.jpeg
Click here to see/read more.


After that experience, I remember thinking, “if game development is this hard, I don’t want to do it!”.
In hindsight, what made it hard was lack of any planning and wanting to do everything myself, I plan more but still want to do everything myself.

Also 2000-1 wasn’t a good time for IT work, with the dot com crash, I remember hearing about a few local game companies going bust.
So, I chose the enterprise/database field instead.
I moved to a bigger city, got a better job, bought an old house and I literally renovated everything myself that wasn’t structural! (yes even water, gas and electricity).

Fast forward to 2013 and with the major renovations finished, I had spare time again and the Ouya happened.
But I was very disappointed with the cheap hardware and the scandals of “free the game fund“, so I never bought one.

Instead I got a Madcatz MOJO, it was the best Android TV box (’microconsole’ as they were called) and to me it was the Nvidia Shield TV of the time!

So that sparked an interest in game development again, I looked into open source engines, I settled with Gameplay3D(C++) for a while, but the creators removed older OS target support which is, in my opinion wrong!
So, next I bought Esenthel(C#) rapid development but the owner decided to put always online DRM.. pfft, no thanks!
Then, I moved to Urho3D(C++), a lot of features but I didn’t like the C++ template design.
Through this time, Unity3D was the most popular game engine and I did try it a few times.
But I couldn’t bare the flash backs to Visual Basic, maybe something was telling me that it just wasn’t my path?

By this stage it was late 2015 and I didn’t have anything done, just a few tech demos and the youtube videos that I randomly uploaded of them.
Around this time, the retro gaming and ‘lets play’ (aka twitch) scene became a big deal.
Not many were covering the PS1 though, until a few of the bigger channels started doing history and/or obscure gaming videos, which the Net Yaroze featured.
So, knowing when it launched, 1997 (UK/US), I thought to revisit it for the 20th anniversary and see if I can find some of the old members.
With hindsight, this was the best option I could have taken to get back into game development.
So this is a summation of my learning and thoughts on Net Yaroze, general game development and other things.


Caveat developer

I wouldn’t recommend PlayStation (aka PS1, PSX) development to anyone today, especially not for beginners!
I did it out of nostalgia initially, it was something I invested a bit of time in my youth and always regretted not doing more.

Sure, the 3D pipeline is magnitudes simpler then learning a shader language, but learning fixed point math & useless formats instead, isn’t really worth it!

Saying that, if you really really love the hardware and you really really want to create something on the OG PlayStation and already know C and how low level binary works, then this is the guide for you!


The Net Yaroze philosophy

To say Sony’s Net Yaroze was just a hobby development console, is a gross oversimplification and only the tip of a very big iceberg!
Net Yaroze was revolutionary and very ambitious for the time.

I have organised my thoughts in what I believe the Net Yaroze’s goals were:

  • Unified hardware
  • Simplification of game development
  • Online community
  • Facilitate creativity
  • Notable people

Net Yaroze - The unified hardware

The Net Yaroze, spared no expense with hardware:
DOFtZbYUIAATofq.jpg

A region free playstation
It had to be region free to display both NTSC and PAL signals, playing games from any region was a bonus!

Two controllers (digital only)
Made before Sony launched the analog controller, but the library did support them.

A serial communication cable
Cable to connect the playstation and a PC/Mac via a serial port.

A PC CD-ROM with development software
Including a compiler, debugger, proprietary libraries and format conversion tools.

A PS1 boot disk with a security dongle (looks like a black memory card)
Turns the Playstation into a development Playstation.

3 printed documents - in the smaller box, includes a holder
Somewhat poorly translated and a bit thin, they were corrected and updated on the members site.

 

 

 

To appreciate what the Playstation ‘unified platform’ meant, in terms of Net Yaroze, we must first put history into perspective.

In the late 1980’s interactive media games (Full Motion Video, FMV) were all the rage.
It came from the mass adoption of CD-ROM’s on home PC’s and as add ons to consoles of the 4th generation, ie TurboGrafx-CD, SEGA CD, Neo Geo CD.

On a side note, Nintendo, also wanted a CD-ROM based console, and had both, Sony and Phillips working on one but it never eventuated and probably caused them to be 12+ months late in the 5th console generation, with the Nintendo 64.
They must have seen the down turn in FMV games and opted for the faster & durable cartridge for the N64.
They had large investments in cartridge manufacturing after all.

By the early to mid 90’s, the home Desktop PC landscape was widely varied from older 286 & 386, modern 486 machines to newer over clocked 120+Mhz CPU’s.

Operating systems were also varied, including just DOS, Windows 3.11 and Windows 95, which was based on win3.11 technology and had backward support for DOS & win3.11.
Windows NT was a workstation OS, a faster and more stable (full 32bit) version of windows 95, but with limited backwards compatibility support.

If you were developing application software, Microsoft’s win32 API was mature and stable.
But for resource intensive video games (3D specifically, which requires a lot of maths processing), the solution wasn’t clear.
The original Windows 95 didn’t include OpenGL nor did it have DirectX and the early versions (on windows 95) were software rendered, which was too slow for action games.
DOS was the lowest common denominator and didn’t restrict direct hardware access like windows did.
But more importantly, DOS assures the best possible performance interfacing with the hardware directly.

The PC hardware standards were so well formed and reliable that DOS itself, wasn’t used in-game, from https://en.wikipedia.org/wiki/DOS#Design:

The operating system (DOS) offers an application programming interface that allows development of character-based applications, but not for accessing most of the hardware, such as graphics cards, printers, or mice. This required programmers to access the hardware directly, usually resulting in each application having its own set of device drivers for each hardware peripheral. Hardware manufacturers would release specifications to ensure device drivers for popular applications were available.

The reason the developers had to include the vendor’s hardware drivers was that it guaranteed access to the hardware, rather then rely on the owner (pre internet) to have the correct and compatible version of the drivers.

But now the developers had to code and maintain several interfaces for different vendor drivers, this would have been a big undertaking just to support all the different hardware variations and combinations!

However, the larger issue with PC’s (and 16-bit micro’s), was the rise of pirating.
Software piracy was limited to physical distribution, which meant knowing somebody to do a copy of a disk or tape.
From the mid 80’s, computers could access a Bulletin Boards System (BBS) via a modem.
This made the dissemination of pirated software very easy and exponential.

DPNgjugUEAEQ4XU.jpg

At the time, the Playstation’s 3D & CD-ROM hardware made it a very big deal!
But to developers, it’s simple architecture (RISC MIPS CPU) and hardware design (Serial/Parallel ports, MIPS CPU, DMA GPU, dedicated RAM & VRAM) which closely resembled an expensive workstation and super computers, really made it special and cheap enough to be retail friendly.
It made all the consoles before look like primitive calculators, and without overly complex hardware like SEGA Saturn’s architecture.
The Playstation could theoretically have been a TV ‘micro computer’, similar to a micro computer of the 1980’s, it just needed an operating system and a keyboard & mouse adapter!
DPNjM2fUEAAlx2f.jpg

The Sony proprietary CD-ROM format was also the best anti-piracy measure, the internet just didn’t have the bandwidth (nor storage) to easily transfer large files.

So, I can imagine most of the PC developers throwing themselves at Sony to be part of Playstation.

When retail 3D hardware cards were more affordable and accessible enough, new PC’s still didn’t have them pre-installed like the mass adoption of CD-ROM’s had before it.
This meant, that the 3D game developers couldn’t just stop DOS support and software rendered 3D, but had to also add 3D card support and proprietary drivers.

By 1996, 3D accelerated card manufacturers supported OpenGL and DirectX as a standard, from here on in, 3D DOS games were mostly thing of the past.
Also motherboard manufactures started to integrate audio and video but it didn’t include 3D support, which meant 3D games could only run on a small subset of all home PC’s now.

Mean while, the Playstation was out in all regions and was a hit with gamers.
Being cheaper then a gaming PC, with a good selection of games with impressive 3D/2D visuals, all while playing in front of a TV!
Early Playstation developer’s now having the experience of finishing a Playstation game, were now set to make even better games because of their hardware familiarity!

Even as late as 2003, some game developers still preferred software rendering.
DREx6Z9VAAAjk60.jpg

I’m not sure when the Net Yaroze launched in Japan, I would guess it came out a few (6 to 12) months before other regions.
At the start of 1997, the Net Yaroze launched in SCEA & SCEE regions and priced at $750 USD & £550 GBP, respectively.
It bothers me that the general “gaming media” seems to always compare its’ price to a retail unit… that’s remarkably ignorant!
Even in 1997, a professional development kit & license would have still cost around $20,000 USD, and the Net Yaroze being potentially the same target platform was only 3.75% of that!


Net Yaroze - The simplification of game development

The Net Yaroze used a reduced library compared to the professional developer’s kit, this is obvious and logical comparing their respected prices.
I haven’t looked at the professional development libraries, but it was obvious that the low level (3D packet creation & GPU direct access) wasn’t there, instead relying on a 3D format called TMD (similar to the OBJ format, but binary only).
The TMD format supported everything the playstation can do, ie texture mapping, lights and shading.
But animation was ‘roll your own’, which was common with everything back then! but there were several demo’s on how to code it!
Anyone remember seeing the Dino demo?

It was vertex animated with ‘tweening’ keyframes, similar to the MD2 (Quake I/II) format.

But the simplest way to do animation was to use the library’s hierarchical coordinate system.

So removing the low level details, not only protected the value of their pro developer’s kit but also made the 3D library easier & quicker to learn and program.

It was definitely a lot smaller then Direct3D (DirectX) and OpenGL.
Also the 2D library was also (with hindsight) pretty good and even easier to learn, it handled animation, scaling, rotation and colour fading & manipulation.

Below, are my recollections of the game development process with the Net Yaroze, in detail.

Learning and building - The Computer Science Craft

In the late 90’s I was a new C/C++ programmer but in 2016 after 15+ years coding in JAVA/SQL, I was very rusty and had to do a lot of relearning.
All the steps below, to me personally, are the kernel of how a programmer crafts robust & portable software!
I see it as a craft because of it’s complexity, intricacies, creative and adhoc nature.
Although, the Net Yaroze came out in 1997, the tools and skill sets haven’t been lost in time, it’s still the fundamentals of software today!
These build tools are core to most Operating Systems and it’s easy to port and replicate!
In fact, I have a separate game development project which builds for GNU Linux (32bit/64bit), windows(32bit), android(most SoC) all from the same code base.
I would say, I enjoy the C/C++ process over JAVA now, I find the more I learn about it, the more I want to learn more!
Programming the PlayStation today, is very much programming an embedded device and the skill set reflects that.

Always be learning and iterating on all aspects of your craft!

The development process

Starting - read a lot!
First, I read the user guide.
It explains everything.. some parts are vague, some are well detailed.
Not having remembered any OpenGL, 3D maths and the hardware, I had to relearn everything from scratch.
I’m not sure were my original copy of Black Art of 3D Game Programming went but it included my 21st birthday well wishes from my girlfriend at the time :D

61A4940D75L._SX365_BO1,204,203,200_.jpg

So I had to rebuy it, I remember how practical and fun the book made 3D maths!
And it still is today, the code is simple and very easy to follow, highly recommended!
It doesn’t teach how to program in C, but if you can code Java/JavaScript/PHP/C#/C++, it shouldn’t be hard to understand.
It’s 25+ years old, it has a little bit of DOS and assembly, but they can be skipped over and not important.

I then reread the user guide and it made more sense.

RIBIT: Read In Bed It’s Terrific! - A slogan I remember from my childhood.
CZ5CvufUAAAWa2e.jpg

Development environment - Getting Setup
Getting set up again wasn’t too bad, everything worked fine, in fact better!
Software like 2D/3D art tools and programming IDE’s are now a lot better then 20 years ago, cheaper or free!

The Sony’s toolchain was made in 1996 so it’s 16bit (DOS).
It works fine in DOSBOX, also the program used to send data to the Playstation (SIOCONS), also worked fine in DOSBOX(32bit GNU Linux only for me).

The development environment was a traditional UNIX setup, just replicated for DOS.
As a computer science student, we got taught on a SCO UNIX mainframe with monochrome (orange or green) dumb terminals.
I think that was very common for the time (80s to 90s) and a smart choice by Sony.
This development environment is still widely used on most operating systems today, (Windows, GNU Linux, Mac, *nix, consoles, embedded devices etc)!

Next, I got the basic demos working and experimented with them and started putting a few together.

Well, that was the easy bit!

GCC - GNU’s Compiler Collection
This toolchain (make, compiler, assembler, linker and libtool ) was standard in Unix environments and newly ported to GNU linux.
The Net Yaroze compiler was a GCC DOS port called DJGPP, and as to be expected, it’s strict ANSI C.
The compiler’s output format was ECOFF, which is the UNIX standard for linking with DLL’s (Dynamically Linked Libraries).
When the Net Yaroze is loaded with the boot CD-ROM, it loads the actual library into RAM, which the ECOFF program links to.
I assume, this was implemented like this to save on serial communication loading, which is slow and can be problematic.

LD - GNU’s Linker
Optional, but for the Net Yaroze you need to know and check that the program is loaded to the correct locations.
The compiler outputs a mapfile with a listing of addresses of functions and variables, and necessary to watch the heap space:

80107748 gameMain
80103f24 enemyNew
80104124 bulletHit

GDB - GNU’s DeBugger
GDB is not a visual debugger like Visual Studio/Eclipse etc.
It’s a console (terminal) text based program which displays the source code and variables via a commands.
Again, it has a learning curve but it’s pretty quick to get the basics.
The Net Yaroze’s implementation of GDB remote debugger works but it’s common for it to drop out.
I use printf outputs to find most of my bugs, GDB is my last resort and very glad it’s there!

MAKE - GNU MAKE
A few months playing around with demos and tutorials, I was proficient enough to make my own 3D textured demo.
I started working on a basic 3D block format in a single file, it was about 5 thousand lines.
I could see how I wanted to restructure into different files, game, menu, etc.

I have a healthy fear of MAKE, another language syntax to struggle with!
But I was more keen to split it so, I switch to MAKE.

MAKE, is a pain to setup correctly, but when it’s setup, it’s great!
I knew this at the time but what I didn’t realise was just how important it was.
A good MAKE file automates repetitive tasks, ie building, running and backing up.
It’s a lot smarter then just a batch file!

IDE - Integrated Development Environment
I started with code::blocks but I didn’t like the unmodifiable right click menu!
I’ve been using eclipse since 2003, so I switched to eclipse CDT (C/C++).
Eclipse also has a great ‘file revision history’, which comes very handy.

I never had codewarrior’s C++ IDE in the 90’s.
It had playstation communication built in, so it has a visual debugger!
I recently bought it to try it out, I didn’t like it, but to be fair, I didn’t give it much time, I struggled with the win95′esk user interface.

Sony Libraries
On top of the build environment is the actual coding.
The Playstation library (libps) included everything the Net Yaroze developer had access to in the Playstation.
This included most things the pro developers had, except for low level GPU hardware access, video playback and other minor things.
As described in the GCC section, the dynamic library(500kb) resided in the Playstation’s 2mb RAM.
So obviously, the smaller the library, the more RAM the developer can use!

The library, by today’s standards (OpenGL/DirectX) is very very! small and simple!
It’s basically this:

  • A few standard C: input/output, strings, maths
  • Sound : loading, playing, stopping, change volume, pitch etc.
  • Graphic 2D & 3D: loading, rendering, lights, VRAM copy, 2D lines/boxes, system font etc

The Playstation has no floating point hardware, which means the hardware only processes whole numbers.
The library supports floating numbers via software, which means the CPU converts the numbers to integer and then back again to floats.
And not a very optimal use of hardware!

The GPU hardware design is still very much like today, the GPU and it’s VRAM (1mb) is separated from the CPU and it’s system RAM (2mb)
So there is no direct access to VRAM, the program (CPU) has to instruct the GPU via a draw command list and this is drawn each frame.

Emulation - Faster development
Without getting into the legality debate, I’ll just say, I have no problem emulating what I’m developing.
Obviously this wasn’t an option in the 90’s, but it’s a lot faster then communicating via serial!

However, emulation isn’t perfect, I couldn’t find an emulator which replicated the serial communication for remote debugging.
And more importantly, performance isn’t 100% accurate, which makes it great for most things but hardware performance testing is still crucial.
I used No$PSX and PCSXR.

In hindsight, I should have abstracted the target platform & developed on PC concurrently.
Both of which are good habits and makes portability a non issue.
It would have also simplified development, instead of just using printf’s to debug!

Art asset pipeline
As mentioned before, the playstation’s proprietary formats weren’t the easiest to work with.
However, we did get the same tools the professional developers got, including the format documentations, converters and plugins.
You could tell what was professional, because it never mention Net Yaroze.

The asset pipeline is still a huge issue today, but specialised 2D & 3D formats have largely been replaced by common ones.

C Programming language
I’ve heard internet people actually say that C programming is harder then C++ programming, sigh! :/
C is a much smaller language and far less complicated then C++, the only hard thing about C are pointers, but it’s not that hard to understand.
Back in my day, C or Pascal was a common first programming language taught at universities.

Compared to today, C has no safety (type checking, catch/try exceptions and undefined behaviors), which probably gives C it’s scary image, but a good programmer knows what they’re doing or knows how to fix what they missed.
Also Object Orientated Programming isn’t right for everyone or everything!

It’s important to master your language of choice, try new things and keep getting better!

Cheat sheet - Documentation
There a lot of “tricks” to be aware of with any hardware target, the Playstation for what it was, really wasn’t that bad!
But little things, would catch me out, ie hardware & format info etc.

So I made a word file, organized it into sections and create an automatic index at the start.
When I get stuck with something, and unique enough a quick search didn’t help, I would note it in the correct section with the solution.
I do this, because it will come up again and after writing it down, I know I wrote it!
And if in 10 or 20 years time, I want to revisit it, the notes will save me a bit of time!

Admittedly, I don’t tend to document my code much, unless it’s a structure or a complex algorithm etc.

Always be documenting!

Record videos/screenshots - See your progress easily
For a few years now, I’ve gotten into the habit of whatever I’ve been working on, before moving on or going to sleep, I would do a quick demo of what I have done.
No talking, No editing.. just click record, show it off, click stop and upload.
I also keep all my recordings/screnshots backed up.

It’s a great way to see the progression of any work.
Searching youtube or twitter is a lot easier then looking for a build and building it!
I do this for myself to look back on my work, it motivates me to continue.
And you never know who else is watching!

Just don’t name the videos a game’s name, you don’t want people seeing it if they’re searching for a finished game!

Progress is slow & organic - record it!

Back up - A cheap & important safety net
Lastly and most importantly, working in the computing field gives you an appreciation of a good backup system!
The stupidest thing is to lose important data, it just shouldn’t happen - but it does!

As computing professionals, we have a healthy level of pessimism!
However, for my small, solo project using CVS, github etc is overkill and it brings another level of complexity which I didn’t want to get into.

So, I created a simple batch file which zips up the entire project folder, including executables, images, sounds etc.
The backups are date stamped in the filename, saved to a local backup folder and my local file server, and periodically archived online and moved to 2 mirrored USB drives.
After doing each backup, I log the filename and put some notes in a text file called log.txt, which looks like this:

Yaroze-20160912_235921_backup.zip game init working
Yaroze-20160913_191905_backup.zip CRAP wall hit collisions, changing to out of box check Walls fixed to out box check
Yaroze-20160914_194217_backup.zip Map using 4bit, not good two maps working
Yaroze-20160915_201126_backup.zip Better map
Yaroze-20160915_210519_backup.zip Reverting back to old tmds and collisions (in box check)

Currently, each file is 10mb.
Occasionally I will knowingly or accidentally brake the project, it usually compiles but there’s a logic bug which I can’t fix quickly.
I then extract the last backup and do a comparison of the two folders using WINMERGE or MELD(GNU Linux).
I can quickly see the difference between the two and can fix the issue.

On very few instances, I didn’t like the performance of a major change, but thanks to my backups and logs, I could revert back to before starting the change, ie above.

This is an extension of how I actually developed 16+ years ago!
DRtXFtJUEAEgwfp.jpg

Don’t be stupid, backup and log changes!

DRqhFPGWkAAKFrf.jpg

Believe it or not, this was easier then all the consoles before it!
Which most likely would have come with an assembler and a manual, or just a CPU vendor compiler like the case of Sega Saturn’s Official Development Kit.

Fast forward to 2017, with relatively no technical limitation, hardware agnostic engines and now it’s all about game design.

The new game engines have democratized game development (free and accessible to all), but have also made development and execution perceived as a non point.

“Anyone can make a game and without programming!”

This rhetoric is however wrong for computer science/software engineers with an interest in game development!

Games were at the forefront of computer science, pushing hardware to their limits and it’s still a great way to learn.
However, this liberal movement of “equality”, labels programmers wanting to excel at their craft as “Elitist“.

There’s no game engine that fits every single person!
For software engineers, not being able to drill down into the code base doesn’t help with learning.
And learning an game engine’s IDE is of little benefit compared to learning a toolchain, which is commonly used to develop software for every hardware device!
And lastly, software experts should be very familiar with the term vendor lock in, it could quickly become “Technical Debt“!

 
 

 


 

 
 

The Online community - The “Net” in Net Yaroze

I got my Net Yaroze welcome letter in March 1999, admittedly late but it still was a valuable experience for me nonetheless.
This is a part of my welcome letter from my CV portfolio, below my “User ID” was my assigned password and it was signed by Paul Holman (see below).
C9KdBC1UwAEwemJ.jpg
The actual kit arrived a few days later from the UK to Australia (a PAL region country).

It was a simple setup yet very functional and effective.
Before I joined, there was an issue that PAL members couldn’t access US/JP Sony’s and member’s sites/newsgroups and visa versa.
But by the time I joined this was fixed, and we could see each region’s sites and newsgroups.
I would guess this was initially done like this because it mirrored the professional developer networks, which would have been locked to their region.

In 1999, I remember the US members were mostly gone, posting only a few times that I recall (not sure if that was a access or connection issue though), the JP members were some what active, posting a few times a month (5-10).
The PAL members were very active, posting a few messages each week, if not a few in a day!

While the manuals from Net Yaroze kit wasn’t very detailed, especially the hardware and Sony’s library, the Net Yaroze “Private Network” (or just network for short) was overloaded with real world examples and felt never ending!

The Net Yaroze Network comprised of a few separate services, all running from http://netyaroze-europe.com

  • Personal website - A space to share and show off
  • Sony’s repository - Updates, documentation and tools
  • Sony’s newsgroups - “Real time” communication with Sony staff and community members

Sony’s Net Yaroze repository - Updates, documentation and tools

Sony’s private Net Yaroze site offered a single place for updates and help.
The site hosted a lot of files which were not distributed in the Net Yaroze kit.
This included a lot of tutorials developed by Sony’s UK/US/JP Net Yaroze support teams & members, these included 2D, 3D, audio, text display, controller pads and assembly of low level CPU caching (scratchpad buffer).
Some where even playable but very rough games, ie Clone, breakout

More detailed help about the toolchain (gcc, gdb, ld), peripherals, file formats and a FAQ.

Sony also had a ‘Technical Requirements Checklist for Net Yaroze Software’, extract:

The recommendations and requirements described in this document are a subset of those listed in the document ‘Technical Requirements Checklist for PlayStation® Software’, to which all published PlayStation® titles must conform.

Compliance with the requirements listed below is mandatory for Net Yaroze software which is to be considered for inclusion in published PlayStation® titles such as magazine coverdiscs. Compliance with the recommendations however is not obligatory, but the guidelines described will help you create software whose operation is intuitive and consistent with other PlayStation® titles.

The rules and recommendations contained in this document are not intended to stifle your creativity as a programmer, but to ensure that all published PlayStation® software meets users’ expectations of usability and quality.

There was no official publishing channels as part of the Net Yaroze, in the FAQ it was suggested to record your work on VHS as a demo real.
Only the UK Official Playstation Magazine published games on the demo disk, so I think this document was only meant for PAL regions.

There was also a small game demo section called “The Immaculate Collection”, which were some of the coolest games & demo’s!

6/5/99 Aaron Gandaa & Steven Sheehy; Technical Demo X2
6/5/99 David Johnston & Mike Goatly; Time Slip
1/3/99 Roland Bottcher; Rev Your Engine
5/2/99 James Pretorius; Opera of Destruction
21/1/99 Alex Herbert; Super Bub
21/1/99 Steve Collins; Car Demo
20/8/98 Chris Chadwick; Blitter Boy
3/9/98 Charles Chapman; Total Soccer Yaroze
3/9/98 Robert Swan; Adventure Game
23/8/98 Middlesex University; Motion capture

Personal website - A space to share and show off

On the same web site as the repository, Sony offered each member web hosting, If I remember correctly, it was 25mb.
This was plenty as most people only had dial up connections back then. Everything was low resolution, mostly text and with heavily compressed, small images like gifs.
Our personal sites were only viewable by other members and were traditional Unix (Sun Ultra 5) Per-user web directories
ie, My login was mgarcia, and my Net Yaroze personal site was: http://netyaroze-europe.com/~mgarcia
We could share our code, Net Yaroze executables, home made tools (converters, etc), images, personal things and even random adult content :/
Uploading was also Unix user based and via FTP.

The landing page of the member’s site was an listing of the “latest update”, newest update first.
Each member could fill out a small form and write about their update and it would appear on the list.
This was later used like a crude messaging service (like twitter), it wouldn’t be uncommon to see holiday well wishes.

Sony’s newsgroups - “Real time” communication with Sony staff and community members

Usernet Newsgroups” was a popular server/client protocol which resembled a hybrid of emails within groups and threads, similar to what web forums are today.

I remember loading up my Mozilla’s Newsgroup reader and downloading all of the days new posts and replying were I could, it was the human side of development.

The hardware and software was very technical, there was a lot of demo’s and tutorials but none were for absolute beginners.
I remember reading about Net Yaroze in an Australian or UK Official PS Magazine Similar to this one but an earlier issue, they’ve never sugar coated it, and always said that it a certain level of C programming is required.
Maybe at times, they understated that, because although C programming isn’t the easiest thing in the world, it was many, many times easier then programming any other console before it, in assembly.
So, the Net Yaroze newsgroup had its share of people with well meaning ideas but lacking the technical expertise!
And in 1999 I was definitely one of them:

DMKgouJU8AAydkh.jpg

And the newsgroups was the only place to go to when anyone got stuck or needed to ask for clarification.

 
 

 


 

 
 


Facilitate creativity

I’ve recently started putting old Net Yaroze magazine articles on the old PAL Net Yaroze member’s site!.

Reading them reveals the true motivation of the Net Yaroze, to foster creativity, new ideas and experiences.

From Next Gen magazine:

Next Generation: So if you remove the expectations of a commercial product, you think that it is possible to open your mind to what might not have been thought of before?

Phil Harrison: Exactly. We need to break past existing conventions. Hopefully we’ll see some new engines, or routines that will be helpful to full fledged developers in addition to helpful to others in the Yaroze program.

From Edge Magazine:
DRpoymyV4AEhr0V.jpg

To my recollection, there was no mention of anything regarding creativity, design, or ideas in the manuals nor the member’s network.
Ideas were talked about in the newsgroup, but at a very high level, eg “I’m working on a 2D space shooter game”.

My feeling on this at the time was it wasn’t so much about the ideas, but the execution, which meant good programming and art.
It was all about the game development and not the game design, which was lead by the constants of hardware anyway.
I thought anything well executed and polish was good!

To me as a complete noob, the Net Yaroze wasn’t about the ideas nor the designs, but actually having the smarts and the stamina of conviction to follow through!

I did acknowledge the strengths of good ideas and clever design, so much so, I bought a book in the hope of getting good tips:

Game Design: Secrets of the Sages Guide by, Marc Saltzman
DN15DArUMAA4fuw.jpg

Don’t buy this book for game design! there are a few tips on game design but its actually a book about how the industry worked in the late 90’s and how to break into it, which was useless to me at the time.
Well, I recently bought the 2nd edition and read it, there are some interesting views which are still current and some not so much.

Admittedly, I didn’t spend much time on any design or ideas, my favorite games on the megadrive were the streets of rage series :)
I thought I would go for a 3D scrolling beat’em up (I actually liked fighting force) with block men and a block world editor.
All my textures were captured on a gameboy camera, my first digital camera lol

jim.jpeg
Head of Jim Russel from Logan QLD.

It’s made me rethink the purpose of a game and it’s meaning.
Not just a technological software product but an intertwine creative and technical process.


The Net Yaroze notable people

Thank’s goes to the following people (in no order) that made the Net Yaroze experience worth remembering!

The Net Yaroze forum support people and active users
Staff:
Rob Swan
George Bain
James Russell

The active users listed here.

Paul Holman
Paul Holman was the head of the SCEE PAL region, Net Yaroze program.
Paul in the Sony UK head office “Playstation museum”.
BY8Mf9VCMAAL9k7.jpg

He hired the cleverest of Net Yaroze members to provide support for the others.
Paul was also instrumental in putting Net Yaroze games/demos into the UK official Playstation magazines.
He also invited Net Yaroze members to the SCEE UK office and gaming events, like GDUK & ECTS.
Cxao0ttUkAAw9qb.jpg

Black & White demo from Peter Molyneux, ECTS September 1999

Ken Kutaragi
And there would be no Playstation without Ken Kutaragi, the “father of playstation”.
He was not only lead designer of the hardware, but he also pushed for the Net Yaroze to be a reality.

FACT: In mid 1996, Ken Kutaragi brought back an idea that had not been seen in almost 20 years.

A special version of the PlayStation called Net Yaroze (Yaroze meaning “Let’s do it together”) was released in limited quantities for around $750 USD. This unit was a simplified development kit that would allow users to make their own PlayStation games using the C program language.

Such an idea was last introduced back in 1979 with the Bally Professional Arcade (Bally BASIC), the Magnavox Odyssey 2 (Computer Intro) and the Atari 2600 (BASIC Programming).

He went on to extend the Playstation design to make the PS2 and the PSP.
He was also responsible for Playstation’s GNU Linux, which turned a PS2 into a TV computer with a USB mouse and keyboard.
This was revolutionary at the time!

All this talk of networked PlayStation 2, with USB keyboards and mice - isn’t Kutaragi trying to turn the console into a PC?

“I don’t think of this product as a PC,” he insists. “It’s like a TV. PC, yes, nice tools for creators, but this is pleasure.
Like a mobile telephone. It should be convenient and robust. Your grandfather should be able to use it.”

He also lead in the hardware design of playstation 3’s CELL architecture, which was the forbearer of true multi-core processors, specifically in mobile technologies, stating:

With the PS3, our intentions have been to create a machine with supercomputer calculation capabilities for home entertainment.

That’s why we teamed up with IBM, which is known for its supercomputers, and co-developed the Cell together with them and Toshiba

He’s ideas predicted many trends and technologies, including:

  • The rise of the hobbyist, now called independent developers.
  • The rise of the importance of GNU Linux/Unix/Android in gaming.
  • The rise of the multi-core GPU devices.
  • The rise of the multi purpose TV gaming consoles.

Conclusion

The Net Yaroze didn’t result in any famous millionaires like in the 80’s or modern times, but there were a few games commercially published and it introduced a few people into the industry.


I made a 3D, 2 player split-screen, FPS, sudo platformer working on it, although it’s very buggy and to date, unfinished.
And yes, I did ripped Doom sprites from my DOOM 95 CD-ROM!

“Retro” game development, has made me a better programmer all round, for sure!

DRtS0YRUMAUXwov.jpg


Class of 2000
https://web.archive.org/web/20130618131454/http://www.edge-online.com/features/feature-net-yaroze-class-2000
https://web.archive.org/web/20130618131454/http://www.edge-online.com/features/feature-net-yaroze-class-2000/2/
https://issuu.com/gamereport/docs/gamereport_15/90