Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
steckles
Jan 14, 2006

Volte posted:

This is really awesome. As far as the file format issue goes, I wrote a (simplistic, non-physically-based) raytracer for a course last year and rather than messing around with trying to come up with a sane file format (actually I did that and then gave up), I ended up embedding Lua in the renderer and writing a Lua library/DSL for generating the scene.
This is something I've thought of. It certainly has a lot of benefits, but I think these diminish a bit as the program matures. It's handy to generate scenes algorithmically, but I'd like the ray tracer to speak to modelling programs and a Turing complete file format becomes less useful when you're just expecting a bunch of vertices and faces.

It's an interesting question.

piratepilates posted:

You should update your dang blog more often
Sadly, I enjoy doing things more than I enjoy writing about doing things. Also I write at about the same speed that glaciers move. I've registered a new domain for this ray tracer though and I'm hoping to do some write ups soon.

Adbot
ADBOT LOVES YOU

akadajet
Sep 14, 2003

steckles posted:

1920x1200 wallpaper sized clock, with classic spelling. Use it in good health.

Thanks!

SlightlyMadman
Jan 14, 2005

My game is becoming progressively less an FTL clone and more "Dwarf Fortress ... IN SPACE!" but I'm still having fun with it. The grey letters are room designations (Bridge, Engineering, Quarters, etc.) and each room has consoles and systems.

quiggy
Aug 7, 2010

[in Russian] Oof.


SlightlyMadman posted:

My game is becoming progressively less an FTL clone and more "Dwarf Fortress ... IN SPACE!" but I'm still having fun with it. The grey letters are room designations (Bridge, Engineering, Quarters, etc.) and each room has consoles and systems.



This looks awesome. I'm guessing from the graphical style that you're using libtcod, yes? What language are you writing in?

SlightlyMadman
Jan 14, 2005

quiggy posted:

This looks awesome. I'm guessing from the graphical style that you're using libtcod, yes? What language are you writing in?

Yep, libtcod and python. I'm trying to take a pseudo-pixel approach to it by using small fonts and images with subpixel blitting. I have a lot of public domain 64x64 ship art, and I'll be adding in some particle and fire effects, as well. I'm also trying to stick to using symbols instead of letters for most of the objects on screen, so that the font can later be changed to graphical tiles while still allowing text to be printed using the same font. I'll be keeping them all monochrome though, so I can apply color variations in code.

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

SlightlyMadman posted:

My game is becoming progressively less an FTL clone and more "Dwarf Fortress ... IN SPACE!" but I'm still having fun with it. The grey letters are room designations (Bridge, Engineering, Quarters, etc.) and each room has consoles and systems.


I suppose accidentally flooding the ship with lava is out, but maybe they can ham hand the plasma pressure into causing a severe plasma system rupture?

SlightlyMadman
Jan 14, 2005

Shalinor posted:

I suppose accidentally flooding the ship with lava is out, but maybe they can ham hand the plasma pressure into causing a severe plasma system rupture?

Yeah, the crew will be mostly autonomous, so they'll definitely screw up sometimes and blow up the ship. I do like the idea of flooding the ship with plasma though, I might have to add that in. I'm going to avoid the straightforward combat route of hit points and make it more of a fight to disable the enemy ship and board it. They won't actually explode unless you rupture the warp reactor.

edit: Here's a few more ship designs in the combat panel, to show what I mean about simulated pixel art with ASCII:






SlightlyMadman fucked around with this message at 16:56 on Oct 11, 2012

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
Third one from the top looks like a dong

quiggy
Aug 7, 2010

[in Russian] Oof.


Otto Skorzeny posted:

Third one from the top looks like a dong

That just means it's true to the source material:

Grawl
Aug 28, 2008

Do the D.A.N.C.E
1234, fight!
Stick to the B.E.A.T
Get ready to ignite
You were such a P.Y.T
Catching all the lights
Just easy as A.B.C
That's how we make it right

Is this a Tyrian sprite?

Ferg
May 6, 2007

