Results 1 to 12 of 12

Thread: Nighthawk 4.0: A restored open source arcade game, Requesting alpha testers

  1. #1
    Junior Member bodeplot's Avatar
    Join Date
    Sep 2014
    Location
    Adelaide
    Posts
    32
    Thanks
    1
    Thanked 19 Times in 7 Posts
    Rep Power
    84
    Reputation
    380

    Default Nighthawk 4.0: A restored open source arcade game, Requesting alpha testers

    Hi All,

    I hope this isn't a bad area to post. I figured this is an area where users familiar with compilers and shells can be found.

    I have restored an open source X-Windows arcade game I wrote in the 1990s called Nighthawk, which is based on a Commodore 64 game called Paradroid. Below are some demonstration videos of this game:





    During this game's restoration, it has been modernised to use OpenGL and OpenAL libraries. Before I unleash this restored game to the public, I would like a handful of people to test it. Requirements for testers are:

    Linux users (and possibly OS/X users) only need to be able to pull down required libraries using their favourite software manager and have basic shell command skills (ie: running cmake and make commands). This should build pretty easy on your system (fingers crossed).

    Windows developers: This game has not been ported to Windows yet, but it should be pretty easy. I was intending for this to happen further down the track. But if you're a C/C++ Windows developer and would like to scope the effort required for a port, then contact me.

    This game has been developed using these library versions. Consider them minimum requirements. For versions less than specified, mileage may vary:

    - gcc and g++ (Version 7)
    - cmake 3.13.4
    - glibc 2.28 (pthreads and maths library)
    - pkg-config 0.29.1
    - libpng 1.6.36
    - OpenGL/GLU 1.3
    - FreeGLUT 3.2.1
    - Ogg Vorbis 1.3.6
    - OpenAL 1.19.1

    PM me if you're interested in helping

    Cheers J
    Last edited by bodeplot; 19-10-20 at 11:18 PM. Reason: Video links not displaying. Converted to txt links



Look Here ->
  • #2
    Premium Member
    wotnot's Avatar
    Join Date
    Nov 2019
    Posts
    1,160
    Thanks
    450
    Thanked 892 Times in 506 Posts
    Rep Power
    408
    Reputation
    17850

    Default

    PM'd

  • #3
    Premium Member
    wotnot's Avatar
    Join Date
    Nov 2019
    Posts
    1,160
    Thanks
    450
    Thanked 892 Times in 506 Posts
    Rep Power
    408
    Reputation
    17850

    Default

    Compiles. runs, with caveats (all software can be better =)

    *Debian 10 ccmake package target is actually cmake-curses-gui

    *that is needed, because you'll need to do ccmake . and set $installdir to /usr (default is set to . ....ie; $cwd)

    *pkg-config won't find GLUT (probably a missing .pc file), but does get it right with -lglut to rope in that lib

    *I don't like cmake (personal gripe =)

    *needs a fullscreen mode ; full window works, but some transitions don't scale to full window

    I recognize this from my Amiga days ...I recognize some sound effects too....(or reminds me of some 'found sounds')

    All good fun B^)

  • #4
    Junior Member bodeplot's Avatar
    Join Date
    Sep 2014
    Location
    Adelaide
    Posts
    32
    Thanks
    1
    Thanked 19 Times in 7 Posts
    Rep Power
    84
    Reputation
    380

    Default

    Awesome feedback wotnot !. Thank you very much

    Damnit. I forgot about the cmake-curses-gui. Thanks

    Because this is a restricted alpha version, I decided to temporally make the install target "." so everything is installed in the build directory (it makes it easier for me doing fixes to the config and data files during alpha testing phase). When it goes beta, the default install path will be set to "/usr/local"

    The glut library on two of my notebooks (Mint Linux and Ubuntu) does not have a pkg-config definition. So I had to override it in the CMake scripts. I might send a message to the author of GLUT to let him know this.

    I was agonising over to either use autoconf/automake or CMake. I choose CMake over autoconf/automake because autoconf/automake is very difficult to master and very messy (I've never got my head around it be honest). CMake is very easy to develop with, very clean and lots of examples and tutorials on the net. The online help is good. CMake also seems to be more cross-platform popular (Windows, Android etc). I envision this game being ported to other operating systems in the future. If CMake becomes problematic in future, it's easy to change to autoconf/automake.

    Unfortunately, Nighthawk was developed on 4:3 aspect CRT monitors (It used to be full screen back then ). When I ported it to OpenGL, OpenGL has the ability to scale the display to whatever size you like without changing the (virtual ?) screen resolution of the game (if that makes sense). In other words, it was very minimal change to the code to port it from XWindows to OpenGL. The down size to this is the game still thinks it's running on a 4:3 screen. I've coded the game to to enforce 4:3 aspect. So, in summary, I made a design decision to keep the original game how it was, and this implies 4:3 aspect ratio. I sure this is going to get a lot of bad feedback. But I don't know anyway around it without making the game easier to play than the original XWindows game (ie: more floor space will be visible in wide screen display). This game is GPL software. If this annoyance gets enough resistance, I am sure somebody will fork it LOL

    Yes, the game has an 8 bit Amiga module flavour to it (particularly Vincent Voois's music track). Regarding FX, half are mine own, half are from public domain (from Amiga modules). Full credits/acknowledgements are in the README file.

    Thanks for your feedback and help . Much appreciated mate.

    J

  • #5
    Premium Member
    wotnot's Avatar
    Join Date
    Nov 2019
    Posts
    1,160
    Thanks
    450
    Thanked 892 Times in 506 Posts
    Rep Power
    408
    Reputation
    17850

    Default

    No problems buddy, I've only just scratched the surface really =)

    I was actually surprised to see pkg-config being used tbh ~ I've had wars with it before (building my own linux distros) ; pkgconf is a bit nicer all things considered

    As I'm the age I am, and grew up with autoconf/automake and changing lifelong habits is sometimes a hard ask =) For instance, I still use sysv-init ....hahaha =)

    Yeah, I hear you about monitor aspect ratios -- pita (and technology's fault =) I did roughly 10years working on/with WINE, and getting older games to 'play properly' on widescreen rigs *IS* a pita. Invariably you end up using windowed mode. At least you put a grab-mouse widget in the mix ; win32 games very seldom did. Not sure where SDL is these days, but that was a good compromise for porting old targets...but... same old'same old really ; I still have a 19" 4:3 LCD screen here (for the A1200)....to lots of retro-gamers, this is an essential bit of kit. Which of course, is the other way of looking at it (pun) ; people who complain about this (and they will =), are just not hardcore enough with their retro-gaming

    Audio in the game is very good overall ~ and openal works fine (clicking a window closed as opposed to quit the game hoists an openal error, but that'll be a gtk thang for sure)

    Just for shits & giggles, listen to the first few seconds of this ....familiar? =^)

  • The Following User Says Thank You to wotnot For This Useful Post:

    bodeplot (22-10-20)

  • #6
    Junior Member bodeplot's Avatar
    Join Date
    Sep 2014
    Location
    Adelaide
    Posts
    32
    Thanks
    1
    Thanked 19 Times in 7 Posts
    Rep Power
    84
    Reputation
    380

    Default

    Thanks for your detailed feedback. I've replied to your points via email

    I'm not a big fan of pkg-config either. But it seems to be very cross platform adopted.

    I'm the most familiar with configure scripts as well. Most distributions use it.

    The mouse-grabber was Eric's idea. He really pushed for me to code it, and I'm glad he did now.

    With the wide screen mode, if there is enough push for it, it will get changed.

    Okay, I'll look into the openal error. That should not happen. The end_game() hook should take care of a nice ending to the program.

    Oh bugger, these sound FX are a such a bug bear for IP violations. That sample was from a music module by Anders Akerheden and it looks like he may have ripped it from the song in the link. I should return it back to a no sound game LOL
    Last edited by bodeplot; 22-10-20 at 12:18 AM.

  • #7
    Premium Member
    wotnot's Avatar
    Join Date
    Nov 2019
    Posts
    1,160
    Thanks
    450
    Thanked 892 Times in 506 Posts
    Rep Power
    408
    Reputation
    17850

    Default

    No worries - pkg-config wasn't even present on my instance -- I *think* that's what happens when one chooses XFCE over Gnome for desktop iirc

    Ummm....you'd really have to email Tom (Ellard) as to where that sound came from, if indeed he even remembers =) It was after all, 1992, and that's going to be a stretch for a cut-up/loop/sample artist like TE to narrow down ; like, he may have sampled that sound from the same source material, very really, and he only used that small snippet in the song ; this would be not unsurprising for Tom either - he had Amigas etc back in the day. He's a nice bloke though, and if it were something he created, he'd be happy with a credit me thinks =) I'd guess he got it from somewhere else himself, gut feeling -- he's a bastard of a man in the nicest possible way -- some tracks he's done contain audio samples from movie/radio/teevee source material of any type, from anywhere and any point in time ; you hear things in songs that you know you've heard before somewhere in your deep dark past, and you can't recall what it was =) That particular sound sample however, is somewhat unique...it's hard to forget hearing it. I wonder if it's fairlight voice?...has that quality about it.

    If you want to hear a weird one about IP and music/sound FX ... all those old dos/win3.11/win95 games that came out, which often relied on midi support (in hardware or software) for sound generation ; by the time win95 had manifest itself, it came default with a soft-midi generator that utilized the standard GM-1 sound set (midi patches), and in this case those patches were licensed to M$ by Roland for exclusive use within the win95 OS. You said no sound game, and in the wine context so did many others...but for whatever reason no one had figured out all the direct sound/direct midi code was actually working, just the midi patches were missing from the wine environment. Thus, some intrepid idiot still sitting at the keyboard typing now, figured it would be a nice idea to dump the midi.patches out of win95 image, and bottle them up into an install wrapper....me thinking "who gives a shit about this IP anymore"...this was 2010 or such.

    3 weeks =) Took that long before I got a takedown notice -- a midi.patch is like a fingerprint ; clearly I underestimated the possibility of someone's automated detection process being up to snuff ...or... you get that - places like the wine community attract 'IP trolls'

    I know what's missing ...for me here, that is...I would've played this sort of game with simple joystick & keyboard...hmmm....where's my USB D-pad
    Last edited by wotnot; 22-10-20 at 03:47 AM.

  • #8
    Junior Member bodeplot's Avatar
    Join Date
    Sep 2014
    Location
    Adelaide
    Posts
    32
    Thanks
    1
    Thanked 19 Times in 7 Posts
    Rep Power
    84
    Reputation
    380

    Default

    Nighthawk got burnt in the last 90s when I put Starwars FX in the game (which were originally meant to be temporary). Unfortunately, I released them in the game, and this halted distribution of the game (namely Debian, which I didn't find out until a few years later). I want to try my best to make the version as distributable as I can. It's probably easier just to replace the sound FX rather than contact Tom.

  • #9
    Premium Member
    wotnot's Avatar
    Join Date
    Nov 2019
    Posts
    1,160
    Thanks
    450
    Thanked 892 Times in 506 Posts
    Rep Power
    408
    Reputation
    17850

    Default

    Uh-huh, got the picture there -- it's more than easy to stand on someone else's toes 'without realizing' ... as you know, most all soundtracker type mods are just samples of other source material as well, and it always ..amused... me why no copyright holders back then really went after the modscene for recompense due to the blatant and obvious use of others' original material... it's not as though Rolf Harris went after Echo for the Jesus on E's demo soundtrack =) Times change -- back then it was an extension of artistic usage ; now look what we've got, sad turnout =^/

    I might contact Tom just out of personal interest ~ that sound has always held a fascination in me, it's a very unique noise ; I should actually listen to the sound files all up, I might discern others {shrug}...

    Still, rule of thumb...if I can spot things like I do, someone else is bound to as well. There's something to be said for a game (rework or not) with it's own OST and SFX, with nothing borrowed from anywhere else

    Not that it's all that hard to do now-a-days either ; a decade and a half ago I created a background sound track for an display installation for a Uni arts student. I decided to go with AMS (), with a full set of LADSPA/MCP plugins, plus the rig itself had an emu10k1 based soundcard (SB!Live), so you could rope in it's hardware DSPs via midi...makes for a good toy, you can do a -lot- with AMS to create original sound content, I can't begin to think of any limit to what you do with it sound synthesis wise.

    I've always admired Jonathan Mak's work with Queasy Games for the inventive use of music fused with and into SFX... the game 'Everyday Shooter' springs to mind.

    I like the 'found sounds' concept, wherein anything that makes a noise, could be producing the sound of a possible 'instrument', Foley, or SFX.

  • #10
    Premium Member
    wotnot's Avatar
    Join Date
    Nov 2019
    Posts
    1,160
    Thanks
    450
    Thanked 892 Times in 506 Posts
    Rep Power
    408
    Reputation
    17850

    Default

    Thought I'd just add to this and tie off a loose end...first.

    I guess you'd have to had played the game (at the point in time before the sample was changed) to understand what sound sample we're referencing, and listen to the link I referenced above to spot it -- as it turns out, the sample we're talking about is a midi patch owned by a musical instrument company...and in essence you would have to buy/own the machine to use that 'sound' in a public, unrestricted way...or something like this (Tom owned said machine back in the day) A different sound sample is used now, but one supposes one could grab and older archive from the nighthawk attic on github, to relive what I'm waffling on about here =)

    I'm not altogether sure if I consider this game in 'alpha' state now ~ I might not code anymore, but it's like learning to ride a pushbike ; you never forget it. So these days I just read/see things, and pop suggestions, proof read, and polish/test the welds. I am handy around a linux box tho' =)

    This... nighthawk... is a good game ; it forces you to think. It may look like a top down shoot-him-up, but you won't get far until you learn when to shoot what, or not, and form a strategy. I've as yet not observed any crashing or misbehavior, but probably still consider it 'beta' due to display handling code that has yet to be written =) Actually...now that I think about, if you launch from cli you'll get a warning alluding to this situation, but if you launch it from desktop icon/menu, you'd be blissfully unaware as to what's going on.

    In that regard, one of my pop suggestions was you'll not get far with testing/users, if the only thing they've got is a tarball and the expectancy of being able to deal with that -- you'll get further with a binary package of some kind.

    To that end, I crufted together a custom debian package, built against this amd64 deb10.6 instance ~ package reportedly also works on ubuntu20.20 (it's probably good for all current linux distros based on debian =) If/when the game gets to 'release' status, I might make an 'official' package, but right now it is what it is, and provides desktop integration and no need to compile..blablablah. I imagine this package will become available sometime, but that's up to the owner ; I'm just a mechanic

    About that...bodeplot asked me if I knew of any cheap web hosting, but the simple answer to that is "do it yourself" ...in reality, that was more "don't worry, I'll just set that up here at home" ; I knew I had an rpi in a drawer somewhere (model2/revB), and for a low traffic site of less that 50mb worth of content, it's more than enough...look, here it is



    As it is, bodeplot has done some interesting electronics/technical stuff over the years (as well as the game Nighthawk), so some of your here may find his site holds interesting content.

    For those of you perhaps interested in the nighthawk-4.0 debian package, that'll likely turn up on the server as well 'anytime soon now' -->

  • #11
    Premium Member
    wotnot's Avatar
    Join Date
    Nov 2019
    Posts
    1,160
    Thanks
    450
    Thanked 892 Times in 506 Posts
    Rep Power
    408
    Reputation
    17850

    Default

    Indeed...if you're running Debian 10 in amd64 guise or something similar (as said, works with ubuntu 20.20), you can now grab the .deb package here -->

    Njoy!

  • #12
    Junior Member bodeplot's Avatar
    Join Date
    Sep 2014
    Location
    Adelaide
    Posts
    32
    Thanks
    1
    Thanked 19 Times in 7 Posts
    Rep Power
    84
    Reputation
    380

    Default

    Thanks for your testing and support wotnot. You were a massive help

    Nighthawk 4.0 (stable) should be announced soon. Just needing to update the official web site.

    Cheers

  • Bookmarks

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •