GithubHelp home page GithubHelp logo

find-puppy's Introduction

FindPuppy: A Game of Survival and Cuteness 🐶

Image 1 Image 2 Image 3

🕷️ Imagine being stranded in a desolate field, where the wind whispers secrets in your ear and the shadows writhe like living things...

The voices are closing in, their whispers growing louder, and you're not sure what's lurking just out of sight...

BUT THEN, you hear it - a faint, mournful whimpering in the distance, like the cry of a lost soul...

Your heart skips a beat as you realize you're not alone...

There's a puppy out there... and it's calling to you...

Find Puppy 🐶 is a haunting Android game that will test your courage and challenge your perceptions. So, take a deep breath, steel yourself, and venture into the unknown.

The puppy is waiting... but for how long?


Find Puppy 🐶

FindPuppy is a 2D Android game built using Kotlin and Jetpack Compose. The game takes place in a grid-based field, where the player must navigate to find a puppy while avoiding unknown dangers.

Gameplay Mechanics:

  • The player starts in the center of the field and can move in four directions (up, down, left, right).
  • The game generates a random puppy location and unknown dangers (enemies) in the field.
  • The player receives audio cues (whispers) and vibration indicating the direction of the puppy and enemies.
  • The player must use their wits to navigate the field, avoiding enemies and finding the puppy before it's too late.

Technical Features:

  • Built using Kotlin and Jetpack Compose for a Android devices.
  • Grid-based 16x16 field generation.
  • Audio cues, sound effects and vibration for an immersive experience.
  • Simple yet challenging gameplay mechanics for a fun and engaging experience.

The Samsung IT School 🎓

I'm excited to share that I've completed the Samsung IT School program, graduating on June 2023!

As part of the program, I developed a this game, which I presented to the class using this presentation.

I'm proud to say that I not only completed the program, but I also received a Graduation Diploma for my hard work and dedication (just look at this):

Image 1 Image 2

It was an incredible experience, and I'm grateful for the opportunity to have learned from such institution.

find-puppy's People

Contributors

alexsh3v avatar

Watchers

 avatar

find-puppy's Issues

java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.alexsh3v.findpuppy.game.Cell)

After app loses focus it crashes with this error:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.alexsh3v.findpuppy, PID: 8341
    java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.alexsh3v.findpuppy.game.Cell)
        at android.os.Parcel.writeSerializable(Parcel.java:1717)
        at android.os.Parcel.writeValue(Parcel.java:1665)
        at android.os.Parcel.writeList(Parcel.java:966)
        at android.os.Parcel.writeValue(Parcel.java:1614)
        at android.os.Parcel.writeList(Parcel.java:966)
        at android.os.Parcel.writeValue(Parcel.java:1614)
        at android.os.Parcel.writeList(Parcel.java:966)
        at android.os.Parcel.writeValue(Parcel.java:1614)
        at android.os.Parcel.writeArrayMapInternal(Parcel.java:878)
        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1588)
        at android.os.Bundle.writeToParcel(Bundle.java:1233)
        at android.os.Parcel.writeBundle(Parcel.java:918)
        at android.os.Parcel.writeValue(Parcel.java:1583)
        at android.os.Parcel.writeArrayMapInternal(Parcel.java:878)
        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1588)
        at android.os.Bundle.writeToParcel(Bundle.java:1233)
        at android.os.Parcel.writeBundle(Parcel.java:918)
        at android.os.Parcel.writeValue(Parcel.java:1583)
        at android.os.Parcel.writeArrayMapInternal(Parcel.java:878)
        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1588)
        at android.os.Bundle.writeToParcel(Bundle.java:1233)
        at android.os.Parcel.writeBundle(Parcel.java:918)
        at android.os.Parcel.writeValue(Parcel.java:1583)
        at android.os.Parcel.writeArrayMapInternal(Parcel.java:878)
        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1588)
        at android.os.Bundle.writeToParcel(Bundle.java:1233)
        at android.app.IActivityManager$Stub$Proxy.activityStopped(IActivityManager.java:3914)
        at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:144)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:201)
        at android.app.ActivityThread.main(ActivityThread.java:6806)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
     Caused by: java.io.NotSerializableException: kotlinx.coroutines.flow.StateFlowImpl
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1240)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
        at android.os.Parcel.writeSerializable(Parcel.java:1712)
        at android.os.Parcel.writeValue(Parcel.java:1665) 
        at android.os.Parcel.writeList(Parcel.java:966) 
        at android.os.Parcel.writeValue(Parcel.java:1614) 
        at android.os.Parcel.writeList(Parcel.java:966) 
        at android.os.Parcel.writeValue(Parcel.java:1614) 
        at android.os.Parcel.writeList(Parcel.java:966) 
        at android.os.Parcel.writeValue(Parcel.java:1614) 
        at android.os.Parcel.writeArrayMapInternal(Parcel.java:878) 
        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1588) 
        at android.os.Bundle.writeToParcel(Bundle.java:1233) 
        at android.os.Parcel.writeBundle(Parcel.java:918) 
        at android.os.Parcel.writeValue(Parcel.java:1583) 
        at android.os.Parcel.writeArrayMapInternal(Parcel.java:878) 
        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1588) 
        at android.os.Bundle.writeToParcel(Bundle.java:1233) 
        at android.os.Parcel.writeBundle(Parcel.java:918) 
        at android.os.Parcel.writeValue(Parcel.java:1583) 
        at android.os.Parcel.writeArrayMapInternal(Parcel.java:878) 
        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1588) 
        at android.os.Bundle.writeToParcel(Bundle.java:1233) 
        at android.os.Parcel.writeBundle(Parcel.java:918) 
        at android.os.Parcel.writeValue(Parcel.java:1583) 
        at android.os.Parcel.writeArrayMapInternal(Parcel.java:878) 
        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1588) 
        at android.os.Bundle.writeToParcel(Bundle.java:1233) 
        at android.app.IActivityManager$Stub$Proxy.activityStopped(IActivityManager.java:3914) 
        at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:144) 
        at android.os.Handler.handleCallback(Handler.java:873) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:201) 
        at android.app.ActivityThread.main(ActivityThread.java:6806) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) 
I/Process: Sending signal. PID: 8341 SIG: 9

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.