Lipstick Apathy
I've gotten the NROM, UNROM, CNROM, MMC1 and MMC3 mappers pretty much situated (still not perfect on MMC1 and MMC3 but game compatibility has been really good overall). I still haven't touched audio, namely because I know nothing about sound or anything to do with it so I'll approach that as a separate learning experience. I've open-sourced my emulator here: https://github.com/scottferg/Fergulator

Still continuing to update it pretty frequently but I'm now splitting my time between this and a Gameboy emu that I wanted to build for the Nexus 7.







Edit: And as these screenshots show, I've replaced the output engine with OpenGL and have runtime scaling as well as overscan emulation (which I'm pretty sure is done incorrectly).

SlightlyMadman
Jan 14, 2005

Grawl posted:

Is this a Tyrian sprite?

Yep, they've all been released to the public domain, so I'm using those and some other public domain shmup and rts sprites as the source bitmaps for my ASCII blitting.

Toekutr
Dec 9, 2008
I wrote a chip-8 emulator last night and thought it would be cool to try to compile entire chip-8 programs into lisp and use sbcl's compiler to optimize the resulting code.



It can't handle self-modifying code, and I haven't actually written the graphics or input routines yet (besides printing a bunch of 1s and 0s), but this is so cool those can wait.

Surface
May 5, 2007
<3 boomstick
More updates to Eve-Trader. Now using Datatables with server-side processing for ajaxy goodness.

Pseudo-God
Mar 13, 2006

I just love oranges!

Ferg posted:

I've gotten the NROM, UNROM, CNROM, MMC1 and MMC3 mappers pretty much situated (still not perfect on MMC1 and MMC3 but game compatibility has been really good overall). I still haven't touched audio, namely because I know nothing about sound or anything to do with it so I'll approach that as a separate learning experience. I've open-sourced my emulator here: https://github.com/scottferg/Fergulator

Still continuing to update it pretty frequently but I'm now splitting my time between this and a Gameboy emu that I wanted to build for the Nexus 7.







Edit: And as these screenshots show, I've replaced the output engine with OpenGL and have runtime scaling as well as overscan emulation (which I'm pretty sure is done incorrectly).

I've always wanted to make an emulator, can you point me to some resources so I can get started?

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Start by writing an emulator for the 6502. You can find plenty of data sheets and dumb test programs on the web.

Once you're done with that, try writing some emulators for the rest of the stuff.

http://emu-docs.org/
http://nesdev.com/

These should hook you up.

Because I'm crazy, I'm trying to write one of these but for the Game Boy Color, in JavaScript.

Mug
Apr 26, 2005
Cross-posting from the Making Games Megathread just to say that holy poo poo it can be really hard making items on a 2D plane (the floating popup arrows) correctly align with an isometrically skewed plane. Took a couple of hours of tiny adjustments but it looks like they're lining up all good now.

Toekutr
Dec 9, 2008

Toekutr posted:

I wrote a chip-8 emulator last night and thought it would be cool to try to compile entire chip-8 programs into lisp and use sbcl's compiler to optimize the resulting code.



It can't handle self-modifying code, and I haven't actually written the graphics or input routines yet (besides printing a bunch of 1s and 0s), but this is so cool those can wait.

I was about to finish my whole-program compiler when I got to the 0xBNNN opcode, which jumps to the address (v0 + NNN). I can't calculate the contents of v0 at compile-time (at least, without major dataflow analysis), and just compiling each possible jump would probably result in an explosion of code. Anyone know how to deal with this, if it's possible?

Pfhreak
Jan 30, 2004

Frog Blast The Vent Core!

Mug posted:

Cross-posting from the Making Games Megathread just to say that holy poo poo it can be really hard making items on a 2D plane (the floating popup arrows) correctly align with an isometrically skewed plane. Took a couple of hours of tiny adjustments but it looks like they're lining up all good now.


Now that you've pointed it out, it seems like lots of things aren't lined up. The doors, the plants, the box in the bottom. The lines on the walls and the floor cells.

Mug
Apr 26, 2005

Pfhreak posted:

Now that you've pointed it out, it seems like lots of things aren't lined up. The doors, the plants, the box in the bottom. The lines on the walls and the floor cells.

