Gå til innhold

Anbefalte innlegg

Stilig! Det er alltid gøy når man tar noen steg tilbake og lager noe gjenbrukbart og kjekt :)

 

Jeg ble litt nysgjerrig på eksempelprogrammet ditt også, hva er det for noe? Det så spennende ut, fortell gjerne noe om det hvis du vil (og kan).

Lenke til kommentar
Videoannonse
Annonse

Hehe, det er et prøveoppsett for en world editor til en spillmotor :) alt er ikke synlig her (animasjon og 3D rendering, ingen av dem fungerer, men er der for å vise hvordan det er tiltenkt å fungere)

 

Som man kan se, så er det først og fremst scripting som jeg har ordnet til nå, teksteditoren er laget fra bunnen av (det er en picturebox med scrollbars rundt) men støtter det meste (syntax highlighting, forskjellig bakgrunnsfarge og font) cut/copy/paste, men undo er enda uferdig, pluss at jeg har såvidt begynt på en code completion (IntelliSense aktig sak)

 

Vil ikke si så mye mer om dette, da det er en liten del av et mye større prosjekt; jeg kommer sikkert tilbake med mer informasjon om dette prosjektet senere ;)

Lenke til kommentar
  • 1 måned senere...

Vel, laget et spill i dag (begynte med det i går)

Det bruker OpenGL (Glorg) for å rendre, tenkte etterhvert legge inn et bakgrunnsbilde, litt shaders og musikk, kanskje noen 3D modeller også etterhvert.

 

Kontrollen er enkel, det er to spillere, ene styrer med WASD og mellomrom, den andre styrer med piltastene, og skyter med numpad 0

 

Den gule powerupen gjør så du skyter fortere, korset gir mere liv

 

Det jeg er interessert i er hvordan dette kjører på forskjellige skjermkort.

Jeg er klar over at visse billigmodeller av AMD (på laptopper) ofte har særdeles dårlig OpenGL støtte, så dersom det nesten ikke går rundt, er jeg interessert i hva slags skjermkort det er.

 

Den bruker sirkel kollidering, og ikke polygonkollidering, så en vil se ofte at den ikke treffer ting, men spretter av allikevel - så vet dere grunnen.

 

Utenom det; enjoy!

 

CollisionDemo.zip

Lenke til kommentar

Jeg fikk "Gave o\" omtrent :p En halv v på slutten i alle fall.

 

Jeg har en mistanke om at skriften kommer center screen, og ikke center parent :p

 

 

Edit: Jeg skjønte aldri helt hva som gjorde at den daua og hva som gjør at den bare spretter, men... Og så akselererer den jo ikke. Jeg hadde forventet at den skulle fly kjapt hvis jeg bare holdt knappen inne.

Endret av Manfred
Lenke til kommentar
  • 4 uker senere...

Har en betydelig nyere versjon av spillet nå, det viste seg at den jeg lastet opp ikke brukte Glorg (gamle versjonen brukte bare GDI+)

 

Men jeg skal slenge den nye på henningmoe.no etterhvert, må bare fikse noen flere bugs.

 

Jeg er student ved høyskolen i vestfolde (HiVE) og begynner å studere dataingentinggjør til høsten.

Lenke til kommentar
Hva lever GeirGrusom av egentlig :D? Gjør du noe annet enn å sitte på pcen? :D (Ikke negativt ment)

Skjønner ikke spørsmålet jeg!! Går det ikke an å leve av å sitte foran PC-en?

 

Jeg sitter BARE bare foran PC-en absolutt hele tiden jeg.... Gjør aldri noe annet, med mindre jeg skal bade på stranda, spise på restaurant, dra til syden , feste, etc. etc.

Pussig - noen tror en PC er et leketøy.

 

Ole

Lenke til kommentar

Jeg har lagd et lite eksempel program som tar for seg enkel GDI i form av et simpelt Pek og klikk spill. Jeg har også planer om å utvikle prosjektet videre :)

