Pierwszy wpis i moje początki

Witam na moim blogu!

Od jakiegoś czasu myślałem o założeniu bloga o programowaniu. I oto jest!

Pierwszy wpis!

Kim jestem?

Jestem programistą z ponad 2 letnim komercyjnym doświadczeniem zawodowym w tworzeniu aplikacji mobilnych na system Android.
Swoje pierwsze kroki z programowaniem stawiałem w roku 2007, gdy miałem 14 lat.

Kiedyś przypadkiem trafiłem na stronę warsztat.gd, na której każdy mógł umieścić swoją grę.
Też chciałem to zrobić, więc zacząłem szukać materiałów i także na tej samej stronie znalazłem megatutorial Od zera do gier kodera autorstwa Karola Kuczmarskiego.
To z niego nauczyłem się podstaw programowania. Wiedziałem także, że chcę pisać swoje gry.

Początki jednak nie były spektakularne, tak bardzo jakby się chciało 😉

Moje projekty

Przedstawię kilka swoich większych i mniejszych projektów. Głównie te z początków mojej przygody programowaniem.

Kalkulator

Pierwszym ciekawym programem jaki stworzyłem był oto taki prosty kalkulator umożliwiający podstawowe operacje na liczbach podanych przez użytkownika. Proste jak Hello World 🙂

 

Pierwsza gra 2D: Moneta

Po pewnym czasie konsola przestaje wystarczać i chce się tworzyć coś z grafiką. Pierwszą biblioteką graficzną jakiej się nauczyłem było Allegro i po niedługim czasie powstała moja pierwsza gra z grafiką dwuwymiarową.

Prosta zręcznościówka polegająca na podbijaniu monety. Z czasem poziom trudności się zwiekszał (wieksza liczba monet). Graficznie nie zachwyca 😉

Druga gra 2D: Kulki

Miałem kiedyś palmtop’a z Windowsem, a na nim grę, w której rozgrywka polegała na zbijaniu kulek i dostawaniu za nie punktów. Im więcej kulek zbiło się za jednym razem tym więcej punktów się otrzymywało.
Zainspirowany tą grą stworzyłem swoją włąsną wersję.

Podobnie jak w grze z monetą, została użyta biblioteka Allegro.

 

 

Do gry potrzebne są przyciski

Co to za gra, w której nie byłoby graficznego interfejsu, a wszystko robiłoby się ruszając i klikając myszą.
Potrzeba mi było przyciskow, progresbarów i okienek!

Tak prezentowała się pierwsza wersja GUI, którą oprogramowałem:

Był progressbar, przyciski, checkbox a nawet proste okno, które dało się przesuwać!

Wyglądało to dość brzydko, jakby narysowane w Paincie, dlatego coś tam poprawiłem, pozmieniałem i powstało coś w tym stylu:

Dodatkowo zostały oprogramowane pola tekstowe i suwak:

W kolejnej wersji były dostępne animowane progressbary i ładny scrollbar:

 

Edytor mapy:

Mając proste GUI zabrałem się za tworzenie edytora mapy do mojej przyszłej gry RPG.
Edytor umożliwiał zapisywanie/wczytywanie mapy, oraz składał się z 4 warstw.

 

Proste sterowanie

W międzyczasie tworzyłem prostą mechanikę poruszania się po mapie oraz walki z białymi kotkami 🙂

Ostatecznie nic więcej z tego nie wyszło.

Moje pozostałe projekty:

Gra w życie:

Pojemność dysku (wersja konsolowa i WinAPI):

Aplikacja wyświetla informacje o pojemności dysków w komputerze i ich zajętości.

Wersja konsolowa:

WinAPI:

Generator labiryntu i wyszukiwanie drogi:

Aplikacja generowała labirynt krok po kroku po czym umożliwiała wybranie dwóch punktów i wyszukanie drogi miedzy nimi.
Napisana w C++ z użyciem biblioteki SFML.

 

Własny system operacyjny – HarryOS

Ciekawiło mnie jak działają komputery i systemy operacyjny, dlatego zagłębiłem się w to zagadnienie i kiedyś próbowałem napisać własny system operacyjny:

 

Bardzo skromnie, w zasadzie działało tylko pare poleceń widocznych na zrzucie ekranu a system uruchamiał się z dyskietki 🙂

Aby uprościć sobie tworzenie obrazu dyskietki stworzyłem sobie aplikację w C++ i GTK, która ułatwiała mi nagrywanie plików bezpośrednio na dyskietkę:

Co teraz?

Od ponad 2 lat pracuję jako programista aplikacji mobilnych i w dalszym ciągu planuję to robić, więc można się spodziewać, że pojawią się wpisy na tym blogu nawiązujące do tej platformy i tego jakie trudności może sprawiać tworzenie oprogramowania na nią.
Chcę dzielić się problemami jakie napotykam podczas pracy nad swoimi projektami oraz krok po kroku je rozwiązywać. Nie wykluczone, że pojawią się także jakieś proste poradniki 🙂
Mam nadzieję, że komuś w przyszłości pomogą te wpisy 😉

A co dalej?

Może wpisy o tworzeniu własnego systemu operacyjnego, może o tym jak stworzyć własną wirtualną maszynę, zobaczymy… Co będzie dalej okaże się, jak już to nastąpi 🙂