Yep, lots of misaligned stuff. Fixing the floating arrows was basically a process of making a few functions that line-up sprites based on their width and height correctly. Now I can work this function into all the other rendering parts.

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

Ferg posted:

I've gotten the NROM, UNROM, CNROM, MMC1 and MMC3 mappers pretty much situated (still not perfect on MMC1 and MMC3 but game compatibility has been really good overall). I still haven't touched audio, namely because I know nothing about sound or anything to do with it so I'll approach that as a separate learning experience. I've open-sourced my emulator here: https://github.com/scottferg/Fergulator

Still continuing to update it pretty frequently but I'm now splitting my time between this and a Gameboy emu that I wanted to build for the Nexus 7.







Edit: And as these screenshots show, I've replaced the output engine with OpenGL and have runtime scaling as well as overscan emulation (which I'm pretty sure is done incorrectly).

Holy poo poo, a well-commented emulator with actual unit tests that I can follow by reading the source! Bravo.

Ferg
May 6, 2007

Lipstick Apathy

Suspicious Dish posted:

Start by writing an emulator for the 6502. You can find plenty of data sheets and dumb test programs on the web.

Once you're done with that, try writing some emulators for the rest of the stuff.

http://emu-docs.org/
http://nesdev.com/

These should hook you up.

Because I'm crazy, I'm trying to write one of these but for the Game Boy Color, in JavaScript.

I have a Gameboy emulator in the works as well, but screw that Color garbage. I'm only supporting the original hardware and LCD palette and it will look like poo poo :smug:

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Ferg posted:

I have a Gameboy emulator in the works as well, but screw that Color garbage. I'm only supporting the original hardware and LCD palette and it will look like poo poo :smug:

While I was researching the GameBoy, I learned that the Color is literally just an extra palette, some more memory, and a few exrta graphics modes, so I was like "either I could have an emulator for Tetris and that's it, or for a tiny bit of extra effort have something that I can be proud of"

Ferg
May 6, 2007

Lipstick Apathy

Suspicious Dish posted:

While I was researching the GameBoy, I learned that the Color is literally just an extra palette, some more memory, and a few exrta graphics modes, so I was like "either I could have an emulator for Tetris and that's it, or for a tiny bit of extra effort have something that I can be proud of"

The CPU is a superset of the original as well isn't it?

fcbarros
Mar 28, 2011

Ferg posted:

I have a Gameboy emulator in the works as well, but screw that Color garbage. I'm only supporting the original hardware and LCD palette and it will look like poo poo :smug:

I was one of the original authors of PCSX2, a Playstation 2 emulator, I helped wrote one for GameCube, I wrote OpenGLide that was the best Glide wrapper, good old times....
Emulation is a huge and exciting world, I doubt you will stop there. :clint:

Ferg
May 6, 2007

Lipstick Apathy

fcbarros posted:

I was one of the original authors of PCSX2, a Playstation 2 emulator, I helped wrote one for GameCube, I wrote OpenGLide that was the best Glide wrapper, good old times....
Emulation is a huge and exciting world, I doubt you will stop there. :clint:

Oh totally but I need to lie to myself that a low bar will satisfy my curiosity.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Ferg posted:

The CPU is a superset of the original as well isn't it?

Surprisingly, data on the Gameboy Color is hard to find. I've been going on what I've found online, and in other emulators. I can't find any information on any new CPU instructions added for it.

Ferg
May 6, 2007

Lipstick Apathy

Suspicious Dish posted:

Surprisingly, data on the Gameboy Color is hard to find. I've been going on what I've found online, and in other emulators. I can't find any information on any new CPU instructions added for it.

Yeah I've been finding info is available but not terribly descriptive. My understanding was that the bottom table at this link was for Gameboy Color, but that's basically just because I've been seeing a lot of CB and CGB abbreviations without any clue as to what they really mean: http://imrannazar.com/Gameboy-Z80-Opcode-Map

o.m. 94
Nov 23, 2009

HTML5 / Canvas Go tutorial in order to learn Javascript; it's been relatively painless so far- I can load up boards of 9x9, 13x13 and 19x19. Soon I'll have to implement the game logic which will no doubt be the real challenge.

