Come posso registrare il mio gioco di grafica vettoriale senza sfocare la grafica?


15

Molte persone hanno chiesto un trailer per il mio gioco, perché gli screenshot non rendono giustizia. Ho testato PlayClaw, Fraps, CamStudio, VirtualDub e alcuni altri strumenti minori; nessuno ha prodotto un risultato praticabile. Il mio gioco utilizza la grafica vettoriale ed è progettato per funzionare a 60 fps, quindi la compressione con perdita di dati di un normale video di cattura dello schermo distrugge il fascino grafico.

Come posso registrare il gioco senza offuscare la mia grafica e rallentare il framerate?


2
frappole è troppo lento per te? assicurati di averlo impostato per registrare a 60 fps e non sui 30 fps predefiniti.
David Young,

Potresti rendere la tua domanda un po 'più ampia? penso che sarebbe interessante sapere non online sulla registrazione del gioco stesso per un semplice trailer, ma anche per la produzione di video che verranno visualizzati nel gioco, le cosiddette Cut Scenes o anche i trailer con l'aggiunta di ulteriori effetti visivi come il passaggio parti del video ecc ... Suggerendola alla tua domanda poiché ci sono domande simili intorno a I Belive ...
Prix

1
Il Prix sarebbe troppo diverso ... Making Cut Scenes è un altro campo di lavoro!
speeder,

3
Penso che dovresti davvero riconsiderare le trappole. Di tutte le soluzioni che ho visto ha la migliore qualità e non esiste un logo per un piccolo investimento. (Non hai detto libero, nella tua domanda)
Jesse Dorsey

3
Sto con la mia risposta precedente. Se riesci a riprodurre l'input e forzare (o persino riprodurre) il timestep, puoi registrare i fotogrammi grezzi e fare a loro piacimento senza alcuna perdita di qualità.
Kaj,

Risposte:


22

Rendi il tuo framerate di gioco indipendente, così puoi impostarlo per giocare con un timestep fisso. Gioca, registra l'input. Riproduzione con timestep fisso, input registrato e scrittura di ogni frame in un file - poiché si riproduce con timestep fisso, non importa quanto tempo richiede la scrittura di un frame. In questo modo il tuo metraggio sorgente non è compresso e puoi decidere la qualità in un secondo momento senza sacrificare la velocità o senza problemi a causa di un programma di acquisizione. Dopo che cose come After Effects entrano - almeno avrai materiale sorgente nitido.

Modificato per aggiungere: sì, lo so, renderlo framerato indipendente da riprodurre a un orario prestabilito è sciocco. Duh. Bene, se i suoi frammenti indipendenti da framerate potrebbero anche essere un problema minore; o) I giochi dovrebbero comunque essere indipendenti da framerate!


5
L'indipendenza frammentata e la riproduzione deterministica sono utili anche per i test. Noel Llopis ha un buon articolo qui: gamesfromwithin.com/back-to-the-future-part-1 (c'è anche una seconda parte collegata).
Celion,

Quindi ... la tua idea è ricodificare l'intero motore (che non ho fatto tra parentesi) per supportarlo in qualche modo per registrare l'input e riprodurre perfettamente quell'input menzionato? Ci dispiace, ma questo non funziona, specialmente perché anche se il gioco è deterministico (gli unici effetti casuali sono negli effetti visivi) il motore fisico può fluttuare e non funzionerebbe correttamente ... Sto chiedendo cose di marketing, non di programmazione .
speeder

Se il motore fisico può fluttuare non è deterministico. La registrazione in ingresso (nella maggior parte dei motori) si collega in un punto, difficilmente "ricodifica l'intero motore" ..... comunque, ti sento. <b> La codifica video è un'operazione piuttosto costosa, una compressione senza perdita ma buona è più costosa . Se l'accesso al disco fisso è davvero il problema, potresti prendere in considerazione la configurazione di un disco ram se hai la memoria da risparmiare. Per quanto riguarda il tuo commento sul marketing, mi dispiace, pensavo che fossi alla ricerca di una soluzione - questo ti preparerebbe anche per il futuro (e se avessi bisogno di hi-res?). Se è fuori portata, allora ... ram-disk.
Kaj,

Perché "rendere sciocco il framerate da riprodurre a un timestep fisso"? Affinché l'output del framerate fisso contenga la sequenza registrata, deve essere indipendente dal framerate durante la registrazione.
falstro,

Non necessariamente. Se il fotogramma viene eseguito a un framerate fisso garantito (relativamente improbabile, ma se) è possibile riprodurre nuovamente l'alimentazione dei tasti appena entrati e assumendo lo stesso timestep. Inoltre, suonava sciocco: op
Kaj,

