Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Sophie Houlden

A member registered Mar 27, 2013 · View creator page →

Creator of

Recent community posts

That actually looks pretty solid, I'll probably do something similar in a future version. Thanks for the heads-up :)

I don't have any plans to run another Tomb Raider jam, but if you want me to extend the deadline again I can keep it going for longer :)

You can absolutely do that! Make the game you want to make! :)

I've extended the jam an extra month, right now it will end mid-January, so you don't have to worry about hustling if you'd rather be enjoying holidays/new years :)

For WebGL: I have no idea how gamepad support works with unity webgl builds! According to the docs it seems it's the same as standalone builds so I think Sinput should work, but if not let me know and I'll try and figure it out :)

Wow I totally missed this thread, sorry!

For console: it will work. You'll need to set up common mappings for the console's gamepads but that should be straightforward.

However you should keep in mind that Sinput only wraps the Unity Input systems, it doesn't add any new functionality so if you want rumble/motion control/touchpad input/etc, Sinput isn't going to be able to manage. For that I'd hope the console you're developing for provides their own libraries? tbh I'm not sure about the specifics, the only console I've actually published a game on was OUYA :P

If you need any help I'll do what I can (just get in touch via twitter or email if it's urgent, apparently I miss forum posts for a long time :P) but I may have limits to how much I can help as I'm not a registered developer for most consoles.

(1 edit)

I've not made a repository before and tbh I'm a little hesitant about it all, but I've tried to set one up here anyway:

It currently has some changes/additions that are going to be in the Sinput_F version, mostly XR stuff.

Plz let me know if I'm doing something super wrong or whatever, and if you figure out what is generating the junk I'd appreciate it. I have done a few passes to minimise that but it's been a while and there's always gonna be stuff I don't know about optimisation ^_^;

edit: oh and I just pushed a change to fix the getslotpress bug, thx!

I love these!

(1 edit)

The Important Rule:

The only real rule is: "Don't be hurtful or harmful", breaking this rule will get you banned.

Now for the FAQ:

What should/can I make for this jam?

Anything you want. All types of work will be accepted; games, comics, poems, cosplay, recipes, whatever you're inspired to make is fine.

Will there be a winner/scoring/prizes?

No to all of that. This is a relaxed non-competitive jam. Unless you want to compete with a friend or whatever, but you'll have to arrange that between yourselves :)

When is the jam?

Submissions are open from 15th October until 15th December, but if you need me to extend the deadline I probably will. The jam can be extended for as long as needed really, so long as moderating it doesn't become too much work for me :)

Can I start work early?

Yes! If you want to get started before the jam starts accepting submissions then that is super cool!

Do I have to work solo or can we work as a team?

You can work however you want! If you're looking for people to work with then check out the 'Team-up!' community category, or ask around on Twitter using #TombRaiderJam.

Where can I post my progress?

You can share your progress during the jam here. (or anywhere else on the internet, but I can't really make sure people commenting elsewhere are following the important rule, sorry)

Can I use Tomb Raider IP?

Legally? Probably not. This is a game jam organised by and for fans of Tomb Raider. We're basically making fan-art here. If you're going to be selling or accepting tips for whatever you make I'd recommend thinking twice before using any Tomb Raider intellectual property.

If you have any other questions, ask below. Good luck with the jam, I hope you have fun!

Sorry for the slow reply!

Your Dualshock 4 ~should~ work, but if your pad identifies as something different to mine, it will default to xbox mapping. And if your driver maps differently, it will have incorrect mapping by default.

If you check the GamepadTesting scene (in the Utilities folder) and see what name the gamepad is listed as, you can check the PS4_osx common mapping and see if the name is listed. If not, add it to the list of gamepad names and assuming the mapping is the same, it will work.

If the name is different or you need to make different mapping for it, please let me know (and maybe send me your common mapping asset) and I can include it in future versions :)

hope this helps!

Most of the terms for smart controls are equivalent to input axis settings, for clarification:

  • Deadzone - values of smaller magnitude aren't returned
  • Gravity - how quickly the value moves to 0
  • Speed - how quickly the value moves towards it's raw input value
  • Snap - if the raw input value is positive and the current value is negative, snaps to zero (and vice-versa)
  • Scale - any returned value gets multiplied by this
  • Invert - if true returned values are multiplied by -1

Sounds like you figured it out but for anyone reading this later; normalClip means a GetVector() call won't return a vector with a magnitude of more than 1 - this is just so you don't get issues where players will travel faster if they press up and right on a keyboard (or whatever).