o.m. 94 fucked around with this message at 14:37 on Oct 16, 2012

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Go is one of those games that I've always wanted to learn but always seemed too complicated.

So, good idea! I'll certainly check it out when I'm done.

o.m. 94
Nov 23, 2009

There's a fairly good intro post in this thread. Find your way to ITGO on KGS and I'll give you some teaching lessons...

Scaevolus
Apr 16, 2007

Suspicious Dish posted:

Surprisingly, data on the Gameboy Color is hard to find. I've been going on what I've found online, and in other emulators. I can't find any information on any new CPU instructions added for it.
The CGB CPU can run at 8MHz instead of 4MHz, but is otherwise identical.

http://nocash.emubase.de/pandocs.htm is pretty comprehensive

Ferg
May 6, 2007

Lipstick Apathy

Scaevolus posted:

The CGB CPU can run at 8MHz instead of 4MHz, but is otherwise identical.

http://nocash.emubase.de/pandocs.htm is pretty comprehensive

Yeah I had a pretty sweet :doh: moment last night when I realized the one opcode I missed on my CPU was 0xCB and those instructions were an extended set. Looks like CGB should be way too simple to not do after all.

SlightlyMadman
Jan 14, 2005

Added full layout support for configurable ships to my spaceship management game. The enemy shown on the right-hand side of the screen is a weapons-heavy ship with only basic shields and limited engine power for its size, but has to run two huge reactor rooms to power the weapons system. The player's ship has an energy shield up.



Now I just need to make them fight!

oTHi
Feb 28, 2011

This post is brought to you by Molten Boron.
Nobody doesn't like Molten Boron!.
Lipstick Apathy

I find your use of "Morale: Satisfactory" to be ambiguous. What if I'm an alien despot, and my idea of 'satisfactory' is a bunch of terrified slaves being endlessly beaten with cattleprods? :colbert:

On a serious note, looks good. I'm fiddling with Ogre, and so far, so painful. (Mostly my fault for sucking at C++ :negative:)

SlightlyMadman
Jan 14, 2005

oTHi posted:

I find your use of "Morale: Satisfactory" to be ambiguous. What if I'm an alien despot, and my idea of 'satisfactory' is a bunch of terrified slaves being endlessly beaten with cattleprods? :colbert:

On a serious note, looks good. I'm fiddling with Ogre, and so far, so painful. (Mostly my fault for sucking at C++ :negative:)

Haha, yeah the lower-right box is all just placeholder text for the moment. It's funny you should mention that though, because one of the races in the game is an insectoid species that will never suffer morale problems. If any other races share a ship with them though, they'll be constantly terrified whenever they see them and morale will be unmanageable unless you can keep them away from each other.

I work in python for projects like this because it's so easy to try out different ideas. I figure I can rewrite it in C++ later on if I need to, but every time I try writing a new game in C++ I end up spending so much time chasing down pointer errors that I can't get anything done unless I have it completely planned out from the start.

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."
Built a TinyBASIC interpreter/REPL for a class I'm teaching to middle-schoolers.







That first screenshot is a Java executable if you give it a .jar extension. Source (Forth).

SlightlyMadman
Jan 14, 2005

Nice, you type the line numbers in with your code, so you can go back and overwrite a line, or insert between them with a number between them? Something about that really made you think about what you were doing, and I'm sorry for people learning to code with text editors that they miss that.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

SlightlyMadman posted:

Nice, you type the line numbers in with your code, so you can go back and overwrite a line, or insert between them with a number between them? Something about that really made you think about what you were doing, and I'm sorry for people learning to code with text editors that they miss that.

Typing code out of magazines was fun!

Adbot
ADBOT LOVES YOU

SlightlyMadman
Jan 14, 2005

Thermopyle posted:

Typing code out of magazines was fun!

There was definitely something to be said for checking out a book full of video games from the library for free.

edit: This was the poo poo, right here:

SlightlyMadman fucked around with this message at 01:46 on Oct 19, 2012

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply