Jump to content
IGNORED

Retroness of your development process


Mr SQL

Recommended Posts

This is a discussion thread on the retroness your Video Game development cycle and environment :)

 

Describe the retroness of your development process:
Does it have a 70's, 80's or 90's feel?
If you aren't taking advantage of new technologies, why not?

 

I like both programming languages (BASIC and Assembly) but I don't use GUI's, scripting languages or debuggers.

 

I prefer to use a text editor and just write straight code like I did in the 80's; I think basic "write the code" setup's are more fun and difficult to eclipse with a modern IDE.

 

 

Link to comment
Share on other sites

I prefer to use a text editor and just write straight code like I did in the 80's; I think basic "write the code" setup's are more fun and difficult to eclipse with a modern IDE.

I agree. I much prefer a straight text editor and a command-line compiler/assembler to a monstrosity of an IDE like Eclipse. The features offered by modern development tools are certainly useful, and I find myself using them more when I work on modern platforms, but on vintage systems I like to go "old school." It's much more satisfying for me to work that close to the inner workings of the hardware and the software, and modern systems so rarely give me the opportunity to do so. I also happen to think it's healthy for programmers to be able to understand what happens inside a computer at that level, no matter what kind of programming they do. If you want to know why that's important, and why letting your tools do everything for you is dangerous, your word for today is ...

 

De-Skilling!

  • Like 1
Link to comment
Share on other sites

I don't use an IDE though I do use a jEdit, programmer's editor, as the syntax highlighting is so handy for finding typos. I've made my 2600 "mode file" available in my blog.

 

My initial projects (Medieval Mayhem and Stay Frosty) were written in Assembly. I compile it with DASM in an instance of Terminal, the Mac's command line.

My recent projects (Space Rocks, Stay Frosty 2 and others) add C for the code that runs on the ARM chip in the Harmony/Melody. The C code is compiled via command line in a Linux virtual machine as the ARM compiler we use is only available for Linux and Windows.

 

I use some scripts for graphic conversion, like this one on my site. I've also used scripts to compress level data for Stay Frosty 2.

 

I'd be lost without Stella's excellent debugger.

Link to comment
Share on other sites

You can pry my vi from my cold dead hands.

 

All of my project directories get a customized makefile, no matter the language/environment.

 

For 2600 stuff, "make" to build the project, "make run" to run it in stella, "make backup" to tar it up and send it to my gmail.

 

I can iterate and test much quicker than I could with a GUI.

  • Like 2
Link to comment
Share on other sites

I tend to use a simple editor like the built-in EDIT of Wind*ws or Notepad, sometimes the editor from Dev C/C++, plus a command-line assembler.

 

I've used Z26 for simple emulation, but I prefer Stella's debugger as it saves me a lot of time finding bugs.

 

For graphics I use good old paper and pen. For music I've found useful the musical keyboard included with the VisualBb IDE.

  • Like 1
Link to comment
Share on other sites

I'm not a programmer, so I need every modern tool that I can get my hands on to make the whole process as easy as possible. The graphical user interface is my friend as long as it's user-friendly.

 

I'd love to have a program that would let me draw batari Basic sprites over the frames of an animated GIF (or maybe even a video too) to get semi-realistic movement.

Link to comment
Share on other sites

Hexedit for ROM hacking, emacs and dasm for coding (at least, back when my laptop was 32-bit; never have gotten it to compile for 64-bit), stella for testing and debugging. (Back when I was actually releasing stuff publicly, I was using PCAE to debug because stella's debugger wasn't there yet and I was still on DOS for all but my last couple of demos on the [stella] list. I've actually never run any native 32- or 64-bit version of Windows on my own machines, nor owned any Apple products at all.) Command-line only, no xemacs or graphical emacs windows. I'd do Android coding in emacs too if I had the time to figure out how to get an eclipse-free build environment going. 26 years is a lot of built-up habit to break when there's no real need to do so.

 

However, since I use bash with all the command-specific completion and interactive history editing stuff and a virtual terminal with lots of tabs (currently 8, though I don't have any coding projects open today since it's a bourbon, lasagna and Ratchet and Clank day), I can't claim to be '80s retro, more like mid-to-late '90s. I guess I could dig my old C64 out of the garage and play "video game developer circa 1984" again. I certainly was comfortable enough with its assembler back in the day, though having to print out all the 65xx and Atari-specific documentation would be a huge waste.

 

Given that I'm happier playing the games in Stella on my 46" LCD than digging a possibly-working CRT and my old 4-switch out of the garage, though, I guess the retro-ness of anything but the games themselves doesn't carry a lot of weight for me. I'm not coding on an Apple II or mainframe, so there's no pretending I'm doing this stuff in 1982.

Link to comment
Share on other sites

I've used EDLIN and wrote web pages in EDIT.COM. That being said as I grew up so did the tools.

 

GWBASIC -> QuickBASIC -> FoxPro (DOS) -> VisualBasic -> PowerBuilder

 

Everyone was in love with RAD and I never questioned progress for progresses sake. It's interesting to hear the merits of keeping it simple given how ubiquitous GUIs are nowadays.

  • Like 1
Link to comment
Share on other sites

I must admit, I'm VERY modern when it comes to programming. I enjoy my GUIs, my tools, my multiple widescreen monitors, whatever you can throw into a development environment, I want it. Then again, I'm 22, I grew up with the notion that if you want to do something, there's a tool to do it with. That said, I also find it all a bit distracting, sometimes. I can easily get flustered if there's just too much going on at one time, and I get easily sidetracked. At these times I find it best to remove everything that is a distraction and just focus on what needs to be done then and there.

Sometimes a text editor is all you really need, and there's definitely a unique feel to programming in a text editor. I find it relaxing almost, especially when paired with a "clickety clackity" type mechanical keyboard. When I plot out my playfield and character graphics, despite the tools I have available (and even the tools I've MADE) I often still enjoy plotting all those 1's and 0's by hand, no mouse, no gui, just a keyboard and a notepad. I find myself in a place of zen when I can just tap away. To me, it feels like you're actually... doing something, even though the development process with tools is arguably faster.

Link to comment
Share on other sites

I'm developing a demo and use Notepad++ for editing, a shell (and a make.bat) and dasm for assembling, and Stella for testing. For debugging, I prefer a long hard look at the code and doing some small changes to weed out the cause of a bug, instead of using Stella's debugger. I use that for reversing other people's programs, though. ;-) I also use some quick python scripts to help me generate some code snippets, like unrolled loops.

 

I find this setup to be more than good and fast enough for 6507 assembly coding, with no need for a full-blown IDE. The challenges when coding for the VCS, like speed- and size-coding, counting cycles, the limited RAM etc. are nothing an IDE could help me with much. I have heard of JAC!'s WUSDN IDE and had planned to take a look at it someday, but until now don't see the need (yet).

 

I *could* envision an IDE that would be helpful, like automated mapping from instructions to scanline cycle numbers in the source and a corresponding visual editor, and maybe I'll develop something like this someday. But until now, that's a luxury I don't really need yet.

 

Happy new year!

Link to comment
Share on other sites

I mostly use Notpad++, dasm, stella.

 

In the past, I used cscript for generating tables, but dasm has macro's which are also capable of generating tables.

 

While I consider Eclipse a good tool for Java development, I'm not sure if it would help creating small atari 2600 games. You want to stay close to the 6507, and sometimes even want to use .byte to generate the opcodes you wan't, a fancy editor doesn't help you doing that.

Link to comment
Share on other sites

I don't do VCS, but I program for Intellivision. I use a Mac Pro 2009 for all my computing, including game development.

 