The GetVector behaviour could do with some work to improve it in this regard I think, maybe 2-dimensional SmartControls?  Anyway if there's any other terms you think need explanation let me know and I'll add them to the documentation or something, I'm pretty blind to what isn't apparent since I often pick terms that make sense to me, and they don't make sense to everyone else...

You're not missing anything, modifiers are definitely on my to-do list but they aren't implemented yet, sorry!

That's all!

If you have any questions, suggestions, requests, or anything at all to say:

And if you just want to tell me I'm awesome, consider doing it with money on my patreon ;) <3

(1 edit)

Saving custom binding is definitely another area I need to look at. Not even all of the important settings are saved in the current version (bindings are, but not toggles/inverts/sensitivity/scaling)

I do have plans for alternative options to player prefs and I've even coded other save systems that I could probably pull into Sinput with very little work.

Update: Sinput now saves all of it's settings as well as custom binding, and on PC it writes to a file instead of Player Prefs too. :)

Hey arvz!

The idea is that eventually you will be able to call LoadControlScheme() passing the name of your scheme or a reference to the scheme asset. Right now tho, as you've noticed the whole initialisation process is... kind of a mess and inefficient too.

Looking into the initialisation process and being able to swap various control schemes are big parts of my priority to-do list but I don't know when they will be done. ngl they are kind of daunting and I can't remember enough off the top of my head about how either works right now to be able to tell you what would be a good way to hack what you want (sorry!)

hopefully I'll get them done soon but for the time being sub-optimal messy rubbish is the best option (and heads-up if you do have multiple control schemes now, player custom bindings for them are probably not gonna be saved reliably)

aaaaaaah I wish this bit worked for you but it's just one of the little corners of the system that hasn't been worked on enough yet ^_^;

(4 edits)

Common Mappings

How common mappings work

Common mappingsare located at Sinput/Resources/CommonMappings in your project, and for the most part, you can ignore them.

Common mappings are assets that describe button/axis mapping for various gamepads on various operating systems. Sinput will try to check all of these for matches with connected gamepads to maximise the possibility of a gamepad working without a player having to set up custom binding. This is going to fail sometimes, but so long as you give players the opportunity to rebind their controls they will still be able to use any gamepad that unity can detect to play your game.

You can make new common mappings for gamepads that sinput does not yet support so that those gamepads will work out-of-the-box with your game.

If you do make new common mappings, please consider sending them to me so I can include them in future versions of Sinput :)

Pad matching process

Pad matching is determined by operating system, gamepad name, partial name, and whether the common mapping is a default.

A common mapping is used for a gamepad if they match, the priority for matching is determined by;

  1. An exact name match from the names list.
  2. The gamepad name contains a match from the partial names list.
  3. The common mapping is marked as default.

It will never match if the operating system running the game doesn't match the common mapping.

Button setup

In this tab, you match up common gamepad inputs to the button indices that unity detects, and provide a display name. 

Axis setup

In this tab you match each of the gamepads axis to common gamepad inputs, and specify how the gamepad axis behaves (clamping, inverting, how far the axis value needs to go to count as a 'press' when treated like a button).

Generally, for most axis you are going to want a setting that will give a value of 0 when resting, and goes to 1 when fully pressed/moved. And for inputs like LSTICK_LEFT where the value for the full left stick's X range is -1 to 1, you will want to clamp it.

Gamepad Debug scene

Included in the project at Sinput/Utilities is a scene to help debug gamepads, it uses displays the full state of all connected gamepads, I use this when building the common mapping for a gamepad - you can identify which buttons/axis are which, and the value ranges of different axis.

Honestly it's pretty confusing to set up mappings from this, but you'll know if you get it right if your gamepad works to play the game without having to set any custom binding in-game.

(5 edits)

Virtual Inputs

Virtual Input Explanation

Virtual inputs are for anything that isn’t a keyboard, mouse or a gamepad that you want Sinput to check. Just add a virtual input to a control, and then you can set it’s values from inside your scripts using these SinputSystems.VirtualInputs functions;

SetVirtualAxis(), SetVirtualButton(), SetDeltaPreference()

Setting an axis value will automatically set the virtual input’s button state, and vice-versa.

Touch Controls

Sinput includes prefabs for touchscreen buttons and analogue sticks, you can find these in the TouchControls folder.