Den er lagd med Visual C# 2008 Express

 

 

 

EDIT: Det er bare brett 1 foreløpelig som fungerer, trykk på ESC for å restarte.

Endret av Gnålern
Lenke til kommentar

Jeg tenkte poste noe kode jeg bruker selv forholdsvis ofte, og som er ganske viktig i spillutvikling, nemlig en klasse som bruker high resolution timer.

 

	public class PerformanceTimer
{
	[System.Runtime.InteropServices.DllImport("kernel32")]
	private static extern bool QueryPerformanceCounter(ref long val);
	[System.Runtime.InteropServices.DllImport("kernel32")]
	private static extern bool QueryPerformanceFrequency(ref long freq);

	protected long m_old;	// Retains previous value of the performance timer
	private static long m_frequency = GetFrequency();

	/// <summary>
	/// Internal function for retrieving processor timer frequency
	/// </summary>
	/// <returns>Number of ticks per seconds specified by the processor</returns>
	private static long GetFrequency()
	{
		long val = 0;
		QueryPerformanceFrequency(ref val);
		return val;
	}

	/// <summary>
	/// Specifies if the timer has been started
	/// </summary>
	public bool Started
	{
		get
		{
			return m_old != 0;
		}
	}

	/// <summary>
	/// Holds the number of ticks per second for the processor
	/// </summary>
	public static long Frequency { get { return m_frequency; } }

	/// <summary>
	/// Resets and stops the performance timer
	/// </summary>
	public void Reset()
	{
		m_old = 0;
	}

	/// <summary>
	/// Retrieves number of ticks since last time this property was retrieved.
	/// If the timer has not been started, this property returns 0
	/// </summary>
	public long ElapsedTicks
	{
		get
		{
			long value;
			long new_val = 0;
			QueryPerformanceCounter(ref new_val);
			if (m_old == 0)
			{
				m_old = new_val;
				return 0;
			}
			value = new_val - m_old;
			m_old = new_val;
			return value;
		}
	}
	/// <summary>
	/// Retrieves number of seconds since last time this property was retrieved.
	/// If the timer has not been started, this property will return 0
	/// </summary>
	public double ElapsedSeconds
	{
		get
		{
			long value = ElapsedTicks;
			return ((double)value) / PerformanceTimer.m_frequency;
		}
	}


}
}

 

Den er ganske enkel i bruk, lag en ny instans av klassen, og hent ElapsedSeconds.

 

Et eksempel:

public static class Program
{
public static void Main()
{
	Tools.PerformanceTimer timer = new Tools.PerformanceTimer();
	double secs = 0;
	int counter = 0;
	while (true)
	{
		secs += timer.ElapsedSeconds;
		if (secs >= 1.0)
		{
			Console.WriteLine((secs + counter++).ToString(System.Globalization.NumberFormatInfo.InvariantInfo));
			secs = 0;
		}
	}
}
}

 

Denne funksjonen brukes en del i spillutvikling, på grunn av at en ikke er interessert i Timer klassen e.l. fordi disse er veldig upresise.

 

Måten å bruke dette i spill, er rett og slett å multiplisere alle bevegelser med ElapsedSeconds, så vil alle bevegelser være i enheter per sekund, og uansett hvor treg/rask brukeren har, så vil programmet heller gå i rykk og napp, fremfor at programmet henger etter.

Lenke til kommentar
  • 2 måneder senere...
Tenkte jeg skulle legge ut LifeBiz her, et lite prosjekt jeg har holdt på med en stund nå.

Er en slags livs-simulator, hvor man skal overleve, spise, jobbe, gå skole etc.

 

Hva syns?

 

Ser bra ut som prosjekt for å lære seg C#. Nytteverdien derimot er vel nærme null... :)

 

Hva i all verden er det og hvordan fungerer det?

 

Har du aldri hatt Tamagochi? LOL

 

180px-Tamagotchi_0124_ubt.jpeg

 

 

:w00t:

Endret av jorn79
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...