AGE

Aquila Game Engine z założenia ma udostępnić funkcje i klasy dzięki którym tworzenie gry będzie proste i intuicyjne. Dodatkowym założeniem tego projektu jest autentyczny brak projektu ;) Postanowiłem po prostu napisać coś takiego, włączyłem IDE i po prostu zacząłem pisać. Oczywiście czasem warto było się zastanowić nad tym w jaki sposób dana część ma działać i jak by było najlepiej, ale to było raczej ogólne pojęcie odnośnie tego jak ma wyglądać efekt końcowy.

Poniżej wypisane są najważniejsze rzeczy które potrafi AGE:

  • Obsługa I/O
    • Sprawdzanie czy dany klawisz jest wciśnięty [keyDown]
    • Sprawdzanie czy dany klawisz został wciśnięty [keyPressed]
    • Możliwość włączenia/wyłączenia obsługi klawiatury i gryzonia
    • Odczytywanie pozycji, stanu przycisków oraz offsetu przesunięcia myszy
  • Dźwięk [ biblioteka Audiere ]
    • Ładowanie i odtwarzanie dźwięków
    • Ustawianie głośności dźwięku
    • Ustawianie wysokości dźwięku [Pitch]
    • Inne ‘rzeczy’ podstawowe i niezbędne przy dźwiękach
  • Grafika [ Direct Graphics ]
    • Ładowanie tekstur
    • Tworzenie pustych tekstur o dowolnych rozmiarach
    • Dostęp bezpośrednio do pikseli tekstur
    • Wyświetlanie sprite’ów (także tylko części sprite’a)
    • Ogsługa przezroczystości z plików graficznych (np PNG)
    • Animowanie sprite’ów
    • Rysowanie prymitywów (linie, prostokąty ; wypełnione lub tylko outline)
    • Wyświetlanie tekstu [bitmap font i D3DXFont]
    • System cząsteczkowy
    • GUI
      • Okna
      • Przyciski
      • Track Bar
      • Check Box
      • Edit Box
      • Akcje obsługiwane za pomocą delegatów
      • Możliwość napisania GUI w pliku zewnętrzny w odpowiednim formacie i późniejszego wczytania GUI
  • Fizyka
    • Wykrywanie kolizji między obiektami na scenie [SAT]
  • Sieć
    • Prosta obsługa protokołu UDP
  • Dodatki
    • Możliwość stworzenia pliku opisującego gdzie znajdują się zasoby na dysku i późniejsze wczytanie zasobów za pomocą tego pliku
    • Konsola
    • Możliwość dodawania własnych komend do Konsoli
    • Możliwość robienia zrzutów ekranu
    • Możliwość wczytania czcionki systemowej oraz - co bardziej przydatne - czcionki z pliku TTF
    • Kilka dodatkowych funkcji matematycznych
    • Możliwość tworzenia nowych wątków ( przez subclassing ageThread)

Odpowiedzi: 7 do “AGE”

  1. nameczanin mówi:

    Co to znaczy “Prosta obsługa protokołu UDP”? :> Poza tym - to tylko na Windows? :)

  2. moriturius mówi:

    @Nameczanin: prosta obsluga UDP to zwykla obsluga UDP, ale jako ze to UDP dlatego jest prosta :D

    I niestety tak - jest tylko na Windowsa. Prawdę mówiąc zaczynając to wszystko, w ogóle nie przypuszczałem, że się aż tak rozwinie :P Dlatego tym bardziej nie zakładałem multiplatformowości ^^

  3. b.YISK mówi:

    “prosta obsluga UDP to zwykla obsluga UDP, ale jako ze to UDP dlatego jest prosta ”

    Masz znakomite poczucie humoru :)

  4. moriturius mówi:

    @b.YISK: thx ;)

  5. Theres mówi:

    Ja mam pytanie troche z innej beczki:
    jaka jest licencja tego silniczka i czy można go gdzieś pobrać (szczególnie to tego nie szukałem więc nie bijcie jak gdzieś jest do tego wielki banner ;-) ). Pytam dlatego że przydało by mi sie coś takiego tylko pod OGL’a (siedze na linuxie, Direct odpada) a nie chce mi sie wszystkiego pisać od podstaw… Z góry dzięki za info ;)

  6. moriturius mówi:

    @Theres: niestety, AGE znajduje się tylko u mnie na dysku - na dodatek niecałkiem skończone ^^ nie było jeszcze żadnej wersji release więc także nie zastanawiałem się nad licencją ^^

    Niestety, jeśli poszukujesz tego pod OpenGL AGE się nie nadaje ponieważ działa tylko na Visual Studio z DX-em ^^
    VS - głównie dlatego, że używałem wszędzie “#pragma once”, ale gdyby to poprawić to mogłoby nawet działać ^^

    O wersji OGL pod linuksa też myślałem już, prawdę mówiąc głównie przez AGE mam w tej chwili 2 systemy operacyjne :)

  7. Theres mówi:

    No nic, szkoda troche. Gdybyś robił jakiegoś forka tego na OGL’a to daj znać, na maila najlepiej :) Trzymam kciuki za projekt ;D
    PZDR ;)

Napisz odpowiedź