The touch control prefabs require minimal setup; just specify which virtual inputs they effect, and make sure you have listed those virtual inputs in your control scheme.

(3 edits)


Rebinding scene explanation

Sinput includes a scene that can be included in your game to let players rebind their controls, You will need to handle loading the scene from your game, and deciding what happens when the 'Quit' button is used.

Honestly, this is system kind of a mess behind the scenes so if you want to study it in order to make your own rebinding interface you might have trouble if you aren't familiar with how Sinput works internally. I'm working on simplifying it but for now, this is it (sorry).

If you have any feedback on this scene or what it's like to integrate, please let me know! I think every game should let players rebind their controls so if I can do anything to make it easier for you to include this I'd love to know :)

Rebind Menu Settings

You can specify extra settings which appear at the top of the rebind menu with the RebindMenuSettings asset (select via the menu with Sinput > Rebind Menu Settings). You can use this to expose overall mouse sensitivity, which controls can be set as toggling, which smart controls can be inverted, and create sensitivities for groups of smart controls (e.g; You can create a "Look" sensitivity which effects both "Look Vertical" and "Look Horizontal").

You can also just disable these settings entirely if they are not applicable to your game (but I would strongly recommend you consider what might be useful to your players, these features can make a difference for how accessible your game is to play).

(4 edits)


Basic Functions

GetButton(), GetButtonDown(), GetButtonUp()

These work just like the regular unity input button checks, but they can be used reliably for analogue inputs and not just buttons.

GetAxis(), GetAxisRaw()

Again, these work just like you would expect. And work for inputs with analogue or binary values.


Performs several GetAxis() checks returns the results in a vector. Just a time saver for you really

eg; movementInput = Sinput.GetVector("Horizontal", Vertical");

Multiplayer Input

For every input check, you can optionally pass an InputDeviceSlot value, by default this will be the 'any' slot which checks ALL devices, which is ideal for single player games. But if you want only input from the 2nd gamepad, or just the mouse, you use those slots to filter your input checks.

This means you can simply code multiplayer input by having a single player script, where the instances just have a different slot to check.

To get a player's slot, I recommend using:


This works just like GetButtonDown() but instead of returning true or false, it will return the InputDeviceSlot of whichever player pressed the control. You can use this for things like a 'Press A to join!' screen. If there are no presses this frame, it will just return the 'any' slot.

Menu Inputs

Sinput has some functions to make quality menu navigation easier to code:


This will return true when a button press is detected, and if the button remains held long enough, the function will begin to return true again periodically. This means you can make menus where players can hold a button down to keep scrolling, but it won't start scrolling too soon. You can set how long the wait before repeating and how long between each repeat is with Sinput.buttonRepeatWait and Sinput.buttonRepeat.


This will reset all controls (or just controls for a specified slot) for a time, and all Sinput checks will return false or 0 until that time has passed. You can pass 0 if you want to reset inputs for just the one frame like the usual Input.ResetInputs()

You should call this whenever you detect a menu item selection to prevent the player from unintentionally making more selections too quickly.

Toggle Controls

SetToggle(), GetToggle()

Any Sinput control can be set to have toggle behaviour, which makes it so GetButtonChecks will behave as though the control is pressed even after it is actually released, and until it is actually pressed again. You can use this to make it so controls that would otherwise need to be held down (eg crouch) can be instead toggled on/off by the player.

I would strongly advise you expose this option to your players for any control that might need holding for a prolonged period; some players can't press a lot of buttons at once, some may find it strenuous to hold a button, and most keyboards don't support too many buttons being held at once anyway so if you're porting gamepad code it's worth keeping in mind.

If you have a control that may or may not be a toogle and you need the actual value, you can use these functions;

GetButtonRaw(), GetButtonDownRaw(), GetButtonUpRaw()

GetButtonDownRepeating() doesn't have a 'Raw()' equivalent because it ignores a control's toggle setting (I can't think of a good reason it should, if you think adding this behaviour is worthwhile let me know!).


You can set the overall mouse sensitivity that Sinput uses simply by assigning it;

Sinput.mouseSensitivty = 0.5f; //makes mouse movement half as sensitive

In addition to that, you can use the following functions to set the scaling of smart controls (note: this won't work for regular controls).

SetScale(), GetScale()

It's worth keeping in mind, all axis values returned by a smart control will be multiplied buy it's scale, including mouse movement which may have already been scaled by the mouseSensitivity setting. (I'm not sure if this is ideal and I'm still thinking on a better system)

Axis inversion

Smart controls (again, not regular controls) can have their axis values inverted simply using;

SetInverted(), GetInverted()

Framerate Independent Inputs

This one is a little tricky to explain, but put simply, some GetAxis() values you might want to multiply by Time.deltaTime (eg buttons, gamepad sticks), but others you do not (mouse movement).

As an example, think of aiming in first person, an analogue stick in one place will return a constant value every frame - you can multiply this value by deltaTime and turn the first-person view by that much. It doesn't matter if the framerate (and therefore, the deltaTime) fluctuate.

But if you try to do this with mouse input it could be significantly less precise depending on how consistent the framerate is - you will want to turn the first-person view by exactly how much the mouse was moved without the framerate being an influence.

For the most-part, you should be able to get by without worrying, just use Sinput to check a control and you won't have to worry if the value is coming from a mouse, a gamepad, or a keyboard - but for important things like first-person aiming or moving an in-game mouse pointer you will notice (or at least, you'll feel) that the controls are a little off if you don't have separate behaviour in your scripts for these different types of controls.

For that purpose;


If this function returns false for a control, that means any GetAxis() value for that control should NOT be multiplied by Time.deltaTime this frame. (I specify this frame, because the player might switch to gamepad control the next, or maybe they are using both. Sinput is hecka versatile you know ;p)

(9 edits)


Import Package

The first step is to import the Sinput package into unity, do this by opening the package with your project open or going through the unity menu: [ Assets > Import Package > Custom Package... ]

Once you have opened the package, click Import. You can disable the Examples, Utilities, and TouchControls  folders if you want, Sinput will work fine without them.

Fix Unity Inputs

To work, Sinput expects Unity's own input manager to be set up a certain way, you can quickly do this by selecting [ Sinput > Generate Unity Inputs ] in the menu.

Set Up Control Scheme

Sinput's default control scheme largely mirrors Unity's default input axis setup, but if/when you need to set up your own controls, select [ Sinput > Select Control Scheme ] from the menu. If there is no default control scheme asset, selecting this will create one and select it.

Sinput controls can be thought of like unity input axis; each can have a several inputs, and a name that can be checked in code to get the status of those inputs.

The main differences are;

  1. You don't have to worry about slots
  2. You can have as many inputs as you want bound to a control
  3. When setting gamepad inputs, you set specific buttons and not ambiguous 'button 3' 'axis 5' etc
  4. Controls have no smoothing and their axis values are (ideally) in the range of 0 - 1 because,
  5. Smart Controls do input smoothing for you, and each takes a 'positive' and 'negative' control name

Smart Controls generally behave exactly the same as an Input manager axis with the same settings, so if you're used to setting up those then you should be alright with Sinput smart controls.

You might want to set up "Horizontal" or "Vertical" type controls instead of Smart Controls, but having distinct Up/Down/Left/Right Controls means that they can be rebound simply in whatever way a player prefers, so I'd advise sticking with this kind of set-up :)

UI Input Module

If you want Sinput to be able to navigate your canvas-based UI, replace and "Standalone Input Module" components in your scenes with "Standalone Sinput Module" from the Sinput/Scripts folder.

Sinput community · Created a new topic Documentation
(17 edits)

Hi, Here's the documentation for Sinput (version 2018_H).

If you prefer video documentation, most of this is covered in this youtube playlist: Sinput Introductory Tutorials.


  • Setup
    • Import package
    • Fix unity inputs
    • Set up control scheme
    • UI Input Module
  • Usage
    • Basic Functions
    • Multiplayer Input
    • Menu Inputs
    • Toggle Controls
    • Sensitivity/Scaling
    • Axis Inversion
    • Framerate independent inputs
  • Rebinding
    • Rebinding scene explanation
    • Rebind Menu Settings
  • Virtual Inputs
    • Virtual Input Explanation
    • Touch Controls
  • Common Mappings
    • How common mappings work
    • Pad matching process
    • Button setup
    • Axis setup
    • Gamepad Debug scene

You're welcome to submit a game in any language so if you would prefer to make it French that is OK :)

For the most part, your meaning is clear so you don't need to change it I think, but if you really do want the English corrections I'll do my best:

- - -

White King: ... I'm afraid yes so...

B.K.: You don't won't move ? Fine, as you wish. Coward.

W.K.: I can't hide anything to from you I suppose...  Well, good luck getting through the whole board without walking stepping on one of my little gifts ! Hehehehehe !

B.K.: ... Just wait and watch, I'm going to kick your coward's ass, coward !

*B.K: So... At least I can hear them ticking... If I concentrate enough I should at least know how many mines are around each cases (I'm not exactly sure what you mean here, perhaps "square" or "tile" or "place"? regardless, the main issue is when saying "each _____", the ____ should not be plural)...

"B.K.: I warn you, don't expect any kindness from I me.

B.K.: I'm not going to die now, all of my men count on me and my dear Queen... I owe them to defeat you(I'd say either "I owe it to them to defeat you!" or "I owe them your defeat!" The first is how most people would say it, the second is a slightly more calm/poetic way of saying it (I think it's more cool))

W.K.: Well... I've set the mines during the whole game so I'm not entirely sure of... Where they... Are... (this is fine, but "during the whole game" sounds a little odd to me after I played your game, the white king isn't doing anything during the game. perhaps you mean "across the whole board" instead? or just "I've set mines everywhere" for simplicity)

B.K.: Anything to say before I eat you just like all your former partisans ? (It's rare to use "partisan" like this, but it is not incorrect. Actually I quite like it :) )

B.K.: And so is your board ! Another land to had add to my kingdom !

B.K.: I am waiting for them, let them try ! You know pretty well how my ennemies enemies end. Enough talking. Prepare to die !

You fool, no one ever succeed such a task, and you're not going to be the first, I can swear it ! (Correct ways of saying this are "no one ever succeeds at such a task" or maybe "no one has ever succeeded such a task")

 You've eaten the White King. No one is around to celebrate with you, but you've win won !

- - -

In addition to the corrections, I should point out that in English we don't have chess pieces "Eat" one another, instead we say "take" or "capture". Do pieces "eat" one another when playing chess in France? I think that is really interesting!

also I played your game, I really like the idea :)

Wow, En passant was completely new to me too!

Looks like it was added in the 15th century, this is what I get for not reading the patch notes!

(1 edit)

The Important Rule:

The only real rule is "Don't be hurtful or harmful", breaking this rule will get you banned.

Now that's out of the way, here's the FAQ:

What should/can I make for Chess Jam?

Anything you want. It can be a game, a comic, a dance, a letter to a pen-pal, a song, anything!

I'd only suggest you take "Chess" as inspiration, whatever that means to you.

Will there be a winner/scoring/prizes?


This jam is 100% non-competitive, unless you and your friends want to decide on some kind of competition amongst yourselves.

As for prizes, you get out exactly what you put in - hopefully you make something you are proud of, or gain some skills you can use in the future. Mostly I hope you can just have a good time taking part and that's prize enough IMO :)

Is there a deadline?

Submissions are open all through April.

You are welcome to keep working on your game beyond that but you won't be able to submit new projects. (I'd keep the jam going indefinitely if I could be I don't have time to moderate never-ending jams sorry!)

Can I work on an old project?


You can work on anything even if you didn't start it during the jam.

Do I have to work solo or can I work as a team?

You can work however you want to!

If you're looking for collaborators then go to the 'Team Up!' part of the jam community.

Where can I share my progress?

I have made a category for you to post in here.

You're welcome to share your progress anywhere else but I can only enforce the important rule as a moderator here. (Tho I will be appearing in #ChessJam on twitter from time to time)

That's it, if you have any other questions, ask below.

I hope you have a wonderful time with the Jam!

I don't use discord sorry (mostly a twitter person, I'll be using "#chessjam" there I think)

If you want to start a discord channel for the jam that is cool, but I won't be able to monitor/moderate it.

I'm also setting up this forum so you can make a thread and share your progress right here if you like :)

No scoring necessary, because everyone is a winner! So yeah, this is 100% just for fun (or whatever else you find motivating/interesting).

But also, you can have 20 points for asking such a thoughtful question :D

There's a lot of obvious stuff (turn-based, variety of piece types with different movements etc) but something I really like is just how old the game is; it's literally ancient and every age we carry bits of it forward and in the end not everybody knows how or why things are the way they are, what different pieces represent or where they came from. It's basically some system of ancient magic we dig up and start screwing around with, hoping to master it (even tho realistically, it's probably beyond any of us as individuals).

I get the same feeling from a lot of other ancient games too tbh, we have rules and boards and pieces but who made them - witches? Probably.

Aaaaaah I love it! Low poly fish and affine distortion this is cool.

just some random thoughts I've had whilst poking around :)

  • conditionals/scripting in the endings just like in dialogue
  • be able to do things from dialogue like
    • travel to a place, eg {goto{roomname{x,y}}
    • swap a sprite to something else, eg  {changespr{oldspr,newspr}}
    • move a sprite or make it vanish (like a gatekeeper?)
    • move the player avatar?
    • dialogue choices maybe? (might be too fancy I dunno)
    • trigger an ending?
  • be able to rearrange tile order in the find drawing window
  • support for more non-English characters? (minor for me since I only really use Esperanto specific ones (ĉĝĥĵŝŭ/ĈĜĤĴŜŬ) and it’s common to throw Xs in to indicate them, but probably a bigger deal for folk wanting to make games in more common languages or display names with accents)
  • copy/paste support for paint window (so you can copy to an existing tile rather than make a new clone of one - useful for when you want to modify tiles that have already been placed on a map)
  • also ability to flip/rotate/translate whatever you’re painting (would be great for doing tile work)
  • the ‘for all rooms’ button seems weird, maybe name it ‘copy to all rooms’ or make it a toogle? tbh I’m not sure why a tile can be solid one room but not another, wouldn’t it be fine to have two identicle tiles and one not be solid? seems like wanting varying solidness would be pretty uncommon?
  • maybe don’t make the colors window visible by default? - I first thought it was an awkward/buggy colour selector for the paint window before I realised all pixels are just a toggle on/off
  • be able to change avatar, eg have ‘character’ and ‘character with sword’ avatars and be able to change them through dialogue when picking up a sword item (or giving it away)
  • be able to drag dialogue components (dialogue, conditionals,lists) around inside the window to re-order them

overall tho bitsy is wonderful already, I love it! Stuff like this would just be a cherry on top for me :)

Looks like it works! Thanks so much, this is a big help for me :)

Fishing Jam 2 community · Created a new topic Rules / FAQ

Basic rules:

  • Take a week, make a game about (or in some way inspired by) fishing.
  • Submission dates are October 24th-30th. But feel free to make your game anytime before or during.
  • This is a friendly fishing jam, everyone is welcome (however, being a jerk will get your welcome revoked).

General rules:

The jam is a no-pressure, non-competitive jam. If you want to start before the submission date that's fine. If you want to work in a team that's fine. If you want to spend more (or less) than a week on your game that's fine. If what you make turns out to not be a game that's fine. If what you make has barely any link to fishing that's fine.

I'll even allow games about "phishing", such is my benevolence despite having heard the pun too much during the first fishing jam :P


During the first fishing jam, people made forum threads about their ideas and shared their progress. You don't need to do that this time, but it was a lot of fun so I'm recommending using this community to do so again :)


No Questions asked yet. If you have any, comment here or tweet me @S0phieH

oh also since I'm asking, it'd be nice if the $ character was removed from all the values, otherwise I gotta delete them one by one for my spreadsheet to treat the cells as number values :)

it'd save me a bunch of time if there was a column that listed what I earned from each sale, for when it comes time to file income tax :)

In theory I could pull my usual cut from what is in the CSV, but that's still a headache for me, even if I didn't shift the open revenue sharing value around from time to time ^__^;

< Obligatory "I am not a lawyer" disclaimer />

Right, so a few people have brought up IP and copyright questions and the breakdown is this:

  • Making a game inspired by Star Trek (not using Star Trek IP)
    • Super fine, unquestionably no legal problems at all.
  • Make a game using Star Trek IP
    • Pretty much the same legality as fan art, fan fiction, etc. (Which is to say, you're probably gonna be fine unless your work ~really~ pisses off IP rights holders). It's worth keeping in mind that AFAIK Star Trek fan work has a good history of being tolerated (and sometimes even supported) by those that own Star Trek.
  • Make a game using Star Trek IP and try to sell it
    • You're almost certainly gonna piss off the copyright holders, I'd advise against this.
  • Make a game using existing Star Trek assets (recordings from a show, stills from a movie, star trek logo, etc)
    • Copyright infringement, depending on your game you may be able to argue fair use... but my advice is try to avoid arguments if you can.
Ultimately, it's up to you what you do with "Make a game inspired by Star Trek", but I think so long as we all respect the work that is inspiring us and the people who made it we'll all be fine and free to have our fun. :)

Of course, if you're still worried about the legality of making something for the jam - just make a Babylon 5 game instead ;P