8

Questo articolo su Pixel Prospector potrebbe essere quello che ti serve:

Come registrare e modificare i video di gioco

Il gioco utilizzato nel video è NeonPlat 2, che utilizza anche grafica vettoriale.

L'articolo copre tutto, dall'acquisizione alla modifica.


Ok, sto assegnando la taglia per questo, che è quello che in realtà era MOLTO corretto ... Comunque, grazie a Kaj per aver menzionato le unità RAM (risolto il problema della lentezza del disco), ma non posso assegnare una ... metà -importo per ogni risposta.
speeder

Nessun problema. Spero che tu sia riuscito a ottenere qualcosa afferrato correttamente!
Kaj,

2
The archived page is here. They updated the page it seems as big list of screenrecording software
bobobobo

4

For recording your game footage, you could try CamStudio, which is free. I find that it doesn't work with games in full screen mode though, so you'll want to run your game in a window.

Per quanto riguarda la realizzazione del trailer effettivo, ti servirà un software di editing video. Esistono diverse opzioni commerciali costose, ma se stai cercando qualcosa di gratuito, la tua scelta è più limitata. Puoi provare Windows Movie Maker o iMovie se hai un Mac, ma il miglior editor video gratuito che ho trovato è Blender , più noto come strumento di modellazione e animazione 3D. L'interfaccia utente non è intuitiva, ma se passi del tempo per impararla, ti metterai anche le mani su un ottimo strumento di editing video.


3

La mia migliore esperienza è con Fraps ma ho usato la versione completa (mi è sembrato un piccolo premio una tantum per pagare una grande utilità) che non ha limiti o logo. Puoi impostare il framerate in anticipo, come ha suggerito David Young nel suo commento. Come molti strumenti di acquisizione video, Fraps utilizza una compressione a basso costo durante la registrazione, che può quindi essere convertita in un formato di compressione più elevato a scelta. Per questo di solito uso VirtualDub.

Non ho avuto alcun problema a eseguire Fraps dietro il mio gioco a tutta velocità (50 fps nel mio caso) per ottenere acquisizioni di alta qualità.

The key issue here is that capturing requires some performance, and you should always try to to it on the best computer available. More specifically, the capturing tool makes substantial and continual disk writes so choosing to store the file on a fast hard drive is key. Laptops often come with slower-access hard drives so this may affect performance a lot. Using a smaller frame size during the capture gives the hard drive an easier time and could keep your framerate up. Fraps allows you to set half-size frames.

In the case of Fraps, the quality of the final movie is greatly affected by what compression you use when converting the FPS1-encoded capture AVI to a distributable format. If you don't consider lossiness here it will of course not matter how well the capture tool performed.

Sinceramente non penso che i programmi che menzioni siano generalmente così cattivi, ma necessitano di una configurazione prima che si comportino in modo ottimale insieme al tuo gioco specifico.


Salvare ogni singolo fotogramma in PNG probabilmente non è una buona idea se hai già problemi con la velocità. Probabilmente consumerebbe più tempo su CPU e disco perché avrebbe bisogno di archiviare ogni frame con tutte le sue informazioni. Durante la codifica e la memorizzazione di un film, molti codificatori utilizzano un numero di fotogrammi chiave che sono completi e consentono ai fotogrammi successivi dopo di essi di essere definiti come la differenza tra un fotogramma e l'altro. Questa può essere un'enorme riduzione delle dimensioni, ma non ti consente di estrarre un fotogramma e leggerlo senza il fotogramma chiave.

Non solo la dimensione di ciascun fotogramma sarà maggiore se si tenta di scaricarli in file separati, ma si otterrà anche un sovraccarico dall'accesso al file stesso. Questo perché è necessario aprire un nuovo handle di file per ogni fotogramma anziché trattenerlo e eseguire lo streaming su un file come nel caso del film.

La tua scommessa migliore è ancora con la registrazione di un film senza perdita di dati e l'estrazione dei fotogrammi da esso, O per catturare un numero finito di fotogrammi come schermate durante la riproduzione.


Fraps ha anche una modalità di registrazione senza perdite. Ovviamente, richiede ancora più throughput del disco e RAM. Se acquisti la versione completa (che raccomando) il logo e il limite di tempo scompaiono.
BRaffle

Perché dovrei estrarre i frame? Voglio tutti i frame! @Banana So che Fraps ha la modalità lossless, è la modalità che ho menzionato che fa rallentare Fraps e fa diventare il gioco instabile (apparentemente Fraps quando lento invece di far cadere i frame rallenta in qualche modo il gioco)
speeder

Ok, certo, ma il mio punto è che ottieni ancora meno velocità se provi a scaricare ogni fotogramma su singoli file di immagine.
Staffan E

2

Devices like these are super cheap, and I bet you can get a hold of a second computer to run it on (it doesn't need anything special) so you can capture your game from your game running machine (be sure to have a computer with S-Video out for this cheap version). There is also something like this for higher quality capture - http://www.blackmagic-design.com/products/intensity/ but requires USB 3 and is more expensive, but you can capture HDMI and higher resolution. I really see no better option than either of these two.


1

I've used Windows Media Encoder a couple of times to record videos of my games and tools - it's free and produdes good quality videos.

Although, I've wondered the same question too, because recording a video is only half the process (if that). The other half is editing it, adding effects, etc. Windows Movie Maker kinda works but it's fairly simplistic... and crashy.


because recording a video is only half the process Good point i am aswell wondering that as stated on the comment of the initial question...
Prix

1

If on Windows, record using PlayClaw if you want a game video without barely slowing down your computer. On Linux you have glc.



1

Basically, the issues were:

Quality on a vector-based game. CPU amount taken. I/O bottleneck.

What software to use for editing.

To solve quality, I needed a lossless codec, or no compression. The lesser the compression, the more I would have I/O problems, but the more CPU I took, the more I would have CPU problems (doh).

The solution, was use a RamDrive to solve the I/O bottleneck, thus now I was left mostly with how much CPU I wanted to take (ie: the smallest as possible). Thus theoretically the best would be no compression at all, but no compression at all on a ramdrive hit space available problems...

So I researched, and found that the fastest lossless codec (don't matter how much it actually compress), and it was CamStudio Lossless

The software I used, was VirtualDub (CamStudio itself cannot capture the window contents, it capture the entire window, thus wasting space).

Now editing software: Well, noone here gave a good awnser, and neither I will do, but other lists can be found in other places.


3
I notice that you uploaded your video to Youtube. Note that Youtube reencodes all videos in H.264, so after all this hand-waving you ended up using a lossy codec anyways.
BlueRaja - Danny Pflughoeft

0

You might want to try vnc2flv, but it won't do audio itself (you can add in an audio track later though). Not sure if your CPU will hate you trying to do realtime FLV encoding alongside a running game though.


0

It probably sounds obvious, but... Don't full-screen your game while you're recording the video otherwise it will 'obviously' be incredibly slow because it captures your screen resolution. I'm guessing this is what you're being bit by.

FRAPS will take care of this just fine. So will many others but I found FRAPS the most convenient and easiest to use.

I used FRAPS to record and Windows Movie Maker to put together some maps I made in Starcraft II -- example.


Actually... I don't even tried in fullscreen, all my tests was in windowed mode.
speeder

0

Here's what I've done in the past to make video-only trailers:

  1. Make your game runnable with a fixed time step. That means passing in the time between now and the last frame explicitly rather than calculating it internally to your game loop.
  2. After rendering a frame, dump it out to a lossless picture format such as .tiff with the frame number as its name. This makes it easy for another app to encode a series of pictures into a movie.
  3. Dump into the appropriate video encoder (I wrote a simple one using DirectShow) to convert to .avi or whatever video format you want.

0

the best way is make your game self recordable. Easy way is just save every frame with fixed framerate. With SSD it takes "no" time. Harder way is to make your own "fraps". If You do it. You can directly communicate with your game.


0

I've made a trailer recently for my game. I was somewhat helped by the engine, that allows for screenshots fast enough to actually animate. What I did:

  • Although I did not fixed the framerate, the captures were made at fixed intervals, 25 per second. I recorded my game session, which generated thousands of images on the drive.
  • I then imported these images into a clip in kdenlive
  • Added some titles, music, logos, fades in and fades out to give it a more pleasant look

Actually capturing the images directly meant that I could not get the sounds from the game, but got a much better quality of images. Adding some music more than made up for it.


-6

If you have two PCs use skype's screen sharing feature. Play the game in one PC then use the other to capture the video. This way you won't affect your game and resources won't be scarce for the video capture program.

Conversely you can buy a video capture card for your PC.


wut... .. . . .
David McGraw

3
Skype can't magically send video without encoding it, which is what will take the CPU time away from the program.

1
This is the worst idea I've ever seen.
Mathias Lykkegaard Lorenzen
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.