My tool chain of choice is TextMate (text editor) with a custom language file I made to provide syntax highlighting for CP-1610 Assembly Language; Terminal command-line console to run the "as1600" Assembler and the "jzIntv" emulator/debugger; TextEdit (Mac's version of Wordpad) for pseudo-code algorithms and graphics (always drawn by hand in ASCII!); QuickTime (video recorder) to record gameplay and analyze it frame by frame; Gimp and Pixelmator for making nice graphics for promotional materials; Perl to make scripts to generate graphics and other assets from ASCII files; and "vim" to make shell scripts to tie all the pieces together and build the final ROM file.

 

It's a mixture of old-school and modern tools. The old-school stuff is driven mostly by the needs of the assembler and debugger, which are command-line tools.

 

Personally, I like the challenge of making games for arcane hardware, but I do not fancy arcane tools. I get no additional satisfaction by coding in vim as opposed to an IDE. It's just slower, harder, and makes me less productive, so why would I?

 

As for the graphics, I've tried using graphics packages, but I find it easier to do pixel art in ASCII and using some custom Perl scripts for a quick "write/build/test" iterative cycle. I also sense a more direct access to my creativity this way.

 

dZ.

Link to comment
Share on other sites

And speaking of hand-drawn pixel art in ASCII, I thought you guys may appreciate this video I made last year to promote my game.

While designing the title screen, as I iterated through my "write/build/test" cycle--sometimes after changing a single pixel--I took a screenshot of the result to analyze it.

I then gathered the over 175 screenshots and strung them all together into a nice video that shows the evolution of the title screen, sequenced in time to a beautiful rendition of "Carol of the Bells" performed by Emmy Rossum.

Enjoy!
dZ.

http://vimeo.com/54165189

Edited by DZ-Jay
Link to comment
Share on other sites

I'm not a programmer, so I need every modern tool that I can get my hands on to make the whole process as easy as possible. The graphical user interface is my friend as long as it's user-friendly.

 

I'd love to have a program that would let me draw batari Basic sprites over the frames of an animated GIF (or maybe even a video too) to get semi-realistic movement.

 

RT,

you are definitely a programmer and deserve credit for not just for coding awesome games but for using a variety of complex development tools!

 

We have so many tools available today that often things can be accomplished as easily and more simply using our existing toolset than adding another tool to the development stack:

Sprite modeling is a tool I see as already there - draw the sprite frames and then simply run the code to model the animation.

 

I think the music and sound tool on your resource site is an example of a fantastic tool; In the 80's I would use a physical lookup table to transpose notes from musical score data. Your tool not only provides the lookup table, it also models the different sounds which is a great advantage.

But to hear the "sound animation" of all of the notes in a song or sound effect sequence, running the code to model the animation is simpler than adding another tool.

 

Great responses, hope to hear more - lot's of interesting thoughts on this thread already! :)

Link to comment
Share on other sites

Personally, I like the challenge of making games for arcane hardware, but I do not fancy arcane tools. I get no additional satisfaction by coding in vim as opposed to an IDE. It's just slower, harder, and makes me less productive, so why would I?

 

Arcane is in the eye of the beholder. vi was a huge step up from ed when I started using it in 1985 or so; emacs' non-modal editing seemed even easier to use when I discovered it in '88, and nothing has surpassed it for me since then. But the business world needed to make programming more accessible in order to make labor cheaper, so we got graphical IDEs that you can't really run on a remote server. Nonetheless, I cut my teeth professionally on Turbo Pascal, Borland C++, Access, VB, Visual Studio, Gambas, and most recently Eclipse.

 

They're all nice for managing projects and (except for TP) drawing user interfaces, and integrated debugging of graphical programs is nice. But none of them has the ease of use for actual coding that emacs does for me after two and a half decades. And as "programming" for most people has evolved to become writing short little pieces of code to connect pre-made components that other people wrote for us, sure, the integrated tools have become more convenient to use. But homebrew video game coding, at least for the first 3 or 4 generations of consoles, is about talking to the bare iron, usually in only one or two source code files. And most of my professional work is web-based, meaning that I write code on a remote server and then debug in my browser using Firebug or the Chrome debugger, with lots of logging and more complex debugging tools for the server side stuff.

 

I've brought up the print dialog in my browser like 5 times while making this post because to me, control-P is always going to mean "previous line". It happens probably 20 times a day, because, even though emacs got arrow key support something like 20 years ago, I still press control-P to move up a line hundreds of times a day.

  • Like 1
Link to comment
Share on other sites

I don't use an IDE though I do use a jEdit, programmer's editor, as the syntax highlighting is so handy for finding typos. I've made my 2600 "mode file" available in my blog.

 

My initial projects (Medieval Mayhem and Stay Frosty) were written in Assembly. I compile it with DASM in an instance of Terminal, the Mac's command line.

My recent projects (Space Rocks, Stay Frosty 2 and others) add C for the code that runs on the ARM chip in the Harmony/Melody. The C code is compiled via command line in a Linux virtual machine as the ARM compiler we use is only available for Linux and Windows.

 

I use some scripts for graphic conversion, like this one on my site. I've also used scripts to compress level data for Stay Frosty 2.

 

I'd be lost without Stella's excellent debugger.

 

Spice,

your projects are really interesting, you've got the most programming power hands down with the ARM and I like the awesome games you build with it - Frantic and Space Rocks are on my Harmony cart!

 

I think there's still a lot of play in the retro expansion formats like the SuperChip, CBS RAM and the SuperCharger; you can take the games back to 1982 without worrying anyone will put the ARM in a glass case like the chip from the Terminator :)

 

post-30777-0-90318000-1388694788.jpg

Link to comment
Share on other sites

For Retro-Development:

 

Editor: Geany

Assembler: ACME (Is anyone else using that one besides me?)

Emulator: Stella for Atari2600 and VICE for Breadbox deving

Sometimes CC65 as a C compiler for C64 stuff.

 

Everything running under Lubuntu on a machine way too oversized for this task. ;)

 

And for the serious programming stuff there is QtCreator.

Link to comment
Share on other sites

Eclipse with WUDSN by JAC!. I already use Eclipse for other types of work and it helps me organize my Atari project (UT2600 is currently spread over 50 separate asm files). I use a simple pixel editor for designing sprites called mtPaint. Assembler: DASM. That and my 12.04 Ubuntu version are the only 'retro' elements of my development process :-D

Link to comment
Share on other sites

I code and test as I go - frequently forgetting to save revisions. That's more backwards rather than retro, though :P

 

LOL! During the early 80's I lost so much work by forgetting to save on my C=64. Later on, when I was in college, I lost a term paper once when the electricity went out in the computer lab, and I hadn't saved my work. Nightmares of my C=64 days haunted me, so I conditioned myself to hit the key combination for saving documents.

 

Whether it's in EDIT.COM, WORD.EXE, TextMate.app, Pages.app, vim--whatever--I have successfully pre-programmed myself to hit the save key sequence on any of the programs I use since then. It's so automatic and so ingrained that I now instinctively know which keys to hit for each of the programs I've ever used; and I hit the sequence after every natural pause in my typing.

 

-dZ.

Edited by DZ-Jay
Link to comment
Share on other sites

RT, you are definitely a programmer and deserve credit for not just for coding awesome games but for using a variety of complex development tools!

Seems like real programmers are good at math and physics. Seems like real programmers are professional and have no problem with time management. Seems like real programmers can break down a program into smaller parts and hold a basic outline of the whole program in their minds. Seems like real programmers know how long each part of the program will take to finish, as if they can see into the future. Seems like real programmers can learn any programming language in the same amount of time it takes the average person to order a burger and fries at a fast food restaurant. Seems like real programmers would never use BASIC unless they had a teaching job and The Man forced them to use it.

 

While I was searching the Internet for related links, I saw a few threads and articles talking about how some people can't seem to gasp any programming concepts, such as how variables work or how if-then works, so I guess that would make people like me amateur semi-programmers. We know how to use things like if-then and goto, but we are not professional, we are bad at time management, we can't hold a flea turd worth of info in our minds, we're lazy, we have the attention span of a hyperactive weasel stuffed into a high-speed blender, and our perfectionist standards are 20 miles higher than our ant hill skills.

 

Related links:

 

10 types of programmers you'll encounter in the field

 

The 5 types of programmers

 

Why Good Programmers Are Lazy and Dumb

 

Everything I Needed to Know About Programming I Learned from BASIC

 

 

 

 

I code and test as I go - frequently forgetting to save revisions. That's more backwards than retro, though :P

LOL! During the early 80's I lost so much work by forgetting to save on my C=64. Later on, when I was in college, I lost a term paper once when the electricity went out in the computer lab, and I hadn't saved my work. Nightmares of my C=64 days haunted me, so I conditioned myself to hit the key combination for saving documents.

I also learned the hard way to save frequently back in the 1980s on my VIC-20 and Commodore 64. Now I use Save As before making any significant changes, so I end up with a boatload of versions of a program before it's finished.

Link to comment
Share on other sites

Eclipse with WUDSN by JAC!. I already use Eclipse for other types of work and it helps me organize my Atari project (UT2600 is currently spread over 50 separate asm files). I use a simple pixel editor for designing sprites called mtPaint. Assembler: DASM. That and my 12.04 Ubuntu version are the only 'retro' elements of my development process :-D

 

Wow, that actually looks kind of awesome, especially for larger C64/NES projects. While I've used graphical tools like Hack-o-matic (which I threw together in tcl one evening 11 years ago; these days I would have found a way to make it a web app) to make it easier to look for player data in ROM files I wanted to hack, this is really the first IDE for assembly language projects that's caught my attention. I already have Eclipse installed anyway, so... might as well give it a go :D

Link to comment
Share on other sites

Seems like real programmers are good at math and physics. Seems like real programmers are professional and have no problem with time management. Seems like real programmers can break down a program into smaller parts and hold a basic outline of the whole program in their minds. Seems like real programmers know how long each part of the program will take to finish, as if they can see into the future. Seems like real programmers can learn any programming language in the same amount of time it takes the average person to order a burger and fries at a fast food restaurant. Seems like real programmers would never use BASIC unless they had a teaching job and The Man forced them to use it.

 

While I was searching the Internet for related links, I saw a few threads and articles talking about how some people can't seem to gasp any programming concepts, such as how variables work or how if-then works, so I guess that would make people like me amateur semi-programmers. We know how to use things like if-then and goto, but we are not professional, we are bad at time management, we can't hold a flea turd worth of info in our minds, we're lazy, we have the attention span of a hyperactive weasel stuffed into a high-speed blender, and our perfectionist standards are 20 miles higher than our ant hill skills.

 

Related links:

 

10 types of programmers you'll encounter in the field

 

The 5 types of programmers

 

Why Good Programmers Are Lazy and Dumb

 

Everything I Needed to Know About Programming I Learned from BASIC

 

 

 

RT in my opinion you're selling yourself short - your skills are more valuable than you realise.

 

I find modern programmers who don't have a foundation with BASIC or Assembly tend to over focus on polymorphism without purpose; they hype the dream stuff of the esoteric super class like the Jubilee revial shout building the most abstract and elagantly designed interfaces, linking them unto many other collections of equally abstract and elegant interfaces.

 

They can literally go for miles, like Pink her Mercedes Benz, stopping to write functional code only when the jig is up and everyone has tired of the dog and pony show with the interfaces - the deliverables have come overdue and the client wants the code.

 

It's often my job to optimise or jumpstart a development team and this problem is worse than the bottlenecks; the bottlenecks are in 2% of the code - this affects nearly all modern developers. IMO it's the real bottleneck that lands most IT projects in the waste basket overbudget and behind schedule.

 

Back before there were programmers IBM came up with perhaps the best assessment test to see which Engineers had the apptitude to code; Chess. Today most companies utilise yet another modern developer and the problem perpetuates itself :)

Link to comment
Share on other sites

Back before there were programmers IBM came up with perhaps the best assessment test to see which Engineers had the apptitude to code; Chess. Today most companies utilise yet another modern developer and the problem perpetuates itself :)

 

Well, I would have been a broom pusher in those days, since I've written everything from assembly to BASIC to COBOL to Lisp to Perl to Javascript for money but could only sporadically beat my electronic chess game even on its easiest level as a teenager, to say nothing of the chess club kids. But then, working at Cold-War-era IBM wouldn't exactly have been a good fit for me, anyway. Dated one of their coders in the early '90s and it had certainly changed, but...

 

To keep it retro, I have fond memories of getting Geoworks Ensemble to run on an IBM PC-XT with an amber monitor, serial mouse, and a keyboard that could be used as a lethal weapon. (It was neat, cooler than my Amiga in some ways, but it didn't have emacs, or even a proper shell.)

Link to comment
Share on other sites

@RT,

 

You make it look like real programmers have a sort of 'God' status. Programmers are people who poop and pee :D

What I think it takes to create a game is at least a lot of creativity and enough programming skills, and the will to finish something.

I defeninitly suck at finishing something :)

 

I find modern programmers who don't have a foundation with BASIC or Assembly tend to over focus on polymorphism without purpose; they hype the dream stuff of the esoteric super class like the Jubilee revial shout building the most abstract and elagantly designed interfaces, linking them unto many other collections of equally abstract and elegant interfaces.

[rant]

Yeah, we have a bunch of those programmers in our company. When I talk to them it's more like: What? no Hibernate for Persistance? No Spring dependancy injection? No Unit tests? What? you have written your database access layer yourselve? You use STORED PROCEDURES? that makes you database dependant. Yep, but you are Java dependant. etc.

[/rant]

 

I've gone full circle from VisualBasic to Deplhi (I had some nice no-OO code which I thought sucked because everyone was into OO) to Java to mostly PL/SQL.

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...